Releases: dotnet/vscode-csharp
v1.10.0-beta3
- New VS Code completion item glyphs (e.g. struct, event, etc.) are supported. (PR: #1472) (Contributed by @dopare)
- Options can now be set in an omnisharp.json to specify the Configuration (e.g. Debug) and Platform (e.g. AnyCPU) that MSBuild should use. (omnisharp-roslyn#202, PR: omnisharp-roslyn#858) (Contributed by @nanoant)
- Fixed issue where a package reference would be reported as an unresolved dependency if the reference differed from the intended dependency by case (PR: #861)
- Cleaned up unresolved dependency detection in OmniSharp and added logging to help diagnose project issues. (#1272, PR: #861)
- MSTest support added (#1482, PRs: #1478, omnisharp-roslyn#856) (Contributed by @AbhitejJohn)
- Improve response from running/debugging tests to include output from build and test summary. (#419, #455, PRs: #1436, #1486)
- Fix issue causing several code snippets to not be available. (#1459, PR: #1461) (Contributed by @shaunluttin)
- Ensure the 'Generate Assets for Build and Debug' command can cause the extension to activate. (PR: #1470)
- The OmniSharp process is now correctly terminated on Unix when the 'Restart OmniSharp' command is invoked. (#1445, PR: #1466)
- Added new
RoslynExtensions
option to allow specifying a set of assemblies in an omnisharp.json file that OmniSharp will look in to find Roslyn extensions to load. (PR: omnisharp-roslyn#848) (Contributed by @filipw)
v1.10.0-beta2
- OmniSharp now loads .NET Core projects using the SDKs included with the .NET Core SDK appropriate for that project, if they're installed on the machine. (#1438, omnisharp-roslyn#765, PR: omnisharp-roslyn#847)
- Several improvements to the completion list! (All contributed by @filipw with PR omnisharp-roslyn#840)
- Attributes are completed properly without the 'Attribute' suffix. (#393)
- Named parameters now appear in the completion list. (#652)
- Object initializer members now appear in the completion list. (#260)
- Completion appears within XML doc comment CREFs.
- Initial support for completion on 'override' and 'partial' keywords. (#1044)
v1.10.0-beta1
- Add support for NUnit Test Adapter. (#1434, PR: omnisharp-roslyn#834)
- Tests that define display names are now run properly. (#1426, PR: omnisharp-roslyn#833)
- Tests with similar names are no longer incorrectly run together when one of them is clicked. (#1432, PR: omnisharp-roslyn#833)
- Improve response from running/debugging tests to include output from build and test summary. (#419, #455, PR: #1436)
- Project references to projects located outside of the current workspace directory are now loaded and processed. (#963, PR: omnisharp-roslyn#832)
- Support Metadata as Source for Go To Definition in CSX files. (omnisharp-roslyn#755, PR: (omnisharp-roslyn#829) (Contributed by @filipw)
- New
csharp.suppressHiddenDiagnostics
setting that can be set to true to display hidden diagnostics, such as 'unnecessary using directive'. (#1429, PR: #1435) (Contributed by @cruz82)
v1.9.0
What's New in 1.9
Unit Testing
- Support added for running and debugging unit tests in .csproj-based .NET Core projects. (#1100)
Debugger
- Arch Linux change: Before, the debugger would automatically use the Ubuntu 16 debugger on Arch. Now we require the debugger to be explicitly set. See https://aka.ms/vscode-csext-arch for more information.
- Several bug fixes that addressed problems with launch (#1335, #1336)
- Fixed several pipeTransport issues including introducing a new
quoteArgs
option (#1318), and fixing attach with Docker (#1369) - Fix issue where VS Code would incorrectly display threads as paused (#1317)
- Added new 'csharp.fallbackDebuggerLinuxRuntimeId' configuration setting to control the version of the debugger used on Linux (#1361).
- Added a new
clr
debuggingtype
in launch.json to enable debugging for Azure scenarios. That type is limited to Windows Desktop CLR, 64-bit processes, and only supports the Portable PDB debug format. - Added support for the launch.json editor's 'Add Configuration' button (#1024)
Project System
- Properly handle package references with version ranges in .csproj (PR: omnisharp-roslyn#814)
- Fix regression with MSBuild project system where a project reference and a binary reference could be added for the same assembly, causing ambiguity errors (omnisharp-roslyn#795, PR: omnisharp-roslyn#815)
- If VS 2017 is on the current machine, use the MSBuild included with VS 2017 for processing projects. (#1368, PR: omnisharp-roslyn#818OmniSharp/omnisharp-roslyn#818)
- Fixed null reference exception in DotNetProjectSystem when project reference is invalid (PR: omnisharp-roslyn#797)
Improved OmniSharp Settings
-
Added support for global omnisharp.json file (omnisharp-roslyn#717, PR: omnisharp-roslyn#809) (Contributed by @filipw)
This file can appear in one of the following locations:
- Windows:
%APPDATA%\OmniSharp\omnisharp.json
- macOS/Linus:
~/.omnisharp/omnisharp.json
- Windows:
-
Watch local and global omnisharp.json files for changes while OmniSharp is running. Currently, this only works for formatting options. (PR: omnisharp-roslyn#804)(Contributed by @filipw)
-
New 'omnisharp.waitForDebugger' setting to make it easier to debug the OmniSharp server itself. (PR: #1370)
Other Updates and Fixes
- Improvements made to project.json package completion experience. (#1338)
- Diagnostics are no longer created for hidden diagnostics, addressing the problem of "Remove Unnecessary Usings" spam in the Problems pane. (#1231)
- Improved the extension's runtime dependency download logic to skip re-downloading packages that were already successfully downloaded and installed.
- Assets for building and debugging are now always generated with POSIX style paths. (#1354)
- Don't offer to generate tasks.json if build task already exists. (PR #1363) (Contributed by @eamodio)
Known Issues in 1.9.0
v1.9.0-beta3
- Add support for running and debugging tests in csproj-based .NET Core projects. (#1100)
- Properly handle package references with version ranges in .csproj. (PR: omnisharp-roslyn#814)
- Fix regression with MSBuild project system where a project reference and a binary reference could be added for the same assembly, causing ambiguity errors. (omnisharp-roslyn#795, PR: omnisharp-roslyn#815)
- If VS 2017 is on the current machine, use the MSBuild included with VS 2017 for processing projects. (#1368, PR: omnisharp-roslyn#818)
- New 'omnisharp.waitForDebugger' setting to make it easier to debug the OmniSharp server itself. (PR: #1370)
- Don't offer to generate tasks.json if build task already exists. (PR #1363) (Contributed by @eamodio)
v1.8.1
v1.9.0-beta2
v1.9.0-beta1
- Improvements made to project.json package completion experience. (#1338)
v1.8.0
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
orplink
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 thedebuggerPath
property ofpipeTransport
was recomended but not required. As part of this change we are now requiring it.
- 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
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
- .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)