## C# for Visual Studio Code (powered by OmniSharp)
|Master|Release|
|:--:|:--:|
|[![Master Build Status](https://travis-ci.org/OmniSharp/omnisharp-vscode.svg?branch=master)](https://travis-ci.org/OmniSharp/omnisharp-vscode)|[![Release Build Status](https://travis-ci.org/OmniSharp/omnisharp-vscode.svg?branch=release)](https://travis-ci.org/OmniSharp/omnisharp-vscode)|
[![Wallaby.js](https://img.shields.io/badge/wallaby.js-configured-green.svg)](https://wallabyjs.com)
Welcome to the C# extension for Visual Studio Code! This extension provides the following features inside VS Code:
* Lightweight development tools for [.NET Core](https://dotnet.github.io).
* 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](https://github.com/OmniSharp/omnisharp-vscode/wiki/Desktop-.NET-Framework).
* Support for project.json and csproj projects on Windows, macOS and Linux.
The C# extension is powered by [OmniSharp](https://github.com/OmniSharp/omnisharp-roslyn).
### Get Started Writing C# in VS Code
* [Documentation](https://code.visualstudio.com/docs/languages/csharp)
* [Video Tutorial compiling with .NET Core](https://channel9.msdn.com/Blogs/dotnet/Get-started-VSCode-Csharp-NET-Core-Windows)
### What's New in 1.16.0
* Debugger support for launching with environment variables stored in a separate file from launch.json via a new `envFile` option.
* Debugger support for hit count breakpoint conditions.
* Enabled IDE features for .cs files that are not part of a project.
* Modified the "Unresolved dependencies" prompt to restore the all the projects in the currently selected solution or workspace.
* Added support to configure the default *.sln file loaded when opening a project with multiple *.sln files in the root.
* Added verbosity to the test execution output when running test using codelens.
* Added `monoPath` option to use the mono installation at the specified path when the `useGlobalMono` is set to "always" or "auto".
* Many other bug fixes!
See our [change log](https://github.com/OmniSharp/omnisharp-vscode/blob/v1.16.0/CHANGELOG.md) for more detail.
### Supported Operating Systems for Debugging
* Currently, the C# debugger officially supports the following operating systems:
* X64 operating systems:
* Windows 7 SP1 and newer
* macOS 10.12 (Sierra) and newer
* Linux: see [.NET Core documentation](https://github.com/dotnet/core/blob/master/release-notes/2.0/2.0-supported-os.md#linux) for the list of supported distributions. Note that other Linux distributions will likely work as well as long as they include glibc and OpenSSL.
* ARM operating systems:
* Linux is supported as a remote debugging target
### 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 (8.11.1 or later)
* Npm (5.6.0 or later)
To **run and develop** do the following:
* Run `npm i`
* Run `npm run compile`
* Open in Visual Studio Code (`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.
### License
The Microsoft C# extension is subject to [these license terms](https://github.com/OmniSharp/omnisharp-vscode/blob/master/RuntimeLicenses/license.txt).
The source code to this extension is available on [https://github.com/OmniSharp/omnisharp-vscode](https://github.com/OmniSharp/omnisharp-vscode) and licensed under the [MIT license](https://github.com/OmniSharp/omnisharp-vscode/blob/master/LICENSE.txt).