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) ”,中文版叫“修复粘贴到字符串文本中的文本(实验性)”。

 

 只要开启了这个特性,双引号中的文本如果没有结束(只有左边的双引号),就会自动把要粘贴的文本进行“转义字符化”(加反斜杠\)。不得不说这是个有争议的功能,有些时候用户反而要去手动撤销或删除多余的字符,而且这是默认开启的。

解决办法:把它关掉就好了!

posted @ 2023-09-27 11:54  冷月无星  阅读(850)  评论(1编辑  收藏  举报