MSBuildをVimのmake(QuickFix)から呼び出す方法

前回: VimでWPF(MSBuild)の開発環境を整える(要VS2008) - void palm3r_blog(2008);
色々試行錯誤した結果、無事解決したのでその方法をまとめました。
MSBuild.exe本体にパスを通す必要があるので、環境変数のPATHに次のパスを追加します。

C:\WINDOWS\Microsoft.NET\Framework\v3.5

$VIMRUNTIME/compilerに以下の内容で"msbuild.vim"を作成する。

" Vim compiler file
" Compiler:	Microsoft MSBuild
" Maintainer:	palm3r (http://d.hatena.ne.jp/palm3r/)
" Last Change:	2008 Sep 14

if exists("current_compiler")
  finish
endif
let current_compiler = "msbuild"

if exists(":CompilerSet") != 2		" older Vim always used :setlocal
  command -nargs=* CompilerSet setlocal <args>
endif

" default errorformat
CompilerSet errorformat=
  \%E%f(%l\\,%c):\ error\ %m,
  \%W%f(%l\\,%c):\ warning\ %m,
  \%-G%.%#

" default make
CompilerSet makeprg=MSBuild
  \\ /nologo
  \\ /consoleloggerparameters:
    \NoItemAndPropertyList;
    \ForceNoAlign; 

$VIM/vimrcに以下を追記。

" MSBuild
autocmd BufNewFile,BufRead *.proj,*.xaml setf xml
autocmd BufNewFile,BufRead *.proj,*.cs,*.xaml compiler msbuild

これでmake後のエラージャンプも効くようになり、さらに快適なコーディングが出来るようになりました。

:cd c:/proj/hoge
:make
Sample.xaml.cs|35 col 4 error| CS0246: 型または名前空間名 'hoge' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
Sample.xaml.cs|19 col 16 warning| CS0169: フィールド 'Sample.MainWindow.hoge_' は使用されませんでした。

クリーンやリビルド、プログラムの実行も出来る。

:make /t:clean   # クリーン
:make /t:rebuild # リビルド
:make /t:run     # 実行


アドバイスしてくれたid:ka-nachtさんに感謝!