Visual Studio 2015 CTP 5 has been a bit of a pain in the neck recently. So I’m looking at alternatives to allow me to continue being productive until the next CTP comes out. Omnisharp was one that was suggested – a cross-platform IDE for .NET. I’m intrigued. This post is about installing the Omnisharp/Atom package. I’m not expecting it to be as “all-in-one” as Visual Studio. I’ll post about my experiences in a few days.
Start with Atom. This is a standard installer for your platform – be it Linux, Mac or Windows. You download it, double-click on it and it installs. Fairly basic stuff. If you do this on Windows, then it just runs afterwards and you get something like the following:
I need a few packages, according to the OmniSharp web site. Click on Install a Package then click on the highlighter Open Installer. There are three packages that are required:
- language-csharp – for C# support
- autocomplete-plus – for Autocomplete support
- omnisharp-atom – the Omnisharp System
On my Windows deployment of Atom, language-csharp was already installed. Just type in the name of the package and hit Enter. The list of possibilities comes up. Autocomplete-plus was down the list.
Click on the Install button to install each one. There are a bunch of other packages that may be useful and I will report back on those when I do my follow-up post.
Using Omnisharp with Atom
From the Welcome Guide, choose Open a Project. Find the folder containing your project and click Select Folder.
This will produce the tree of files in the left hand side. You now need to “turn on” Omnisharp. To do this, Select Packages -> omnisharp-atom -> Toggle. Now you are all set.
Change the Theme
The default color scheme does not show errors clearly. Open up the Welcome Guide, open the Theme Picker and select the Atom Dark (if you like the dark color scheme). It displays the errors in a much higher contrast color.
Basic Things Worth Nothing
If you look at the left hand folder pane, you may see orange and green text. Green is “new files that are not in the Git repository yet” and Orange is “files that have been modified from the git repository” – this is a great at a glance feature.
Gulp support is not an out-of-the-box feature. I installed the gulp-control package pretty well straight away. Unfortunately, the “Omnisharp Server” is bound to the same keyboard shortcut as Gulp Control by default. Go to the File -> Open Your Keymap and enter the following in the file:
'atom-workspace': 'ctrl-alt-g': 'gulp-control:toggle'
This will re-map the gulp control toggle to the specified key. The gulp control plug-in allows you to run the gulp commands from within the editor. This made me think I should alter things to run the server – right now, I run “k web” to run the server. Maybe I should use “gulp run” instead?