Visual Studio 2017/2019 で Emacs キーバインド


Visual Studio 2012-2019 対応の Emacs Emulation 拡張機能(アドイン)が Marketplace にあるので入れてみます。

もともと Microsoft の拡張機能なのにオープンソースになっているのはなぜでしょう?
その経緯も調べてみます。

インストール方法

  1. Emacs Emulation を以下のリンクからダウンロードし、Visual Studio をすべて閉じてインストールする。
  2. インストール後に Visual Studio を立ち上げると管理者権限を求めてくるので OK とする。
  3. ツール > オプション > 環境 > キーボード > 「次の追加キーボードマップスキームを適用」 にて「Emacs」を選ぶ。
  4. Visual Studio を再起動する。
  5. (必要に応じて)キーバインドを追加・削除する。
    1. ツール > オプション > 環境 > キーボード > 「以下の文字列を含むコマンドを表示」で検索する。
    2. 「使用する場所」を「テキストエディタ―」とし、「ショートカットキー」の中にカーソルを入れて好きなキーを押す。
    3. 「割り当て」を押して確定する。

(2019.11.26) コメント欄でigiyさんに最新版があることを指摘いただいたのでリンクを更新しました。

オープンソース化の経緯

オープンソース化されているようですが、ライセンスはどうなっているのでしょうか。

Visual Studio 2008 では標準で Emacs キーバインドを選べました。
Visual Studio 2010 では標準機能から外れ、Microsoft 提供の拡張機能 (Emacs Emulation) になりました。 
この VS2010 の拡張機能はそれ以降のバージョンに対応しませんでしたが、vsix を編集することで新しいバージョンにもインストールする方法があり、Qiita の記事でも紹介されています。

一方、2014年に Satya Nadella氏がCEOになりオープンソースに力を入れだしたころ、Microsoft 内の Technical Evangelism and Development チームにいた Brad Merrill氏が社内で働きかけて、VS2010 用 Emacs Emulation のオリジナルソースコードをオープンソース化するのにこぎつけたようです(Merrill氏による解説。以下はその抜粋)。

After tracking down the Visual Studio “owners” and getting all the appropriate legal sign-off this release is finally ready.

そのコードは https://github.com/zbrad/EmacsKeys にて MITライセンスで公開されることとなりました(最初のコミットがVS2010 用のオリジナル版)。

さらに、現在はフォークされたコードが Justin Clareburt氏によって https://github.com/justcla/EmacsKeys でメンテされています。

本記事で紹介したアドインは、この Clareburt氏メンテのものになります(以下、Market Place の説明より抜粋)。

The code was originally open-sourced here: https://github.com/zbrad/EmacsKeys
This version is being maintained on the justcla fork: https://github.com/justcla/EmacsKeys