Omnisharp has two primary components: a server and a client. The server provides HTTP endpoints that return information about a code base. The client(s) is aa plugin for the user's editor-of-choice that calls the server and uses the data to provide syntax highlighting, code completion, refactorings, etc. The Omnisharp server started life in the omnisharp-server Github project. The latest version is now in the omnisharp-roslyn Github project. It's this project that I've been trying to build.
omnisharp-roslyn provides a build script (either build.cmd or build.sh) to make this a no-brainer. This script tries to set up the local environment, update the required packages, and publish the server. All of this relies on the .NET Execution Environment (DNX). There is nothing wrong with the build script from what I can see. Try it first. I ran into errors with the build script and had to do a few things step-by-step.
Below are the steps I ran to get the omnisharp-roslyn bits running from the code:
dnvm upgrade -unstableThis installed dnx-mono.1.0.0-beta6-12174.
dnvm exec 1.0.0-beta6-12174 dnu restoreThis pulled down all the necessary packages.
dnvm use 1.0.0-beta4This is the version of DNX that omnisharp-roslyn needs.
dnu restoreI'm not sure why.
./scripts/OmnisharpThis runs omnisharp!
You can have Omnisharp index a particular folder or solution file (SLN) by calling:
./scripts/Omnisharp -s /path/to/sln/or/folder