Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Omnisharp – Tools and extensions to work with C# in any editor (newventuresoftware.com)
130 points by deniskyashif on Dec 10, 2015 | hide | past | favorite | 36 comments


I use Omnisharp pretty much daily with emacs, on Windows, in my day job (mainly ASP.NET MVC development). I still use VS, mostly for managing MSBuild files, NuGet package configs, and debugging. But it's nice to have a more capable text editor than the one in VS for lots of text wrangling tasks.


Why not use VsVim or ViEmu? Then you get a proper text editor, but all the VS niceness, too. Actually if you're using Emacs , you're in the same place, having to install Evil and all.


Not OP, but maybe because he's not using any of the vi stuff? He nowhere said he's using evil or anything. Just emacs.


Sorry I just inferred due to "text wrangling tasks" :).


My first thought - someone should do this with Java as well. One could argue that Java developers are held hostage by IDE's stuck in the past.

As a Java developer, I'm given a platform when all I needed was something a lot simpler. Note that autocompletion is not enough to efficiently code in Java though (especially Java EE), you need a bit more - but the current IDE's are relics of the past.

My personal opinion is that IntelliJ is the best IDE out there, but I'd like to see a vast simplification of your typical Java development environment.


It would be nice. There's an older package for doing Java completion, JDEE, which takes a similar approach (running a helper in BeanShell). But it is difficult to configure, and fragile, and doesn't have enough active developers to keep it up to date.

OmniSharp is a lot simpler, in that you just point the server at a solution file, and it just works. There was talk on the JDEE mailing list a while back about doing something similar using Maven POMs, but I don't think it took off.


It could happen for lots of languages. What's needed is an NRefactory or Roslyn like API for these other languages.


try eclim with emacs


I'm not a .NET guy but I played with OmniSharp for a while with Unity3D in Emacs and it's definitely really cool. Nice to have a powerful autocompletion engine for .NET that plays nice with Linux.


I was literally giddy with excitement the other day when my first ever open source contribution was merged in to the OmniSharp generators project.

(which I think is unrelated to this, but maybe run by the same people. I can't tell if OmniSharp is its own standalone company staffed entirely with MS people, or what - or is it just a "club" of really smart MS people?)

Nothing more than a few lines but they were the difference between being able to see a webpage a 500 error on the default templates so maybe a little worthwhile.

It was so very enjoyable and fulfilling to be working on a project that will be used by so many people. And the nature of giving back to the community really was its own reward.

I'm looking forward to this new world of .NET where it is so much more open and average joe developers can throw in fixes for weird things they find in real time, rather than waiting on bottlenecks at the company.


Omnisharp is mainly community members getting together to produce it. The idea was originally devised by Jason Imison. A couple of MS guys wanted to get involved and now VSCode uses Omnisharp under the hood. So whilst there are a couple of MS guys involved and VSCode uses it, Ominsharp is a community project


I used Omnisharp + vim for Unity3D development and it was working surprisingly well. I would highly suggest you use it for C# development if you are not happy or cannot use IDEs such as MonoDevelop or VS.


I use C# all the time on Linux, mostly on MonoDevelop. But when I'm not using C#, I use vim, so I have tried Omnisharp+vim several times hoping to rid myself of MonoDevelop. Unfortunately, the performance of vim tanks when I have OmniSharp installed, even when I'm not editing C#. Hoping that NeoVim's improvements to asynchronous plugins helps this.


What about Evil in Emacs? I've heard/seen great things about this model versus using vim. (But haven't gotten around to it yet.)


omnisharp-vim author here. I switched to emacs around 18 months ago for exactly the reasons described here.

For the last few months, I don't write C# any more, but still use emacs for F# development.


I work on Roslyn and would love to use Vim for all my editing but you're right -- the UI-blocking extension model Vim has just does not work.

I also have high hopes for NeoVim.


I am using NeoVim instead of Vim. It is working well, but I unfortunately cannot remember if OmniSharp worked through non UI blocking extension api.

There is plugin called deoplete[1] that is doing asynchronous code completion. It shouldn't be too hard to connect it with OmniSharp.

[1]: https://github.com/Shougo/deoplete.nvim


I've been wanting to get rid of VS ever since I started coding in C#, but I haven't yet figured out a nice way to build, test, and run my applications in Emacs. How did you handle that sort of stuff in vim?


Out of interest, what in your opinion was so bad about VS that you wanted to get rid of it?


First of all I should probably say that I'm quite new in the .Net world, and that many of my issues with VS could probably be alleviated. I just don't know how.

Mostly I think it's just about preference. I like my editor lean [insert joke about emacs being bloated here], visually non-distracting and customizable. I also try to avoid using my mouse. Emacs is all of these things for me, VS is not.


VS can definitely be configured to be lean. My setup is dark, almost no chrome, and is fully keyboard driven. It can take a bit of work though. VS isn't my main editor, but I enjoy it when I use it, after a few years of wrestling with settings!


I agree, recent versions are preety customisable. I hardly use the mouse and I didn't have to do much to make VS comfortable to use.


For me, it's bloat. VS is slow as molasses and has a thousand features I don't need nor want. I also miss the multiselect feature from Sublime.



I think I'd rather go for VS.code then, than try to bend Emacs or Sublime into doing C#.


For what it's worth, VS.code uses omnisharp-roslyn for its C# integration. So you can get a very similar experience from editors which have omnisharp-roslyn support.


But VS code has project support and debugging integration AFAIK.

That's the kind of things that really set IDE vs editor in terms of usability.


Interesting, apart from longish compile times on big projects I've never had speed issues. Installing Resharper, useful as it is, made it crawl so I abandonded it, but I feel productive in VS on its own.


Would makefiles not cut it for your needs?


Probably, I just don't know enough about MSBuild to write any yet.


Last plugin I tried in Sublime for Unity work decently well, but not well enough. It would show available functions but it would not show documentation in tooltips. So I ended up going back to Visual Studio. Does this show "extended" tooltip information?


What do you mean by extended? It doesn't as far as I remember. I haven't used it for a ~1 month now so I am not really sure.


Out of interest – on Windows? If not, would you share any details of how you test Windows deployments of your games?


No, OSx. I don't have any interesting details... Usually I test it out on a dedicated machine I have next to my development one. I haven't released a game yet.


I have tried omnisharp with every editor I can think of (Vim, Emacs, Atom on Ubuntu) and have never gotten it to work correctly, so I've given up. Maybe never is a strong word.. I think I had it working for a week until a new version broke it again.


I've only used omnisharp vim once, but the main problem was the configuration files. They're always seemed to be problems.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: