Visual Studio 2022中粘贴代码会自动变转义字符
装了Visual Studio 2022之后,一直没有正式的项目在跑。最近有新项目,决定试试.net 6的新特性。在添加集合时,粘贴”);补充字符串时,发现VS居然自动帮我转了转义字符,比如原文是:
var fields = new List<string>(); fields.Add("zip
我想补充成:
fields.Add("zip");
结果却变成了:
fields.Add("zip\");
这明显是画蛇添足,但在原来的Visual Studio 2019不会这样。
下拉“撤销”菜单,发现有个操作叫“Fixing string literal after paste”,是在“Paste”之后自动执行的。可以确定是这个自动化操作搞的鬼。
捣鼓了半天,发现原来VS 2022有个新特性“Fix text pasted into string literals (experimental) ”,中文版叫“修复粘贴到字符串文本中的文本(实验性)”。
只要开启了这个特性,双引号中的文本如果没有结束(只有左边的双引号),就会自动把要粘贴的文本进行“转义字符化”(加反斜杠\)。不得不说这是个有争议的功能,有些时候用户反而要去手动撤销或删除多余的字符,而且这是默认开启的。
解决办法:把它关掉就好了!