Git Product home page Git Product logo

omnisharp-roslyn's Introduction

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 6.10.0, includes MSBuild 16.8.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 mono-msbuild (>= 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 OmniSharp#1202 (comment) .

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
    • win-arm64
    • 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.

{
  "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 to your User or Workspace settings:

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

omnisharp-roslyn's People

Contributors

filipw avatar dustincampbell avatar david-driscoll avatar nosami avatar savpek avatar joerobich avatar akshita31 avatar bjorkstromm avatar troydai avatar davidfowl avatar jrieken avatar hal-ler avatar 333fred avatar seesharper avatar yantrio avatar samirat avatar nohwnd avatar razzmatazz avatar alxandr avatar jchannon avatar dmgonch avatar mjmcloug avatar cubitouch avatar demelev avatar sirintruder avatar deitry avatar andorbal avatar itn3000 avatar adamralph avatar johnnyasantoss avatar

Stargazers

Media Explorer avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.