OmniSharp is a .NET development platform based on Roslyn workspaces. It provides project dependencies and C# language services to various IDEs and plugins.
OmniSharp is built with the .NET SDK.
See our change log for all of the updates.
OmniSharp ships in two flavors:
- Stdio server
- HTTP server
When using OmniSharp with an editor extension (for example, Vim, Emacs, or VS Code), the extension will download or bundle OmniSharp automatically. To download OmniSharp manually, follow the steps below.
Stable and pre-release versions are published using GitHub releases. Each release contains binaries for the supported operating systems and processor architectures.
On Windows:
./build.ps1On Linux or macOS:
./build.shYou can find the output under artifacts/publish/OmniSharp/<runtime id>/.
The executable is either OmniSharp.exe or OmniSharp.
For more details, see Build.
The C# extension for VS Code uses the Roslyn language server by default. To use a local OmniSharp build instead, disable C# Dev Kit and add the following to your user or workspace settings:
{
"dotnet.server.useOmnisharp": true,
"dotnet.server.path": "<absolute path to the OmniSharp executable>"
}To attach a debugger when the server starts, add the following setting:
{
"dotnet.server.waitForDebugger": true
}This will print the OmniSharp process ID in the VS Code OmniSharp output panel and pause the start of the server until a debugger is attached to this process. This is equivalent to launching OmniSharp from a command line with the --debug flag.
OmniSharp provides a rich set of hierarchical configuration options, controlled via startup arguments, environment variables, and the omnisharp.json file. For more details, see the Configuration Options wiki page.
Copyright © .NET Foundation, and contributors.
OmniSharp is provided as-is under the MIT license. For more information, see LICENSE.
This project has adopted the Code of Conduct to clarify expected behavior in our community.
By signing the CLA, the community is free to use your contribution to .NET Foundation projects.
This project is supported by the .NET Foundation.