2013年6月7日金曜日

Visual Studio Express 2012 で coffee を外部ツール登録

状況

Microsoft の Visual Studio 2012 for Web の無償版(Express版)はファイル追加メニューから一応 CoffeeScript ファイルを作ることができる。ただし、

  1. CoffeeScript に関してはインテリセンス、構文色分け、コンパイル機能がない
  2. 上位の有償版 Visual Studio にはこのためのアドオンがあるが、Express版で使えない
  3. Express版でも使える NuGetのパッケージ JurassicCoffee は自動コンパイル機能を持つが、エラー表示がされない(CoffeeScript 1.6.3)

対応

コンパイラを呼び出すコマンドを外部ツール登録する。

準備

(手順省略)
Windows 版の npm のインストール
CoffeeScript のインストール

外部ツール登録

「ツール>外部ツール(E)...」から。

タイトル:

Compile Coffee 等、適当に。

コマンド:

coffee.cmd のフルパス。例えば Windows 7 でのデフォルトは
ユーザーディレクトリの App Data\Roaming\npm\
パスを通している場合は、コマンドプロンプトで
where coffee
と入力して場所が調べられる。

引数:

-cbwm $(ItemPath)
ここで

  • オプションの c はコンパイル命令。必須
  • b はコード内の関数全体をブロックで囲わないオプション。任意
  • w はウォッチモード。コマンドは終了せず、ファイルの更新を検知して自動コンパイルする。任意だが便利
  • m はソースマップ生成。Chrome でデバッグが便利になる。任意

初期ディレクトリ:

$(ItemDir)

出力ウィンドウを使用:

Visual Studio 内の出力ウィンドウに結果表示。オフにすると替わりに DOS窓が開く。

ショートカットキーの割り当て

ツール>オプション>環境>キーボード
「以下の文字列を含むコマンドを表示」に「ツール.外部」を入力して絞り込む。
デフォルトではショートカットの割り当てがないので、例えば「Ctrl+Num -」あたりに設定。

外部ツールの呼び出し

CoffeeScript ファイルを編集中に、設定したショートカットキーかメニュー(ツール>外部ツール)を使って呼び出す。コンパイルが成功すれば出力ウィンドウに
(時間)compiled: (ファイルパス)
と表示され、失敗すればエラー内容が表示される。
一度呼び出すとウォッチモードに入るので、以降はファイルの保存時に自動コンパイルされる。

問題点

coffee をウォッチモードで複数実行すると、Visual Studio 終了後も「node.exe」プロセスが残る。問題になるようならタスクマネージャーから終了させる。