2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Visual Studio 2019でEasymotion

Last updated at Posted at 2019-12-17

この文章の目的

  • Visual Studio 2019 (以下、VS2019)で Easymotion 使えるようにしたので、その方法に関する覚書。
  • 記事のタイトルは「Visual Studio 2019でEasymotion」ではあるが、同様の方法で、VSの所望の拡張機能が自分のVSのバージョンに対応していない場合に対応できるかもしれない。

キモチ

動機をダラダラ書いてるだけだから、本記事は、基本「やったこと」だけで事が足りる。しかし、なんにしても motivation は大事だと思うのですよ。

Chrome を vimキーバインドちっくにしてくれる Vimium のリンク文字のマッピング機能、ブラウジングするときのページ移動が超効率化されてかなり気に入っている。
で、あれ?このアイディアってそもそもvim系のアイディアってことは、 VSCode のvimエミュレータにもそれっぽいのあるんじゃね?と思い立って調べてみたら、 VSCode のvimエミュレータにはデフォルトで easymotion が入ってるらしくって、適当に設定をしてやれば、サクサクと使えるようになった。
ここまでくれば、本家の Visual Studio にも入れたくなってくるというのが人情ってもの。

調べてみたところ、それっぽい感じの拡張機能を見つけたので、ものは試しと、VS2017 にインストールしてみた所、確かにそれっぽい動きになっていて、縦方向の移動が格段に楽になる。
しかし、この拡張機能、オフィシャルにはVS2017までしか対応してなくて、自分の現行の開発環境は VS2019 。

しょうがないので、 Visual Studio の拡張機能の開発はやったことないけど、何とかなるんじゃないかマインドで、Easymotion のソースコード落としてきてビルドしなおしたら、なんかそれっぽく動いたので、その時のメモを残す。

(というわけで、記事のタイトルは「Visual Studio 2019でEasymotionが使えるようにした」ではあるが、同様の方法で、VSの所望の拡張機能が自分のVSのバージョンに対応していない場合に対応できるかもしれない(もちろん、処理の実装がちゃんとしていることが前提だが))

環境

  • OS
    • Windows 10 Home
  • 開発環境
    • Visual Studio 2019 Enterprise 16.1.5

やったこと

以下の調子でやってみたら、なんかうまい事いったっぽい。ホンマかいな、という気もするが…。

  1. guthub のリポジトリから Easymotion のビルド環境一式を落としてくる。
  2. Visual Studio 2019 を管理者権限で起動して、落としてきたビルド環境を開く。
    • 当初、ユーザ権限で起動・ビルドしたら、"GenerateFileManifestが見つからない"云々というエラーでビルドできなくなって少しハマった。
    • このIssueによると、管理者権限で立ち上げてビルドしたらうまいこと行くぜ、的なことが書かれていたので、従ったらうまくビルドできた。これがなぜ管理者権限でうまいこと行くのかは、イマイチ腑に落ちないが…
    • ちなみに、このIssue自体はまだopenなので、環境によってはこの方法でも解決しないかもしれない。
  3. ソリューションエクスプローラーで、source.extension.vsixmanifestを開く。
  4. Install Targetsを開くと、まさしくインストールするターゲットの設定らしきものがあるので、既存の設定を選択して、Editボタン押下で、Version Range[14.0, 16.0)から[14.0,18.0)に変更する。
  5. Prerequisitesを開くと、同じような設定があるので、同様に変更する。
  6. これで、ビルドを実行して、成功すると、$(SolutionDir)EasyMotion\bin\ReleaseEasyMotion.vsixができるので、これをダブルクリックして、ターゲットの環境にVisual Studio 2019が入っていれば成功。

オチ

ちゅうわけで、無事 VS2019 に Easymotion が入ったのだけれども、vsvim との相性があまりよくないようで、インサートモードでジャンプすると、ジャンプしたときに入力したリンク文字が挿入されてしまい、ノーマルモードでジャンプしようとするとノーマルモードのコマンドとして認識されてジャンプされない、というオチがついた。

まとめ

ので、vsvim を優先する現状では使えない…。これについては、もう少し調べて、解決できたらまた記事にする予定。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?