Azureの小ネタ (改)

~Azureネタを中心に、色々とその他の技術的なことなどを~

Visual Studio Emacs Extension を入れた後にすること

2016/06/23 追記あり

以前、こんな記事を書きましたが、いくつかカスタマイズした備忘録として。

statemachine.hatenablog.com

CTRL-K

Kill line の挙動が微妙です。二段階で消えるのが好みなのですが、何か文字があってもいきなり行が削除され、1行詰められてしまいました。

以下のPull Requestが取り込まれたので幾分ましになったような気がします。

Merge pull request #4 from genegoykhman/master · zbrad/EmacsKeys@c9ec52d · GitHub

がまだ不完全ぽくて、空の行が消えてくれません。

2016/06/23 追記 以下のPull Requestを取り込むと好みの挙動になりました。

Correct Ctrl-K behavior by lachlanorr · Pull Request #9 · zbrad/EmacsKeys · GitHub

Home/End

Homeでファイル先頭、Endでファイル末尾に移動してしまいます。ここの挙動はWindows慣れしてしまっているので、CTRL-A、CTRL-Eと同じ動きをしてくれた方が自分好みです。オプションから適当に変更します。

Enter

Enter(改行)が「Emacs.編集の改行」に割り当たっています。このままだと、NugetのPowershellコンソールとかで、Enterが聞かなくなってしまいます。原因はよくわかってませんが。

なので、テキストエディターから、「Emacs.改行」のキーアサインを削除し、「編集.改行」へアサインしなおします。

f:id:StateMachine:20160425221100p:plain

とりあえず以上

Visual Studio 2015 / 2013 に Emacs Emulation Extensionをインストールする

以前、以下のような記事を書いたのですが、Azure記事より読まれるという屈辱。

statemachine.hatenablog.com

それから数年、なんとGitHubでソースが公開されておりました。

zbrad.github.io

github.com

おお、すばらしい。早速ビルドしてみましょう。

ビルト

GitHubからCloneして、VS2015でビルドするだけです。Visual Studio SDKが要求されるますが、数クリックで機能追加できましたので、インストーラーを起動することはありませんでした。特に問題なくビルドできるでしょう。

デバッグビルドですと bin\Debug\Microsoft.VisualStudio.Editor.EmacsEmulation.vsix に拡張機能のインストーラができあがります。

追記

以下のPull Requestをマージしないと動きませんでした。執筆時点では取り込まれていないようだったので、要注意です。

Fix a package load exception because the project is not registered as… · ronniexue/EmacsKeys@d41a050 · GitHub

インストール

念のためVSを終了し、vsixを起動します。すばらしい!! そのままインストール可能です。Visual Studio 2013 が入っていれば、同時にインストールできるはずです。

f:id:StateMachine:20151225101550p:plain

ヘルプからみると以下。

f:id:StateMachine:20151225101640p:plain

オプションのキーバインドをみると以下。Emacsのキーボードマップが用意されていました。(Emacsほげほげで定義されていうのは昔の残骸なんですが、それを機能させるようにするやつ見たいです)

f:id:StateMachine:20151225134530p:plain

自分は、WindowsとEmacsのチャンポンぽくなっていて原理主義ではないため、カーソル移動 + α が 定義できれば、だいいぶストレスは軽減されると思ってます。

では、レットトライ。

Visual Studio から 仮想マシンV2を作成する その2

前回 は、予め用意されていたテンプレートを使用して仮想マシンV2を作成しましたが、こんどはテンプレートが空の状態から作成してみたいと思います。

プロジェクトの作成

プロジェクトの新規作成から、空のテンプレートを選びます。

f:id:StateMachine:20150707180643p:plain

JSONファイルとアウトラインを確認すると、まだ何も記述されていない状態です。

f:id:StateMachine:20150707180731p:plain

続きを読む