We are thrilled to announce the preview release of C# Dev Kit, a new Visual Studio Code extension that brings an improved editor-first C# development experience to Linux, macOS, and Windows.
The C# Dev Kit is designed to enhance your C# productivity when you’re working in VS Code. It works together with the C# extension, which has been updated to be powered by a new fully open-source Language Server Protocol (LSP) host, creating a performant, extensible, and flexible tooling environment that easily integrates new experiences into C# for VS Code. The source repo for this extension is in the process of being migrated and will be available later this week.
Try out C# Dev Kit for your C# web and cloud-native projects and share your feedback today!
What is C# Dev Kit?
C# Dev Kit borrows some familiar concepts from Visual Studio to bring a more productive and reliable C# experience to VS Code. This ensures a great experience whether you are quickly editing a C# file, learning C#, or debugging a backend API. The C# Dev Kit consists of a set of VS Code extensions that work together to provide a rich C# editing experience, AI-powered development, solution management, and integrated testing. As shown in the graphic below, C# Dev Kit consists of:
- The C# extension, which provides base language services support and continues to be maintained independent of this effort.
- C# Dev Kit extension, which builds from the foundations of Visual Studio to provide solution management, templates, and test discovery/debugging.
- The IntelliCode for C# Dev Kit extension (optional), which brings AI-powered development to the editor.
Manage your projects with a new solution view
Customers often praise the power of project management with C#, so like Visual Studio, C# Dev Kit adds a new Solution Explorer view that works alongside the VS Code existing workspace view. This addition provides a curated and structured view of your application for effortless, central project management. This lets you quickly add new projects or files via templates to your solutions and easily build all or part of your solution.
Test your projects with expanded Test Explorer capabilities
With C# Dev Kit, your tests in XUnit, NUnit, MSTest, and bUnit will be discovered and organized for you more easily for fast execution and results navigation. The extension will discover and surface your tests in the Test Explorer pane just like for your other languages. It can also be run via the command palette.
Experience improved performance and reliability
C# Dev Kit is powered by the recently updated open-source C# extension, now powered by a Language Server Protocol (LSP) Host, also open source. The C# extension is built on the incredible foundation started with OmniSharp by the amazing OSS community. Both extensions integrate with components like Roslyn and Razor to deliver superb performance for tools such as IntelliSense, definition and symbol navigation, syntax highlighting, refactoring, and code formatting.
Previous Time to IntelliSense | New Time to IntelliSense | Percentage Improvement |
38 seconds | 3.5 seconds | 91% |
Benchmarked using a 2GB sized solution with 40 projects and 500,000 lines of source code.
In addition to the performance and reliability gains provided by the updated C# extension, C# Dev Kit lets you enjoy these same performance improvements with the solution, debugging, and testing features.
Write your project faster with AI-powered C# development
Auto-installing as part of C# Dev Kit, the IntelliCode for C# Dev Kit extension enhances the AI-assisted support beyond the basic IntelliSense code-completion found in the existing C# extension. It brings powerful IntelliCode features, such as whole-line completions and starred suggestions, putting what you’re most likely to use at the top of your IntelliSense completion list to your C# projects, all based on your own personal codebase.
Develop C# apps from anywhere
It’s never been easier to create modern .NET applications while working on your favorite operating system. As a VS Code extension, C# Dev Kit lets you work on C# projects with Linux, macOS, Windows, and even a dev container. You can also enjoy these same capabilities in a cloud-based developer environment like GitHub Codespaces!
Getting started with C# Dev Kit
C# Dev Kit makes it easy for developers of all experience levels to set up a C# environment in VS Code. Install the C# Dev Kit extension and follow the step-by-step VS Code walkthrough to configure your workspace. Today, C# Dev Kit lets you create and work with web apps, console apps, class library projects, and testing projects.
If you currently use the VS Code C# extension (powered by OmniSharp), installing C# Dev Kit extension will upgrade C# extension to the latest pre-release version compatible with C# Dev Kit. Check out the Getting Started documentation to learn more.
Given C# Dev Kit builds on the same foundations as Visual Studio for some of its functionality, it uses the same license model as Visual Studio. This means it’s free for individuals, as well as academia and open-source development, the same terms that apply to Visual Studio Community. For organizations, the C# Dev Kit is included with Visual Studio Professional and Enterprise subscriptions, as well as GitHub Codespaces. For additional details see the license terms.
Share your feedback on C# Dev Kit!
C# Dev Kit was developed based on feedback we’ve received from VS Code users regarding their C# development process. As we regularly update C# Dev Kit and its features, we encourage you to provide feedback so we can continuously improve and deliver the best possible experience for everyone.
Please share your feedback on any of these upcoming updates, report issues, or propose and feature suggestions through VS Code’s Help > Report Issue. Select whether it is a bug, feature request, or performance issue on “An Extension” and select C# Dev Kit from the list of extensions,
To learn more about how to get the most out of C# Dev Kit, explore our updated C# VS Code documentation and Get Started docs. Try out the new C# environment with C# Dev Kit today!
More about the Visual Studio product family
Visual Studio continues to be our premier C# development tool, supporting the full range of .NET workloads and project types. C# Dev Kit is an exciting step for us to bring .NET development productivity to other parts of the Visual Studio product family. For more information on the latest features added to Visual Studio, check out the Visual Studio 17.6 release announcement.
its not free to use
it say i should have visual studio subscription
Hi there! Depending on your usage, it is ‘free’ — individuals and similarly can use it just like you would Visual Studio Community edition. If you classify as an enterprise, then you will need a valid subscription or other entitlement. These are called out in the license https://aka.ms/vs/csdevkit/license. So if you are an individual on personal projects, OSS, or education, you are covered under the community/individual licensing.
Thank you to the team for this.
Installed C# Dev Kit but have “Project system initialization finished. 0 project(s) are loaded, and 1 failed to load.” on my last project on .net 7 and on a newly created empty webapi app, the same issue
Would like to get this solved for you — can you log an issue https://github.com/microsoft/vscode-dotnettools
The most important feature of Rider is still missing, please consider to add `navigate` in decompiled sources (inside ILSpy decompiled code), find usages in decompiled and so on. This is a real game changer for coding.
Can you please add a suggestion to the repo?
Why not just use the real Visual Studio instead of VS Code? VS Code is only slightly more advanced in terms of development productivity than the1980s QuickBasic IDE.
The real Visual Studio has options to run your app in debug mode in Linux, if you fancy such things.
I have yet to see a use case for VS Code for C# that provides more value than using the real Visual Studio on Windows.
Jeff -- I love that you point out how valuable Visual Studio is as a full-featured IDE. We agree! And yes, the remote capabilities for debugging using WSL/containers is super convenient for that Linux validation in your workflow as well. As long as you feel productive in Visual Studio on Windows, please keep using it!!! We're continuing to improve all around the shell and .NET and C++ experiences each release. This improvement is...
“on Windows”.
That’s the key right there.
You just could not leave it alone, could you Microsoft. For almost a decade, the C# development experience in code has been open source and free to use. So instead of supporting Omnisharp, you'll go ahead and try to monetize on this too. For what? A small group of developers that chose not to use Visual studio? You claim to embrace open source, but sadly I guess this goes to show that Microsoft ...
Hi Bernhard, please see the details here — the core C# language support remains open source: https://github.com/dotnet/vscode-csharp/issues/5708.
oh brother. I don’t think you could have been more dramatic if you tried.
Is there a plan for “C++ Dev Kit”?
Hi Samet, check out the C++ extension pack here which bundles a few things together that already help C++ developers in VS Code: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools-extension-pack
For more C++ suggestions in VS Code, please visit: https://github.com/microsoft/vscode-cpptools/issues to add more suggestions and engage with existing suggestions and the C++/VS Code team there.
For devs working on Linux this is kind of good news. But I don't know how many Linux devs use .NET / C#. For Windows users: use VS Community / VS Professional - no need to reimplement its features in VS Code. For Mac: VS for Mac needs some polishing. But for VS Code to catch up it is a long way. Overall, I don't think that spending all that effort on this extension is...
Hi there — we will continue to make improvements to VS in the areas you mention. And yes, Visual Studio on Windows continues to be the best/complete solution for .NET/C# developers.
Doesn't work.
I open an existing folder containing an existing .sln file created with VS, VS for mac or Rider and VS-Code doesn't understand it.
Also why can't I just open a .sln file directly in VS-Code?
On top of this. Someone already made a correctly working method that can just open a .sln file directly.
https://marketplace.visualstudio.com/items?itemName=fernandoescolar.vscode-solution-explorer
The reason you need this is if you have two .sln files in the same folder for example and just...
Andrew — would you be willing to share the SLN file that is not working…we’d be happy to get a look at it. If needed you can privately send me some additional info (timheuer @ microsoft)
I’ve been using it for a couple days now and it’s a great improvement, much faster. Thank you for improving the experience!