2012-10-31 46 views
1

我用幾個不同的插件起到讓C#在vim編譯,即Visual_studio.vimvim-csharpvim-csharp,但即使是開始 編譯只有一個是OrangeT的vim-csharp,但是當我工作的XNA解決方案,所有 的XNA引用未發現:如何使用vim構建或編譯VS2010/XNA4項目?

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

回答

1

您使用的是Windows,所以你總是要建立在與MSBuild的命令行選項。我相信你有在vim的工具來運行一個宏,指定一個相對於當前緩衝區路徑的項目。

命令行看起來像

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

這應該在你的項目的引用時建設拉動,所以你會避免這些錯誤。

+0

我應該提到,我也試過(使用cygwin,如果這是相關的),並讓它運行一兩分鐘,沒有什麼似乎發生,而VS10只需要一秒鐘。必須殺死這個過程。 – TankorSmash

+0

所以澄清,你在cygwin中使用vim? –

+0

劃痕,這次在cmd.exe中再次嘗試它,它似乎工作。不,使用gVim,但想在這裏使用cygwin作爲命令行工具。發生了所有事情。請給我一點時間來正確設置,我會接受你的答案。 – TankorSmash

3

@Reacher鍍金有正確的想法,所以我想給他答案,但我的最終解決方案是使用我已經加入到我的PATH在某個時刻msbuild.exe,並結合其與this solution使一個build.bat文件和:make

  1. *.sln文件夾中我寫了一個build.bat文件看起來像:msbuild.exe "C:\path\to\*.sln"
  2. set makeprg=build.bat
  3. ORlet &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>

+0

我想知道是否可以編寫一個vim腳本來搜索父目錄(或相關路徑...)並自動設置makeprg。它可以節省您編寫每個新解決方案的build.bats。 –