41

Visual Studio is the defacto editor, but what are our other options that avoid a heavy UI while still integrating with a C# build chain?

Looking for options which preferably use vi or vim directly, and those which emulate some or all of the functionality of vi and/or vim.

wooobie
  • 345
  • 2
  • 12
Tab
  • 1,702
  • 2
  • 19
  • 39
  • 2
    Visual Studio is probably the best IDE out there with amazing debugging abilities built-in. Why don't you want to use that? – Eric Jun 11 '09 at 21:02
  • 30
    I *think* Tab doesn't want to use an IDE at all. Just VIM. I definitely sympathize. – John Weldon Jun 11 '09 at 21:04
  • Just want to second @Eric's comment... your entire question seems like a mistake... just use Visual Studio. Give in to the dark master! – AgileJon Jun 11 '09 at 21:15
  • 10
    There are MANY cases where the overhead of the visual studio environment is just plain annoying. This could quickly devolve into a holy war too though :) – John Weldon Jun 11 '09 at 21:22
  • 7
    I work with the dark master 8=>5 and would like to have a different experience. I want to utilize a great editor but I don't want all the helpers. Think of it as going into the desert to make sure you still have what it takes to survive without some little snappy helper coming along - capish? – Tab Jun 11 '09 at 21:25
  • 8
    @Eric I see this kind of comment all the time from coders who just want to push V.s. down people's throats. It gets really annoying. Yes, Visual Studio is great, but sometimes it's nice to just have the commandline by your side. – zeboidlund Aug 04 '11 at 09:29

6 Answers6

22

Here is a guide on Vim C# compiling.


In response to the comments -

It sounds like your goal is to have a fully functional IDE that works cross platform for C# development, not necessarily to use VIM. If that's the case, you can use MonoDevelop on all platforms (including Windows, but that's a bit trickier), and since you're probably already using the mono compilers on your other platforms, this might be a nicer option.

Reed Copsey
  • 554,122
  • 78
  • 1,158
  • 1,373
  • Tab specifically wanted to avoid shelling out to devenv... – John Weldon Jun 11 '09 at 21:08
  • Not much else in the way of options, using VIM directly. – Reed Copsey Jun 11 '09 at 21:10
  • ya, except for msbuild, which rocks! – John Weldon Jun 11 '09 at 21:13
  • you're still going out to a command line for msbuild, though.... – Reed Copsey Jun 11 '09 at 21:21
  • I have coded with vs.net ide since it was a beta in MS's eyes - I am interested in having the same experience across all platforms. – Tab Jun 11 '09 at 21:23
  • I can live going out to a command line tool like csc.exe, etc - I just did NOT see the value in letting all my memory getting sucked into the ms whirlpool (spell that right?) everytime I want to compile – Tab Jun 11 '09 at 21:29
  • If you're writing code in C#, you can just use VS's IDE everywhere. An alternative is to use Monodevelop, since you're probably using Mono on your other platforms for C# dev. anyways... http://monodevelop.com/ – Reed Copsey Jun 11 '09 at 21:30
  • to Reed - see my comment under the original question – Tab Jun 11 '09 at 22:00
  • Reed - This is was very helpful - mostly what I was looking for - thanks to John Weldon for his comments as well. – Tab Jun 11 '09 at 22:01
10

I'm not connected with the company in any way, but I've heard very good things about ViEmu. If the price were a little lower, I'd get it myself, because I love the editing power of Vim.

John Slavick
  • 10,179
  • 5
  • 28
  • 25
  • 2
    I tried the trial a while back (6-12 months ago). I was impressed but it doesn't offer all the vim commands you're used to. It was a little frustrating to switch mentally to 'I'm editing with VI but only a subset of the commands' – Daniel Jun 13 '09 at 01:04
  • Late Addendum: git-scm comes with a quite complete bash and tools - including vim. I use it for my todo.txt cli and it works great. – Fildor Dec 08 '15 at 13:28
6

Right now there's now something called OpenIDENet from ContinuousTests https://github.com/continuoustests/OpenIDE This along with AutoTestNet and EditorEngine provide a seamless Test Driven Development tooling for VIM.

EditorEngine gives AutoTest capabilities & commandline interactions to VIM ( ie. adding references, new projects to a solution etc. )

AutoTest does the heavy lifting by compiling on save; as it watches a directory. It also feeds back when tests fail.

The main page provides a video demonstration & howto for this tooling. Also on windows NuGet is now available to be used from the commandline too.

I must point out that I do not work for continuoustests or get any money or favor from them, it's just that they produce awesome software for developing with.

Mauricio Scheffer
  • 98,863
  • 23
  • 192
  • 275
James
  • 1,380
  • 11
  • 11
5

MSBuild is a very powerful analog to Ant.

Use msbuild project files to manage your .NET projects, and write a nmake file that calls msbuild.

Map your vi make command to nmake

You can just use :make to do a build

John Weldon
  • 39,849
  • 11
  • 94
  • 127
  • 1
    I imagine I could call msbuild at some command level and pass .proj (msbuild files) files – Tab Jun 11 '09 at 21:27
2

If you are on the latest versions of VS, then the solution files can be built with MSBuild, which is basically a NAnt equivalent.

Otherwise, call csc to compile the files yourself.

Lou Franco
  • 87,846
  • 14
  • 132
  • 192
1

I use nant as a build file (very simple and flexible) then call :set makerpg=nant\ compile.all

Then whenever you wan't to compile just type :mak

This can be extended with custom error formats etc.

flukus
  • 996
  • 8
  • 18