## 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).