我玩了几个不同的插件让C#在vim中编译,即Visual_studio.vim, vim-csharp和vim-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
答案 0 :(得分:3)
@Reacher Gilt有正确的想法,所以我想给他答案,但我的最终解决方案是使用msbuild.exe
我已经添加到PATH
的某个时刻,并将其与this solution结合使用,以生成build.bat文件和:make
。
*.sln
文件夹中,我写了一个build.bat
文件,其内容如下:msbuild.exe "C:\path\to\*.sln"
set makeprg=build.bat
let &makeprg='"C:\path with spaces\build.bat"'
如果您在文件路径中有空格。那是let
而不是set
带有撇号,然后是围绕路径的双引号,并且在空格字符前没有斜线。set errorformat=\ %#%f(%l\\\,%c):\ %m
格式化错误消息。:make
在该目录中的文件:cl
列出所有错误。编辑:我不知道为什么,但是将&makeprg
放在你的vimrc中似乎没有做任何事情。希望有人可以向我解释。您必须“手动”输入:yy
切换到当前文件<C-R>0<Bksp><CR>
答案 1 :(得分:1)
您使用的是Windows,因此您始终可以选择使用msbuild构建命令行。我确信你在vim中有设施运行一个宏来指定一个相对于当前缓冲区路径的项目。
命令行看起来像
C:\Windows\Microsoft.NET\Framework\(version)\msbuild.exe "project file path"
这应该在构建时引入项目的引用,因此您将避免这些错误。