Skip to content
OmniSharp server (HTTP, STDIO) based on Roslyn workspaces
C# Shell PowerShell Smalltalk F# Batchfile
Branch: master
Clone or download
This branch is 7 commits ahead of OmniSharp:master.

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.pipelines Use 3.1 SDK May 6, 2020
.vscode Add restore task for VS Code Sep 14, 2017
build Update Roslyn to 3.7.0-2 May 20, 2020
doc Fix possessives of its Sep 11, 2019
mono-packaging Quote the path to mono Mar 13, 2020
scripts Add ability install multiple SDKs for tests Mar 25, 2020
src Remerge master May 21, 2020
test-assets Update global.json May 12, 2020
tests Fix EditorConfig tests May 20, 2020
tools Upgrade NuGet tools to preview build Mar 24, 2020
.editorconfig clean up .editorconfig Apr 4, 2020
.gitattributes Force LF EOL for sh scripts Oct 25, 2017
.gitignore added test project ProjectWithComplexAnalyzers.csproj Aug 12, 2019
.lgtm making approvals currently set to 1, as well as let :shipit: work because wh… Apr 29, 2016
BUILD.md Update Mono minimum version to match README May 17, 2020
CHANGELOG.md Merge branch 'master' into lsp-code-actions May 21, 2020
CONTRIBUTING.md removed jabbr link Oct 23, 2019
Directory.Build.props clean up Jun 18, 2018
Directory.Build.targets clean up Jun 18, 2018
GitVersion.yml ignore shas creating incorrect version numbers Apr 17, 2019
NuGet.Config Removed vs-editor feed Apr 22, 2020
OmniSharp.sln removed dotnet project system Jul 11, 2019
README.md Updated license to include .net foundation Mar 29, 2020
azure-pipelines.yml Use windows-latest pool May 9, 2020
blobstring.txt.enc Add blob connection info Dec 8, 2017
build.cake Add ability install multiple SDKs for tests Mar 25, 2020
build.cmd Fix build.cmd to launch powershell with '-NoProfile' flag Apr 17, 2017
build.json updated .net 5.0 sdk for tests May 12, 2020
build.ps1 Futher build performance improvements Apr 11, 2018
build.sh Further updates to the build script to ensure that we build Debug by … Apr 6, 2018
global.json Use 3.1 SDK May 6, 2020
license.md Updated license to include .net foundation Mar 29, 2020
omnisharp.json Ensure all test projects are also using netcoreapp3.1. May 8, 2020

README.md

omnisharp-roslyn

Build Status

Introduction

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 Core SDK on Windows and Mono on OSX/Linux. It targets the net472 target framework. For platforms other than Windows, OmniSharp ships with an embedded Mono which is based on version 5.18.0, includes MSBuild 16.3.0 and is provisioned during the build script. If Mono is globally installed on the system, OmniSharp will prefer it over the embedded version, however version >=6.4.0 is required (the lowest version with at least MSBuild 16.3.0).

For Arch Linux users, you need package msbuild-16-bin (>= 16.3).

In addition, if you need the HTTP interface and you want to run on Linux, you'll also need to make sure that you have libuv installed. See also https://github.com/OmniSharp/omnisharp-roslyn/issues/1202#issuecomment-421543905 .

What's new

See our change log for all of the updates.

Using OmniSharp

OmniSharp ships in two flavors:

  • Stdio server
  • HTTP server

Prerelease Versions

Pre-release versions are available in azure storage, they can be viewed here.

All changes to master will be pushed to this feed and will be made available with the following convention: https://roslynomnisharp.blob.core.windows.net/releases/{version}/{packagename}-{os/arch}.{ext}

  • Version is auto incremented and is visible in the travis or appveyor build output
  • Package Name would be either omnisharp or omnisharp.http
  • os/arch will be one of the following:
    • win-x64
    • win-x86
    • linux-x64
    • linux-x86
    • osx
    • mono (Requires global mono installed)
  • Extensions are archive specific, windows will be zip and all others will be tar.gz.

Building

On Windows:

> ./build.ps1

On Linux / Unix:

$ ./build.sh

You can find the output under artifacts/publish/OmniSharp/<runtime id>/<target framework>/.

The executable is either OmniSharp.exe or OmniSharp.

For more details, see Build.

VS Code

Add the following setting to your User Settings or Workspace Settings.

{
  "omnisharp.path": "<Path to the omnisharp executable>"
}

The above option can also be set to:

  • "latest" - To consume the latest build from the master branch
  • A specific version number like 1.29.2-beta.60

In order to be able to attach a debugger, add the following setting:

{
  "omnisharp.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.

Configuration

OmniSharp provides a rich set of hierarchical configuration options, controlled via startup arguments, environment variables and omnisharp.json file. For more details please visit the Configuration Options section of the wiki.

Help wanted!

We have slack room as well. Get yourself invited: here

License

Copyright © .NET Foundation, and contributors.

OmniSharp is provided as-is under the MIT license. For more information see LICENSE.

Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.

Contribution License Agreement

By signing the CLA, the community is free to use your contribution to .NET Foundation projects.

.NET Foundation

This project is supported by the .NET Foundation.

You can’t perform that action at this time.