tech.guitarrapc.cóm

Technical updates

Visual Studio 2019 で使っている拡張機能

以前 VS2017 で使っている拡張機能について書きました。

tech.guitarrapc.com

VS2019 もRCとなり、いよいよリリースが近づいてきたにつれ、各種拡張機能もサポート対応が進んでいます。

一部はまだ対応されていないものの、今のところいい感じで使えつつあるので一度まとめてみます。

余談ですが、VS2019 では初期読み込みに時間がかかり、VS起動時間に影響のある拡張機能は拡張機能側の実装にバックグラウンドで読み込むことを推奨しています。もし新規に拡張機能を作る場合は検討されるといいでしょう。

左上にSolution名でないのが慣れないのですが、右上のQuick Search横にSolution名出ているので慣れましょう。

f:id:guitarrapc_tech:20190318010258p:plain

右下にはgit リポジトリが出てますが、Slnとずれていることもあります。

f:id:guitarrapc_tech:20190318010324p:plain

目次

Extensions一覧

Recommend Name Purpose Desc
5 Visual Studio IntelliCode - Preview - Visual Studio Marketplace 学習されるインテリセンス VS2019の機能ですが、VS2017でも拡張機能をPreviewで使えます。
5 Git Diff Margin - Visual Studio Marketplace git status をエディタ画面に表示 差分のハイライト表示をしてくれます
5 SwitchStartupProject for VS 2019 - Visual Studio Marketplace Startup Project の変更と定義 Webなどで複数プロジェクトを同時に起動するのが楽になります
5 VSColorOutput - Visual Studio Marketplace Output Window の色付け 出力された文字に状態に応じて色が付きます。
5 Open UserSecrets - Visual Studio Marketplace .NET Core Console で UserSecrets ASP.NET Core MVC の Manage UserSecrets と同様の機能を .NET Core Console でも提供します
5 Open on GitHub - Visual Studio Marketplace VSからGitHub へのジャンプ VS2019対応のPRが作者にマージされました。また、VS2019対応だけではパフォーマンス警告がでるので、非同期読み込み対応もマージされています。
3 Swap Selection - Visual Studio Marketplace 選択箇所の入れ替え テストとかで値を入れ替える時に便利

修正されるまで入れない方がいいもの

パッケージに不具合が残っており、煩わしいエラーがでるので注意です。

Recommend Name Purpose Desc
3 Fix Mixed Tabs - Visual Studio Marketplace ソフトタブ、ハードタブの混在ファイルを開いた時に統一できます。 現在パッケージの定義がおかしいためインストール後にVSのエラーが表示されます。

github.com

リリースを待っているもの

VS2019向けのリリースを待っている状態です。

Recommend Name Purpose Desc
5 GitHub - StefanKert/BuildVision: A Visual Studio extension to visualize the building process. ビルド結果表示の高機能化 [VS2019 対応は2018/12時点でTrial的に行われておりGitHub上で利用可能です。Background読み込み対応をするまではだVS拡張として配布しない方針のようです。]
5 Custom Document Well - Visual Studio Marketplace 縦タブが使いたくて! VS2019対応がまだリリースあsれていません。Productivity Power Tools はVS2019対応されているものの待ちです。コードも公開されていないのでPRも出せない....

それぞれの拡張

Visual Studio IntelliCode - Preview

インテリセンス、コード補完と呼ばれるコード支援機能をさらに支援します。手癖を含めて、普段使っているものが優先して表示されるので地味にめちゃめちゃ便利です。

marketplace.visualstudio.com

Git Diff Margin

git status の状態がVS上に表示されます。未保存が黄色、追加行が緑、変更が青、削除が赤で表示されています。削除内容も赤い三角から見えます。

f:id:guitarrapc_tech:20170725025733p:plain

marketplace.visualstudio.com

SwitchStartupProject for VS 2019

この拡張を使うとツールバーから Start up Project を確認、設定できます。他にも multi-project startup として、複数プロジェクトの同時起動もjsonで設定できるので、チームでプロジェクト設定をgit共有も簡単です。

marketplace.visualstudio.com

便利じゃないですか?

f:id:guitarrapc_tech:20170725032541p:plain

thirteen / SwitchStartupProject / source / Configuration.md — Bitbucket

Open UserSecrets

ASP.NET Core では、プロジェクト名を右クリックすると Mange User Secrets (ユーザーシークレットの管理) メニューが出て、ローカル開発用 secrets.json をVSで編集しやすくします。 しかし、.NET Core Console ではこの機能がなく、せっかくMicrosoft.Extensions.Configuration.UserSecrets nuget をいれて User Secrets を取り扱えるようにしても、VSであつかうのに困ります。

この拡張を使うとそんな苦しみがなくなります。

marketplace.visualstudio.com

VSColorOutput

Visual Studio なぜかデフォルトでは Output (出力) Window に表示された文字が単色ですが、この拡張をいれるエラーは赤字になったり色付けしてくれます。

marketplace.visualstudio.com

例えば正常ビルド

f:id:guitarrapc_tech:20170727042353p:plain

例えばエラー

f:id:guitarrapc_tech:20170727042429p:plain

VS2019で使わなくなった拡張

  • BlackSpace: eidtorconfig でお任せになったので不要になりました。
  • LetMeEdit : 旧csprojでは必要ですが、新csprojではVS標準で提供されるようになりました。特にVS2019ではプロジェクト名ダブルクリックでcsprojの内容を表示するようになり便利です。

まとめ

様々な拡張があります。VS2017からVS2019 に対応してみて感じたのですが、VS2019 の対応自体はたいしたことないのですが、バックグラウンドでの非同期読み込み実装はだるい部分があるのでVS2019対応が遅れているやつはそういうのありそうです。