A Visual Studio Code extension that provides rich language support for C# and is shipped along with C# Dev Kit. Powered by a Language Server Protocol (LSP) server, this extension integrates with open source components like Roslyn and Razor to provide rich type information and a faster, more reliable C# experience.
While it is possible to use the C# extension as a standalone extension, we highly recommend using C# Dev Kit.
- Installing C# Dev Kit will automatically install this extension as a required dependency.
- Open a folder/workspace that contains a C# project (.csproj) and a C# solution (.sln) and the extension will activate.
- Whether you install C# Dev Kit or just the C# extension, the .NET Runtime Installer Tool extension will be installed as a dependency.
Note: If working on a solution that requires versions prior to .NET 6 or non-solution based projects, install a Full Framework runtime and MSBuild tooling.
- Set omnisharp.useModernNet to false and set dotnet.server.useOmnisharp to true
- Uninstall or disable C# Dev Kit
- Windows: .NET Framework along with MSBuild Tools
- MacOS/Linux: Mono with MSBuild
Learn more about the rich features of the C# extension:
- Refactoring: Edit your code with code fixes and refactorings
- Navigation: Explore and navigate your code with features like Go To Definition and Find All References
- IntelliSense: Write code with auto-completion
- Formatting and Linting: Format and lint your code
For more information you can:
- Follow our C# tutorial with step-by-step instructions for building a simple app.
- Check out the C# documentation on the VS Code site for general information about using the extension.
If you don’t want to take advantage of the great Language Server features, you can revert back to using OmniSharp by going to the Extension settings and setting dotnet.server.useOmnisharp
to true. Next, uninstall or disable C# Dev Kit. Finally, restart VS Code for this to take effect.
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. Alternatively you could visit https://github.com/dotnet/vscode-csharp/issues and file a new one.
Copyright © .NET Foundation, and contributors.
The Microsoft C# extension is subject to these license terms. The source code to this extension is available on https://github.com/dotnet/vscode-csharp and licensed under the MIT license.
This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.
By signing the CLA, the community is free to use your contribution to .NET Foundation projects.
This project is supported by the .NET Foundation.
Provide feedback File questions, issues, or feature requests for the extension.
Known issues If someone has already filed an issue that encompasses your feedback, please leave a 👍 or 👎 reaction on the issue to upvote or downvote it to help us prioritize the issue.
Quick survey Let us know what you think of the extension by taking the quick survey.