The "What"
While reading some article on the Internet, I fall on a video talking about OmniSharp.A family of Open Source projects, each with one goal - To enable great .NET development in YOUR editor of choice.Less than two minutes after, I was running across my house....
SO I decide to give it a try in one of my favorite text editors this time called Atom.
The "How"
What I like about Atom that it is so easy to install and to customize. The easiest way to install it is via Chocolatey.Chocolatey NuGet is a Machine Package Manager, somewhat like apt-get, but built with Windows in mind.Assuming that you don't have Chocolatey installed, let's start by that. Open a command prompt (cmd.exe) as Administrator, and execute this command:
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
In a new command prompt again with the administrator permission, let's Install the text editor Atom:
cinst Atom
and Git:
cinst Git
Now to install the OmniSharp in Atom you have two options. You could do it through the Settings or using a console. For this post, I will use the second option. Let's open a new command prompt, always as Administrator.
The reason why I use a new prompt every time is to be sure that environment variable gets refreshed.
Execute these command:
apm install language-csharp
apm install autocomplete-plus-async
apm install omnisharp-atom
Now open Atom and let's put some code:
using System;
namespace ConsoleAppDemo
{
class Program
{
static void Main(string[] args)
{
var myBook = new Book{Title="Get Started with OmniSharp"};
Console.WriteLine(String.Format("Here is my review of: {0}", myBook.Title));
}
}
public class Book
{
private string _review;
public string Title{get;set;}
public string Review{
get{
if(String.IsNullOrEmpty(_review))
{
_review = "This book is nice";
}
return _review;
}
set{
_review = value;
}
}
}
}
Nothing special until you start the OmniSharp server with Ctrl-Alt-o.
Boom!
As you can see now the intelisense, completion, code navigation and so more! If you click on the little green flame on the bottom left you see details about notification and error message.
The end
OmniSharp is a frontend compiler, not a complete compiler so it doesn't generate CLI code. But It's already a lot. Today, you can use OmniSharp with Sublime Text 3, Atom, Emacs, Brackets, Vim and with command line only. So whether on your old laptop or your new PC, whether you run Linux, Mac or Windows let's do some C#!
~Frank Boucher