ぴよログ

↓に移転したのでこっちは更新されません、多分。

Visual StudioのファイルをEmacsで開く

移転しました →

Visual StudioソースコードEmacsで書きたいとき、VS2008のころなんかはVizEmacsとかいう拡張を使ってそれを実現していたけど、どうやらVS組み込みの外部ツール連携機能だけで実現できそうということがわかったのでメモしておく。

Emacsの準備

EmacsNTEmacsを使っているとする。NTEmacsbinディレクトリの中には以下のような実行ファイルが入っていて、起動するときは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」に割り当てている。便利。

参考

エディタにこだわりがある人へ、「Visual Studio のエディタとの連携」