Paolo Crociati
Paolo Crociati

Reputation: 495

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

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

Answers (3)

Ira Grollman
Ira Grollman

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

DeveloperDan
DeveloperDan

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

RiptoR
RiptoR

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

Related Questions