Skip to content

Releases: dotnet/vscode-csharp

v1.5-future-preview1

10 Nov 13:04
Compare
Choose a tag to compare
v1.5-future-preview1 Pre-release
Pre-release

This release includes several changes that have not yet been merged into master in order to let people try them out. The key changes are:

  • Running OmniSharp on an embedded Mono runtime. This should greatly increase the breadth of Linux distributions that the extension will work with. Note that this only affects OmniSharp, which provides editing features like auto complete, find all references, rename, etc. The debugger is still limited to a smaller set of Linux distributions.
  • Initial support for MSBuild-based .NET Core projects. There is still a great deal of work to support the new MSBuild-based .NET Core projects properly, but OmniSharp can now understand and load them properly.
  • Better performance via concurrent communication with OmniSharp. Previously, communication with the OmniSharp server was handled serially. This meant that long-running operations (such as gathering all diagnostics for a project) could cause the entire system to wait. Now communication is better-prioritized: high priority work (such as buffer changes due to typing) are handled serially and long-running operations are allowed to run and respond when they're ready.
  • Initial C# 7 support. OmniSharp has been updated to the latest Roslyn 2.0.0 bits, enabling C# 7.

v1.5-beta7

08 Nov 00:05
Compare
Choose a tag to compare
v1.5-beta7 Pre-release
Pre-release
  • Update debugger acquisition to use new package management system. (#873)
  • Fix OmniSharp launch on Mono. (#874)
  • Add new omnisharp.projectLoadTimeout setting to control the amount of time that the C# extension will wait for the OmniSharp server to launch before timing out. (#880)

v1.5-beta6

03 Nov 18:11
Compare
Choose a tag to compare
v1.5-beta6 Pre-release
Pre-release
  • Added csharp.suppressDotnetRestoreNotification setting to allow the 'dotnet restore' notifications to be suppressed. (#193, #257, #845)
  • Tweak ctor code snippet to remove unnecessary space and insert tabs like other code snippets (#849)

v1.5-beta5

02 Nov 18:30
Compare
Choose a tag to compare
v1.5-beta5 Pre-release
Pre-release
  • Introduce new runtime dependency acquisition experience

v1.5-beta4

14 Oct 16:09
Compare
Choose a tag to compare
v1.5-beta4 Pre-release
Pre-release
  • Fix issue where not all errors/warnings would be displayed. (#812)

v1.5-beta3

11 Oct 17:30
Compare
Choose a tag to compare
v1.5-beta3 Pre-release
Pre-release

Updates included in this release:

  • OmniSharp has been updated to the recent v1.9-beta18 build, which includes a newer version of the CoreCLR that doesn't crash on Linux kernel >= 4.6.2. (#775, #761, #773)
  • It is now possible to dismiss the prompt to generate assets for building and debugging a particularly project permanently. In addition, a new dotnet.generateAssets command has been added to force regeneration of the assets. (#635)
  • OmniSharp launch process has been cleaned up a bit to properly stop trying to launch and report an error when it fails. (#804)

v1.5-beta2

29 Sep 17:56
Compare
Choose a tag to compare
v1.5-beta2 Pre-release
Pre-release

This update offers a few fixes:

  • Launching the debugger, which was broken in v1.5-beta1, is now fixed (#787)
  • The output of "dotnet restore" is now streamed to the .NET output pane (#445)
  • Fix colorizer to properly highlight single-line comments after preprocessor directives (#759)

v1.5-beta1

19 Sep 19:19
Compare
Choose a tag to compare
v1.5-beta1 Pre-release
Pre-release

There are a handful of improvements in 1.5 so far:

  • The extension can now launch OmniSharp on a folder of .csproj projects even when an .sln file is not present. The .csproj files can be located in any subdirectories from the root.
  • Support added for Linux Mint 18, which should be binary compatible with Ubuntu 16.04.
  • Fix for OmniSharp not launching properly on a folder with multiple .NET Core projects [#735]

v1.4.1

01 Sep 15:17
Compare
Choose a tag to compare

This addresses an issue found and fixed by @sixpindin in which the legacy csharp.omnisharp and csharp.omnisharpUsesMono settings are no longer respected. These settings have been supplanted by the omnisharp.path and omnisharp.useMono settings but are still expected to work if specified.

v1.4.0

29 Aug 21:04
Compare
Choose a tag to compare

What's New in 1.4

Metadata as Source

  • Go to Definition (F12) can now show a C#-like view for APIs that do not appear in your project's source code. (#165)

Debugger

  • Applications can now be launched without attaching the debugger with Ctrl+F5.
  • Support for new "embedded portable PDB" debug format.
  • The launch.json file generator now automatically sets the option to show a console window by default ("internalConsoleOptions": "openOnSessionStart").

New Settings

Several new settings have been added:

  • csharp.suppressDotnetInstallWarning: Suppress the warning that the .NET CLI is not on the path.
  • omnisharp.autoStart: Used to control whether the OmniSharp server will be automatically launched when a folder containing a project or solution is opened. The default value for this setting is true.
  • omnisharp.path: Can be used to specify a file path to a different OmniSharp server than the one that will be used by default. Previously, this option was controlled by csharp.omnisharp, which is now deprecated.
  • omnisharp.useMono: When omnisharp.path is specified, this controls whether OmniSharp will be launched with Mono or not. Previously, this option was controlled by csharp.omnisharpUsesMono, wich is now deprecated.
  • omnisharp.loggingLevel: Used to control the level of logging output from the OmniSharp server. Legal values are "default" or "verbose".

Colorizer

There have been several fixes to the colorizer grammar resulting in much smoother syntax highlighting, with better support for C# 6.0. Special thanks go to @ivanz and @seraku24 for contributing most of the fixes below!

  • Expression-bodied members (#638, #403, #679, #249)
  • Escaped keyword identifiers (#614)
  • Using directives and nested namespaces (#282, #381)
  • Field and local variable type names (#717, #719)
  • Multi-dimensional arrays in parameters (#657)

Performance

  • Improvements have been made in processing diagnostics (i.e. errors and warnings).
  • Full solution diagnostics are no longer computed for large solutions (e.g. solutions with >1000 files across all projects). However, diagnostics are still computed for open files.

Other Improvements

  • Multibyte characters are now properly encoded, resulting in proper display in tooltips and fixing crashes in the OmniSharp server. (#4, #140, #427)
  • Will no longer attempt to install a CoreCLR flavor of OmniSharp on Ubuntu versions other than 14 and 16. (#655)
  • Opening a solution or csproj no longer results in '0 projects' displayed in the status bar. (#723)