Skip to content
William Luu edited this page Apr 21, 2015 · 33 revisions

Welcome to the OmniSharp Atom wiki!

The OmniSharp Atom package is part of a family many OmniSharp based editor plugins, so in that sense we ride on the coat-tails of many others.

As of v0.2.1, we run against OmniSharp Server.

However, future releases will be run against OmniSharp Roslyn, which is the Roslyn based version of the server.

In addition to that, the current released version of OmniSharp Atom was built using CoffeeScript, but soon will be migrating the bulk of the CoffeeScript code to TypeScript (there's a pull request for it already waiting to be merged). Our plan is to release a 0.2.2 version with omnisharp-roslyn support, then merge the TypeScript code into master.

Prerequisite packages

Riding on the coat-tails of others, the omnisharp-atom package depends on the following packages being installed

Runtime prerequisites

Please ensure you've got Mono 3.4.1 or later installed if you're on OS X/Linux. Or .NET 4.5.1 on Windows. Please refer to the instructions detailed in the aspnet/home repository.

Want to use the bleeding edge version of OmniSharp Atom and can't wait for a new release?

You're probably a developer, so of course you want the latest shiny ;)

  1. You'll need to git clone omnisharp-atom repository master (branch) to your ~/.atom/packages (or c:\Users\<username>\.atom\packages on Windows) folder.
  2. Once you've cloned it, navigate to the omnisharp-atom folder now within packages using your favourite terminal/command prompt.
  3. Run the following command: npm install. This will pull in all the dependent packages.
  4. If you're having any issues, ensure you've got the latest version of npm installed. See the Installing Node.js and updating npm guide.
  5. If you're still having issues, jump into the omnisharp chat room (mentioned below).

Supported operating systems

While our goal is for OmniSharp Atom to run smoothly across all platforms Atom supports (Mac OS X, Windows, Linux), there will always be cases where something breaks.

How to use OmniSharp Atom?

  • Open the root of your solution within Atom
  • Pressing CTRL+ALT+o to starts the OmniSharp server
  • When the flame icon in the bottom left corner turns green, the server has started!

See a missing feature, or a bug?

Feel free to send a pull request to fix something or add a new feature, and someone will review it when they have time. We're an OSS project, staffed by volunteers doing this in our free time. So have patience :)

Features

The ultimate goal is to have available all (applicable/relevant) features exposed by OmniSharp Roslyn from OmniSharp Atom, a list of which can be seen here.

Our list of actual implemented features is small (at this point in time), but will grow with active contributions. If you're comfortable, do have a poke at the code base and see if you can contribute.

Diving into the code:

  • Features are kept in the lib/omnisharp-atom/features folder.
  • And a reference to the feature is kept in lib/omni-sharp-server/omni.coffee.
  • If you'd like to add an item to the OmniSharp Atom menu (or context menu), this can be done by modifying /menus/atom-sharper.cson.
  • If you'd like to add a new keyboard shortcut, this can be done by modifying keymaps/omnisharp-atom.cson

Want to chat with like minded OmniSharp individuals?

Join us on jabbr for a chat - https://jabbr.net/#/rooms/omnisharp

Clone this wiki locally