Reputation: 495
I'm opening some old VB.NET projects in Visual Studio 2015 and when I edit the code, VS changes the syntax:
It removes "_" in concatenations:
'Before
myString = "ABC" & _
"DEF"
'After
myString = "ABC" &
"DEF"
or add a space before !:
'Before
myDatatable.Rows(0)!myColumn
'After
myDatatable.Rows(0) !myColumn
This syntax isn't compatible with Visual Studio 2010 or 2013.
How can I disable this changes?
Upvotes: 24
Views: 15866
Reputation: 41
The official way to address this is modifying the .vbproj file to include
<PropertyGroup>
<LangVersion>latest</LangVersion>
</PropertyGroup>
10 is for VS2010 as described at https://learn.microsoft.com/en-us/dotnet/visual-basic/language-reference/configure-language-version
Upvotes: 2
Reputation: 4684
Just CTRL-Z to undo the removal of the underscores right after Visual Studio (2015-19) "fixes" it for you. This leaves the "Pretty Listing" feature turned on but restores the missing underscores. Thanks David Carta for the answer left as a comment.
Upvotes: -1
Reputation: 466
I had the same problem, and I was able to fix it by disabling the "Pretty listing" option in the editor. You can find this option here:
Tools > Options > Text Editor > Basic > Advanced > Editor Help > Pretty listing (reformatting) of code
I'm not sure what other auto-reformatting this option disables, but at least the editor stopped removing the line continuation characters in old code/projects.
PS: While the Roslyn team says they fixed this (see links below), this bug is still present in the latest version of Visual Studio 2015.
edit Link to bug report - Link to merged fix (copied from first comment on original question)
Upvotes: 40