6.1 KiB
C# for Visual Studio Code (powered by OmniSharp)
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 projects on Windows, macOS and Linux, and csproj projects on Windows.
The C# extension is powered by OmniSharp.
Get Started Writing C# in VS Code
What's New in 1.4
Metadata as Source
- Go to Definition (F12) can now show a C#-like view for APIs that do not appear in your project's source code. (#165)
Debugger
- Applications can now be launched without attaching the debugger with Ctrl+F5.
- Support for new "embedded portable PDB" debug format.
- The launch.json file generator now automatically sets the option to show a console window by default (
"internalConsoleOptions": "openOnSessionStart"
).
New Settings
Several new settings have been added:
csharp.suppressDotnetInstallWarning
: Suppress the warning that the .NET CLI is not on the path.omnisharp.autoStart
: Used to control whether the OmniSharp server will be automatically launched when a folder containing a project or solution is opened. The default value for this setting istrue
.omnisharp.path
: Can be used to specify a file path to a different OmniSharp server than the one that will be used by default. Previously, this option was controlled bycsharp.omnisharp
, which is now deprecated.omnisharp.useMono
: Whenomnisharp.path
is specified, this controls whether OmniSharp will be launched with Mono or not. Previously, this option was controlled bycsharp.omnisharpUsesMono
, wich is now deprecated.omnisharp.loggingLevel
: Used to control the level of logging output from the OmniSharp server. Legal values are"default"
or"verbose"
.
Colorizer
There have been several fixes to the colorizer grammar resulting in much smoother syntax highlighting, with better support for C# 6.0. Special thanks go to @ivanz and @seraku24 for contributing most of the fixes below!
- Expression-bodied members (#638, #403, #679, #249)
- Escaped keyword identifiers (#614)
- Using directives and nested namespaces (#282, #381)
- Field and local variable type names (#717, #719)
- Multi-dimensional arrays in parameters (#657)
Performance
- Improvements have been made in processing diagnostics (i.e. errors and warnings).
- Full solution diagnostics are no longer computed for large solutions (e.g. solutions with >1000 files across all projects). However, diagnostics are still computed for open files.
Other Improvements
- Multibyte characters are now properly encoded, resulting in proper display in tooltips and fixing crashes in the OmniSharp server. (#4, #140, #427)
- Will no longer attempt to install a CoreCLR flavor of OmniSharp on Ubuntu versions other than 14 and 16. (#655)
- Opening a solution or csproj no longer results in '0 projects' displayed in the status bar. (#723)
Supported Operating Systems
- Currently, the C# extension supports the following operatings systems:
- Windows (64-bit only)
- macOS
- Ubuntu 14.04 / Linux Mint 17
- Ubuntu 16.04
- Debian 8.2
- CentOS 7.1 / Oracle Linux 7
- Red Hat Enterprise Linux (RHEL)
- Fedora 23
- OpenSUSE 13.2
Found a Bug?
Please file any issues at https://github.com/OmniSharp/omnisharp-vscode/issues.
Debugging
The C# extension now supports basic debugging capabilities! See http://aka.ms/vscclrdebugger for details.
Development
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
- 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
License
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.