C# for Visual Studio Code (powered by OmniSharp)
Welcome to the C# extension for Visual Studio Code! This extension provides the following features inside VS Code:
- Lightweight development tools for .NET Core.
- Great C# editing support, including Syntax Highlighting, IntelliSense, Go to Definition, Find All References, etc.
- Debugging support for .NET Core (CoreCLR). NOTE: Mono debugging is not supported. Desktop CLR debugging has limited support.
- Support for project.json and csproj projects on Windows, macOS and Linux.
The C# extension is powered by OmniSharp.
Get Started Writing C# in VS Code
What's new in 1.21.12
What's new in 1.21.11
- Updated the bundled to Mono 6.8.0 and MSBuild to be copied from Mono 6.8.0 (omnisharp-roslyn/#1693, PR: omnisharp-roslyn/#1697)
- Included NugetSDKResolver in the minimal MSBuild, which introduces support for Nuget based project SDKs like Arcade (omnisharp-roslyn/#1678, PR: omnisharp-roslyn/#1696)
- Added option (
csharp.supressBuildAssetsNotification) to surpress missing build asset notifications (PR:#3538)
- The minimum Mono version required to run OmniSharp on has been increased to 6.4.0
What's new in 1.21.10
- Updated Razor support (PR:#3524)
- Added quick info (hover) support for TagHelper and Blazor components. You can now hover over TagHelpers, Components and their attributes to understand what associated C# type you're hovering over in addition to an attributes expected value type.
- Migrated Razor's project understanding from the VSCode extension into the Language Server. This enables the language server to reboot without extra assistance (reliability) from an LSP client and also enables future Razor LSP clients to have richer functionality with less "work".
- Added C# light bulbs to enable users to "Fully Qualify" members that are causing errors.
- Expanded Razor's TextMate grammar colorization support to understand email addresses and
- Several bug fixes
- Updated Debugger support (PR:#3515)
- Added option to search the NuGet.org Symbol Server
- Added options to control logging Process and Thread exits while debugging
- Fixed a bug where completion items didn't decode symbols corectly (impacted, for example, object initializer completion quality) (#3465, PR:omnisharp-roslyn/#1670)
- Updated to MsBuild 16.4.0 on Linux/MacOS (PR:omnisharp-roslyn/#1669)
- Added support for implement type options - it is now possible to define whether code-fix/refactoring generated properties should be auto- or throwing-properties and at which place in the class should newly generated members be inserted. They can be set via OmniSharp configuration, such as
omnisharp.json file. (PR: omnisharp-roslyn/#1672)
- Added support for organizing usings on format. This can be set via OmniSharp configuration, such as
omnisharp.json file. (PR:omnisharp-roslyn/#1686)
- Improved support for .NET Core 3.1
What's new in 1.21.9
Supported Operating Systems for Debugging
Found a Bug?
To file a new issue to include all the related config information directly from vscode by entering the command pallette with Ctrl+Shift+P
(Cmd+Shift+P on macOS) and running
CSharp: Report an issue command. This will open a browser window with all the necessary information related to the installed extensions, dotnet version, mono version, etc. Enter all the remaining information and hit submit. More information can be found on the wiki.
Alternatively you could visit https://github.com/OmniSharp/omnisharp-vscode/issues and file a new one.
- Node.js (8.11.1 or later)
- Npm (5.6.0 or later)
To run and develop do the following:
npm run compile
- Open in Visual Studio Code (
- Optional: run
npm run watch, make code changes
- Press F5 to debug
To test do the following:
npm run test or F5 in VS Code with the "Launch Tests" debug configuration.
The Microsoft C# extension is subject to these license terms.
The source code to this extension is available on https://github.com/OmniSharp/omnisharp-vscode and licensed under the MIT license.