Skip to content

v1.8.0

Compare
Choose a tag to compare
@DustinCampbell DustinCampbell released this 11 Mar 07:51
· 5395 commits to release since this release

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)