Skip to content
William Luu edited this page Apr 22, 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.

v0.3.0 has been released, which runs against OmniSharp Roslyn, which is the Roslyn based version of the server and supports ASP.NET v5.

v0.2.1, was the last version that ran against OmniSharp Server. Keep in mind that version is no longer supported and will show a lot of Atom API deprecation warnings.

OmniSharp Atom has been 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).

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!
  • You can also make use of the Atom Command Palette by invoking the keyboard shortcut CMD+SHIFT+P on OS X or CTRL+SHIFT+P on Windows/Linux.

Atom Command Palette showing OmniSharp commands

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