| Master | Release |
|---|---|
Welcome to the C# extension for Visual Studio Code! This preview 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 and Desktop CLR debugging is not supported.
- Support for project.json and csproj projects on Windows, macOS and Linux.
The C# extension is powered by OmniSharp.
- Use value of
http.proxyStrictSSLeven whenhttp.proxyis not set. (#957)
- Ensure diagnostics are cleared in files when they are no longer needed. (#858)
- Enqueue requests for diagnostics in visible editors when the extension starts up. (#843)
- Provide fallback URLs for debugger downloads. (#930)
- Properly require .NET Framework 4.6 in the OmniSharp.exe.config file to ensure that the user is displayed a dialog on Windows machines that don't have .NET Framework 4.6 installed. (#937)
- Fix issue with installing on non-English installations of Windows. (#938)
- Display platform information when acquiring runtime dependencies. (#948)
- Fix to properly support
http.proxyandhttp.proxyStrictSSLsettings. (#930)
- New C# 7 features like pattern-matching and tuples are now supported in VS Code editor. Note: To use tuples, you will need a reference to this NuGet package.
- With the .NET Core SDK moving to embrace MSBuild and .csproj files over project.json, we've made sure the C# extension can handle the new format. This support is preliminary and there are still several features coming to smooth out the experience.
-
This release dramatically changes the runtime that OmniSharp runs on, which allows it to be run an many more operating systems than before:
- Windows: OmniSharp runs on the installed .NET Framework. In addition, OmniSharp now runs on 32-bit Windows!
- macOS/Linux: OmniSharp runs on a custom embedded Mono runtime. Note: Mono does not need to be installed on the system for this to work.
- Remote debugging is now supported for attach by using the
pipeTransportlaunch.json option. - Resolved issue with setting breakpoints when there are multple files with the same name (e.g. two 'Program.cs' files).
- This improves the acquisition and reliability of platform-specific OmniSharp and debugger dependencies.
Several new settings have been added:
csharp.suppressDotnetRestoreNotification: Suppress the notification window to perform a 'dotnet restore' when dependencies can't be resolved.omnisharp.projectLoadTimeout: The time Visual Studio Code will wait for the OmniSharp server to start. Time is expressed in seconds. (Contributed by @wjk)
- A new unit testing framework for testing the colorizer grammer (#742) (Contributed by @ivanz)
- Single-line comments after preprocessor directives (#762) (Contributed by @damieng)
- Major improvements have been made to editor performance. The communication with the OmniSharp server has been rewritten to allow long-running operations (such as gathering all errors and warnings) to queue while high priority operations (such as text buffer changes) run serially. (#902) (Thanks to @david-driscoll for his help with this change!)
- The prompt to generate assets for building and debugging can now be dismissed for a workspace permanently. In addition, a new
dotnet.generateAssetscommand has been added to force regeneration of the assets. (#635) - Fix "running forever" issue for folder with multple .NET Core projects. (#735) (Contributed by @eamodio)
ctorsnippet is now more consistent with other code snippets. (#849) (Contibuted by @Eibx)- Ampersands in file paths are now properly escaped on Windows (#909) (Contributed by @filipw)
-
Currently, the C# debugger supports the following operatings systems:
- Windows (64-bit only)
- macOS
- Ubuntu 14.04 / Linux Mint 17 / Linux Mint 18 / Elementary OS 0.3
- Ubuntu 16.04 / Elementary OS 0.4 / Arch
- Ubuntu 16.10
- Debian 8.2
- CentOS 7.1 / Oracle Linux 7
- Red Hat Enterprise Linux (RHEL)
- Fedora 23 / 24
- OpenSUSE 13 / 42
Please file any issues at https://github.com/OmniSharp/omnisharp-vscode/issues.
The C# extension now supports basic debugging capabilities! See http://aka.ms/vscclrdebugger for details.
First install:
- Node.js (newer than 4.3.1)
- Npm (newer 2.14.12)
In case you get a node-gyp error follow the instrutions here to fix it. The vscode-textmate package pulls in a native node dependency and those instructions will set up the node build tool which deals with those.
To run and develop do the following:
- Run
npm i - Run
npm run compile - Open in Visual Studio Code (
code .) - Optional: run
tsc -w, make code changes (on Windows, trystart node ".\node_modules\typescript\bin\tsc -w") - Press F5 to debug
To test do the following: npm run test
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.