I contribute to an open source project written in C# that was previously windows-only. When dotnet core came out, I led the effort to port the project to Linux, using Emacs and omnisharp-roslyn which offers intellisense-style code completion via company-mode.
Emacs+C#+omnisharp is pretty darn close to my ideal development experience. My Emacs config is not particularly long nor particularly involved, and in fact one could replicate my C# setup with less than 10 lines of config code.
Highly recommend.