Skip to content

Releases: dotnet/vscode-csharp

v1.8.0

11 Mar 07:51
Compare
Choose a tag to compare

What's New in 1.8

Go to Implementation

  • Added support for "Go to Implementation" and "Peek Implementation" introduced in Visual Studio Code 1.9. (#37) (Contributed by @ivanz)

Scripting

  • C# scripts (.csx files) now allow multiple #load directives, and #r and #load directives update live. (omnisharp-roslyn#760) (Contributed by @filipw)
  • .csx files can now be discovered as valid launch targets using the project selector at the bottom-right of the status bar. (#1247) (Contributed by @filipw)
  • Assembly references will now unify properly for C# scripts. (omnisharp-roslyn#764) (Contributed by @filipw)
  • Unsafe code is now allowed in C# scripts. (omnisharp-roslyn#781) (Contributed by @filipw)
  • C# scripting now ignores duplicated CorLibrary types, which can manifest in certain edge scenarios. (omnisharp-roslyn#784) (Contributed by @filipw)

Debugger

The 1.8 release makes a major change to how the debugger works under the hood. This new architecture simplifies how the debugger is tied to VS Code. We hope that this will make it easier to bring .NET debugging features to VS Code. We also expect it to improve debugger launch performance.

  • The module load messages in the output window are now more detailed and hopefully less confusing. (#837)
  • Programs can now be launched into VS Code's integrated terminal. (documentation)
  • VS Code recently introduced column breakpoint support and they are now enabled for C#.
  • React to the VS Code change to use ${command: instead of ${command.. (#1275)
  • Fix a problem with browser launch support that could lead to debugger session's being aborted when the browser is started. (#1274)
  • Remote debugging breaking changes: as part of our new architecture, there are a few breaking changes to the way remote debugging works.
    • vsdbg vs. clrdbg: As part of the new architecture, clrdbg has been replaced with a new executable named vsdbg. As such, the script to download vsdbg has changed to http://aka.ms/getvsdbgsh. Run curl -sSL https://aka.ms/getvsdbgsh | bash /dev/stdin -v latest -l ~/vsdbg to download. See the wiki for more information.
    • Pseudo-tty's are no longer supported: previously we were a little more tolerant of pseudo-tty's transforming the input/output from the remote debugger. We are currently not as tolerant. If you are using ssh or plink as a pipe program, pass -T to fix this. If you have another transport and you are no longer able to connect, let us know and we can fix this for a future release.
    • debuggerPath is now required - previously the debuggerPath property of pipeTransport was recomended but not required. As part of this change we are now requiring it.

Other Updates and Fixes

  • Find All References now properly highlights locations of found references. (#428)
  • Assembly references will now unify properly for project.json projects. (#1221)
  • Code Actions (i.e. refactorings and fixes) now respect the formatting options that are set when a project is opened. (omnisharp-roslyn#759) (Contributed by @filipw)
  • Completion support for package references in project.json files has been restored. (#1236)
  • The C# TextMate grammar used for syntax highlighting has been removed because it is now part of Visual Studio Code itself. (#1206) (Many thanks to @aeschli)

Known Issues

  • Running and debugging of tests are not supported in .csproj-based .NET Core projects. However, there will still be clickable "run test" and "debug test" indicators above test methods. (#1100)
  • When opening a .csproj-based .NET Core project in VS Code, the C# extension will not activate until a C# file is opened in the editor. (#1150)
  • There currently is no completion support for package references in csproj files. (#1156)

v1.8.0-beta3

10 Mar 20:21
Compare
Choose a tag to compare
v1.8.0-beta3 Pre-release
Pre-release
  • .csx files can now be discovered as valid launch targets using the project selector at the bottom-right of the status bar. (#1247) (Contributed by @filipw)
  • Unsafe code is now allowed in C# scripts. (omnisharp-roslyn#781) (Contributed by @filipw)
  • C# scripting now ignores duplicated CorLibrary types, which can manifest in certain edge scenarios. (omnisharp-roslyn#784) (Contributed by @filipw)
  • Code Actions (i.e. refactorings and fixes) now respect the formatting options that are set when a project is opened. (omnisharp-roslyn#759) (Contributed by @filipw)
  • Completion support for package references in project.json files has been restored. (#1236)
  • The C# TextMate grammar used for syntax highlighting has been removed because it is now part of Visual Studio Code itself. (#1206) (Many thanks to @aeschli)

v1.8.0-beta2

04 Mar 02:29
Compare
Choose a tag to compare
v1.8.0-beta2 Pre-release
Pre-release

This release makes a major change to how the debugger works under the hood. This new architecture simplifies how the debugger is tied to VS Code. We hope that this will make it easier to bring .NET debugging features to VS Code and improve startup performance.

In addition to the new debugger architecture, this addresses a few issues:

  • Change the module load messages to hopefully make them less confusing #837
  • Support launching programs into VS Code's integrated terminal
  • React to the VS Code change to use ${command: instead of ${command. #1275
  • Hopefully address an issue with launching browsers #1274

v1.8.0-beta1

11 Feb 18:21
Compare
Choose a tag to compare
v1.8.0-beta1 Pre-release
Pre-release
  • Added support for "Go to Implementation" and "Peek Implementation" introduced in Visual Studio Code 1.9. (#37) (Contributed by @ivanz)
  • C# scripts (.csx files) now allow multiple #load directives, and #r and #load directives update live. (omnisharp-roslyn#760) (Contributed by @filipw)
  • Assembly references will now unify properly for C# scripts. (omnisharp-roslyn#764) (Contributed by @filipw)
  • Find All References now properly highlights locations of found references. (#428)
  • Assembly references will now unify properly for project.json projects. (#1221)

v1.7.0

10 Mar 20:32
Compare
Choose a tag to compare

What's New in 1.7

Syntax Hightlighting

Project Support

  • Updated with the latest changes for .NET Core .csproj projects. (omnisharp-roslyn#738)
  • Automatic package restore and out-of-date notifications implemented for .NET Core .csproj projects. (#770)
  • Correctly update project when dotnet restore is performed on a .NET Core .csproj project. (#1114)
  • Properly handle .csproj projects in .sln files that were added via .NET CLI commands. (omnisharp-roslyn#741)
  • Fix dotnet restore Visual Studio Code command to execute for .csproj .NET Core projects. (#1175)
  • Respect nowarn in project.json projects. (omnisharp#734) (Contributed by @filipw)
  • Fix problem with project.json projects that wrap assemblies. (#424)

Debugging

  • Enable debugger support for Zorin OS 12. (#1160) (Contributed by @mkaziz)
  • Added off-road support for Windows Subsystem for Linux (NOTE: requires newer version of Windows than have been publicly released yet)
  • Fixed issue with debugger pause and multithreaded call stacks (#1107 and #1105)

C# Scripting

Code Actions

  • Fixed code actions that add files, such as "Move Type to File". (#975)
  • Properly surface code actions that have "nested code actions". This allows "generate type" to work properly. (#302)
  • Don't display the Remove Unnecessary Usings code action unless it is relevant. (omnisharp-roslyn#742)
  • Don't show the Extract Interface refactoring as it requires a dialog that does not exist in VS Code. (#925)

Completion List

  • A namespace icon should be displayed for namespaces in the completion list. (#1125) (Contributed by @filipw)
  • Add icons for several symbol kinds in the completion list, fixing many symbols that incorrectly displayed a property "wrench" icon. (#1145)

Other Updates and Fixes

  • Add schema validation for omnisharp.json files. (#1082) (Contributed by @Thaina)
  • Add support for auto-closing and surrounding characters. (#749, #842) (Contributed by @filipw)
  • Fix running and debugging of tests defined in nested classes. (#743, #1151)
  • Fix error when 'tasks.json' does not contain a 'tasks' node, or contains os-specific 'tasks' nodes. (#1140)
  • Better detection of Windows architecture (x86 or x64) when determining extension dependencies to download. The detection logic now uses well-known environment variables rather than launching 'wmic'. (#1110, #1125)
  • Improvements to the OmniSharp Log (#1155)
  • Add new values to the omnisharp.logginglevel option to allow more granualar control of OmniSharp logging. (#993) (Contributed by @filipw)
  • Don't display the "some projects have trouble loading" message if projects only contain warnings. (#707)
  • Update Mono detection logic to succeed even if another shell is set as the default (e.g. zsh). (#1031)

Known Issues

  • Running and debugging of tests are not supported in .csproj-based .NET Core projects. However, there will still be clickable "run test" and "debug test" indicators above test methods. (#1100)
  • When opening a .csproj-based .NET Core project in VS Code, the C# extension will not activate until a C# file is opened in the editor. (#1150)

v1.7.0-beta5

08 Feb 01:16
Compare
Choose a tag to compare
v1.7.0-beta5 Pre-release
Pre-release
  • Fix regression introduced in v1.7.0-beta4 where the extension would fail to launch 'dotnet restore' for project.json projects (#1199)
  • Update to latest debugger bits (#1200)

v1.7.0-beta4

06 Feb 20:41
Compare
Choose a tag to compare
v1.7.0-beta4 Pre-release
Pre-release
  • Automatic package restore and out-of-date notifications implemented for .NET Core .csproj projects. (#770)
  • Fix problem with project.json projects that wrap assemblies. (#424)
  • Fixed code actions that add files, such as "Move Type to File". (#975)
  • Properly surface code actions that have "nested code actions". This allows "generate type" to work properly. (#302)
  • Don't display the Remove Unnecessary Usings code action unless it is relevant. (omnisharp-roslyn#742)
  • Don't show the Extract Interface refactoring as it requires a dialog that does not exist in VS Code. (#925)
  • Add support for auto-closing and surrounding characters. (#749, #842) (Contributed by @filipw)
  • Don't display the "some projects have trouble loading" message if projects only contain warnings. (#707)
  • Update Mono detection logic to succeed even if another shell is set as the default (e.g. zsh). (#1031)

v1.7.0-beta3

03 Feb 14:39
Compare
Choose a tag to compare
v1.7.0-beta3 Pre-release
Pre-release
  • Correctly update project when dotnet restore is performed on a .NET Core .csproj project. (#1114)
  • Add new values to the omnisharp.logginglevel option to allow more granualar control of OmniSharp logging. (#993) (Contributed by @filipw)
  • Fix dotnet restore Visual Studio Code command to handle .csproj .NET Core projects. (#1175)

v1.7.0-beta2

31 Jan 23:21
Compare
Choose a tag to compare
v1.7.0-beta2 Pre-release
Pre-release
  • Updated with the latest changes for .NET Core .csproj projects. (omnisharp-roslyn#738)
  • Properly handle .csproj projects in .sln files that were added via .NET CLI commands. (omnisharp-roslyn#741)
  • Respect nowarn in project.json projects (omnisharp#734) (Contributed by @filipw)
  • Enable debugger support for Zorin OS 12 (#1160) (Contributed by @mkaziz)
  • Support resolving #r references from the GAC (omnisharp-roslyn#721) (Contributed by @filipw)
  • Include System.ValueTuple in C# scripts implicitly (omnisharp-roslyn#722) (Contributed by @filipw)
  • A namespace icon should be displayed for namespaces in the completion list. (#1125) (Contributed by @filipw)
  • Add icons for several symbol kinds in the completion list, fixing many symbols that incorrectly displayed a property "wrench" icon. (#1145)
  • Add schema validation for omnisharp.json files. (#1082) (Contributed by @Thaina)
  • Fix running and debugging of tests defined in nested classes. (#743, #1151)
  • Fix error when 'tasks.json' does not contain a 'tasks' node, or contains os-specific 'tasks' nodes. (#1140)
  • Better detection of Windows architecture (x86 or x64) when determining extension dependencies to download. The detection logic now uses well-known environment variables rather than launching 'wmic'. (#1110, #1125)
  • Improvements to the OmniSharp Log (#1155)

v1.7.0-beta1

21 Jan 00:51
Compare
Choose a tag to compare
v1.7.0-beta1 Pre-release
Pre-release
  • Greatly improved C# syntax highlighting (#1115)
  • Fixes to debugger remote attach support which for a line ending issue on Windows and zsh
  • Fix async break (#1105) and multithreaded call stack issues (#1107)