Visual StudioのソースコードをEmacsで書きたいとき、VS2008のころなんかはVizEmacsとかいう拡張を使ってそれを実現していたけど、どうやらVS組み込みの外部ツール連携機能だけで実現できそうということがわかったのでメモしておく。
Emacsの準備
EmacsはNTEmacsを使っているとする。NTEmacsのbin
ディレクトリの中には以下のような実行ファイルが入っていて、起動するときはrunemacs.exe
を叩いていると思う。
- emacs.exe
- emacsclientw.exe
- runemacs.exe
すでに起動しているEmacsで新しくファイルを開きたい場合には一緒に入っているemacsclientw.exe
を使う。emacsclientw.exe
にファイルパスを渡して実行すると、サーバーとして動いているEmacsでファイルを開いてくれる。
この機能を使うにはEmacs側でサーバーを実行しておかなければならない。Emacsの設定ファイルに次の行を書いておく必要がある。
(start-server)
外部ツールの指定
Visual Studioのメニューから「ツール」→「外部ツール」と進む。
「追加」したらタイトル、コマンドにはemacsclientw.exeのパス
、引数に$(ItemPath)
を指定する。
あとはツールメニューの「emacs」から現在開いているファイルをEmacsに送ることができるようになる。
ショートカットの設定
Emacsユーザーならツールメニューから操作するなんてことは当然できないだろうから、ショートカットを設定したほうがいい。
「ツール」→「オプション」から「キーボード」を選び、「ツール.外部コマンドN」にショートカットを割り当てる。このときの番号は外部コマンドのうち何番目にあるかによるので、外部コマンド追加ダイアログで確認する必要がある。ちなみに僕はEmacsを意味するイメージで「Alt+E」に割り当てている。便利。