1

我玩过几个不同的插件来让 C# 在 vi​​m 中编译,即Visual_studio.vimvim-csharpvim-csharp,但唯一甚至开始编译的是 OrangeT 的vim-csharp,但是当我在 XNA 解决方案上工作,未找到所有 XNA 参考:

The type or namespace name 'Xna' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)

我可以做些什么来更好地使用 vim 使用 C#/XNA 吗?

如果相关:Windows7x64bit VisualStudio2010 XNA4 Python2.7x64bit gVim73

4

2 回答 2

3

@Reacher Gilt 有正确的想法,所以我想给他答案,但我的最终解决方案是使用msbuild.exePATH在某个时候添加到我的解决方案,并将其与此解决方案结合以制作 build.bat 文件并:make由此而来。

  1. 在我*.sln的文件夹中,我编写了一个build.bat文件,如下所示:msbuild.exe "C:\path\to\*.sln"
  2. set makeprg=build.bat
  3. 或者 let &makeprg='"C:\path with spaces\build.bat"' ,如果文件路径中有空格。这let不是set撇号,然后是路径周围的双引号,以及空格字符之前没有斜杠。
  4. set errorformat=\ %#%f(%l\\\,%c):\ %m 格式化错误消息。
  5. :make在该目录内的文件上
  6. :cl列出所有错误。

编辑:我不知道为什么,但把&makeprg你的 vimrc 似乎没有做任何事情。希望有人可以向我解释。您必须“手动”输入:yy切换到当前文件<C-R>0<Bksp><CR>

于 2012-10-31T20:04:05.343 回答
1

您使用的是 Windows,因此您始终可以选择使用 msbuild 在命令行上进行构建。我确定您在 vim 中可以运行一个宏来指定相对于当前缓冲区路径的项目。

命令行看起来像

C:\Windows\Microsoft.NET\Framework\(version)\msbuild.exe "project file path"

这应该在构建时引入您的项目引用,这样您就可以避免这些错误。

于 2012-10-31T19:48:36.033 回答