omnisharp-roslyn

OmniSharp based on roslyn workspaces

Github星跟踪图

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

主要指标

概览
名称与所有者OmniSharp/omnisharp-roslyn
主编程语言C#
编程语言Shell (语言数: 6)
平台
许可证MIT License
所有者活动
创建于2014-12-12 16:21:03
推送于2025-06-09 18:01:18
最后一次提交2025-04-30 15:57:12
发布数212
最新版本名称v1.39.14-beta.9 (发布于 )
第一版名称1.0.0 (发布于 )
用户参与
星数1.9k
关注者数63
派生数423
提交数6.3k
已启用问题?
问题数1214
打开的问题数376
拉请求数1284
打开的拉请求数14
关闭的拉请求数147
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?