防止 Visual Studio 2015 删除 VB.NET 文件中的续行符 (_)

Prevent Visual Studio 2015 from removing line continuation characters (_) in VB.NET files

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

它删除了连接中的“_”:

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

'After
myString = "ABC" & 
           "DEF"

或在!:

前加一个space
'Before
myDatatable.Rows(0)!myColumn

'After
myDatatable.Rows(0) !myColumn

此语法与 Visual Studio 2010 或 2013 不兼容。

如何禁用此更改?

我遇到了同样的问题,我可以通过在编辑器中禁用 "Pretty listing" 选项来修复它。您可以在此处找到此选项:

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

我不确定此选项会禁用哪些其他自动重新格式化,但至少编辑器停止删除旧 code/projects.

中的行继续字符

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

编辑 Link to bug report - Link to merged fix(复制自对原始问题的第一条评论)

只需 CTRL-Z 即可在 Visual Studio (2015-19) "fixes" 之后撤消下划线的删除。这会使 "Pretty Listing" 功能保持打开状态,但会恢复丢失的下划线。感谢 David Carta 作为评论留下的答案。

解决这个问题的官方方法是修改 .vbproj 文件以包含

<PropertyGroup>
   <LangVersion>latest</LangVersion>
</PropertyGroup>

10 用于 VS2010,如 https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/configure-language-version

所述