防止Visual Studio 2015在VB.NET文件中删除行继续字符(_)。

24

我在Visual Studio 2015中打开一些旧的VB.NET项目并编辑代码时,VS会更改语法:

它会删除连接符中的"_":

'Before
myString = "ABC" & _
           "DEF"

'After
myString = "ABC" & 
           "DEF"

或者在感叹号前加一个空格:

'Before
myDatatable.Rows(0)!myColumn

'After
myDatatable.Rows(0) !myColumn

这个语法不兼容Visual Studio 2010或2013。

我该如何禁用这些更改?


1
可能相关的错误报告和随后的修复 - 如果您特别针对旧版本,它是否保留原始语法?Possibly related bug reportsubsequent fix - James Thorpe
1
啊,修复已标记为“下一个预览版批准” - 也许它还没有被包含进去。 - James Thorpe
快速查看Roslyn的网站并没有显示他们的发布计划。有人知道何时会有修复程序可供大众使用吗? - wags1999
你找到解决方法了吗? - mathiasfk
3个回答

40

我曾经遇到同样的问题,通过在编辑器中禁用“漂亮的列表”选项来解决了它。您可以在此处找到此选项:

Tools > Options > Text Editor > Basic > Advanced > Editor Help > Pretty listing (reformatting) of code

我不确定这个选项禁用了哪些其他自动重新格式化,但至少编辑器停止删除旧代码/项目中的行续字符。

PS:虽然Roslyn团队表示他们修复了这个问题(请参见下面的链接),但是这个错误仍然存在于最新版本的Visual Studio 2015中。

编辑错误报告链接 - 已合并修复链接(从原始问题的第一条评论中复制)


编辑了我的答案以复制粘贴原始问题评论中提到的链接。此外,这真的是一个导致投票反对的好理由吗? - RiptoR
这在我的情况下默认是禁用的,但我仍然有同样的问题。还有其他的想法吗? - Schoof
这样修复了自动重新格式化的问题,但是请注意,如果您明确地重新格式化(编辑>高级>格式*或相应的键盘快捷键),您将再次失去结尾。 - mlhDev
3
我们有一些代码仍在VS2008中使用,所以不幸的是仍需要下划线。但是如果你喜欢“漂亮列表”功能,你可以保持它开启,并在VS2015+“修复”下划线后按CTRL-Z撤消下划线的删除。 - David Carta
顺便提一下,看起来在VS2019中,他们把这个“功能”做得更加难以处理了。它仍然存在,这里的答案仍然可以解决它。 - JulieC
显示剩余2条评论

2

-1
只需按CTRL-Z撤消在Visual Studio(2015-19)“修复”它之后删除下划线的操作即可。这会保留“漂亮列表”功能,同时恢复缺失的下划线。感谢大卫·卡塔(David Carta)留下的评论答案。

2
我的评论来自这里:我不知道之前的版本可能有什么不同,但是Visual Studio 2019在每次保存时都会删除下划线,无论是代码编辑窗格失去焦点(例如打开菜单或项目/类型/成员导航栏),还是只是将光标移动到带有下划线的代码之外或右键单击任何位置。难道在编辑器中做任何事情后都必须执行撤消操作吗? - Lance U. Matthews

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接