tech.guitarrapc.cóm

Technical updates

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

VS2022 がリリースされて時間がたち、来月には .NET 7 もリリースされるのでVS2022 で利用している拡張機能を一度まとめておきます。

VS2022 から x64対応されたことで、VS2019 で利用できた拡張機能は非互換になりましたが、幸いにもVS2022 でも多くの拡張機能が利用ができます。この非互換を解消できないパッケージは VS2019 までとは別名で拡張機能が出ていることがあるので注意が必要です。

以前 VS2019 で使っている拡張機能についても書いています。

tech.guitarrapc.com

目次

tl;dr;

VS2022 で拡張の多くが非互換になったことで、かなり見直すきっかけになりました。 どんな環境でも入れておいていいなぁと思うのは、VSColorOutput64、Parallel Builds Monitor、Time Stamp Margin 2022、Copy Nice です。

いずれもコードを書くのを一切邪魔しませんが、ふとしたときにこれがやってくれていたのか、とありがたさに感謝する拡張です。 いい拡張ないか、気になったら試していくぞー。

Extensions一覧

Name Desc VS2019 対応
Git Diff Margin - Visual Studio Marketplace git 差分をエディタ画面に表示
SwitchStartupProject for VS 2022 - Visual Studio Marketplace Startup Project の変更と定義ができるのでWebなどで複数プロジェクトを同時に起動するのが楽になります 〇 別名
VSColorOutput64 - Visual Studio Marketplace Output Window 出力された文字に状態に応じて色が付きます。 〇 別名
Open on GitHub - Visual Studio Marketplace VSからGitHub へのジャンプ
Parallel Builds Monitor - Visual Studio Marketplace プロジェクトごとのビルド経過がチャート表示されます。そのマシンでビルドがどのように遅いのかがわかるのですごくいいです。BuildVision から乗り換えました。
Time Stamp Margin 2022 - Visual Studio Marketplace Output Window で行ごとにタイムスタンプが表示されます。 〇 別名
Solution Error Visualizer - Visual Studio Marketplace Solution Explorer にエラーや警告をハイライト表示します。
Copy Nice - Visual Studio Marketplace コードを他ツールに張り付けた時のインデントをいい感じに修正します ×

それぞれの拡張を簡単に紹介します。

Git Diff Margin

Git Diff Marginの差分表示

git の diff状態がコードの左に表示されます。未保存が黄色、追加行が緑、変更が青、削除が赤で表示されています。 削除内容も赤い三角から見えるので、VSから動かずにどんな変更だったかを見るのに重宝します。

SwitchStartupProject for VS 2022

SwitchStartupProject for VS 2022

ツールバーで デバッグ実行するプロジェクトの選択、設定ができます。Configure からマルチスタートアップ設定ができるので、デバッグ実行で複数プロジェクトを同時に起動することもできます。 設定はslnパスにファイルに書き出されるので、チームで共有もできるのが便利です。

VSColorOutput64

VSColorOutput64の出力例

VSColorOutput の VS2022 対応版です。

Visual Studio は出力ウィンドウ (Output Window) に色付け出力してくれませんが、この拡張をいれることでエラーを赤字にしたりといった色付けが有効になります。

Open On GitHub

Open on GitHub は右クリックコンテキストメニューからジャンプできる

Visual Studio から GitHub の該当コード行をブラウザで開くことができます。

Parallel Builds Monitor

Parallel Builds Monitor でビルド状況の可視化

BuildVision を使わなくする程度の能力です。

ビルドをしたときに、どのプロジェクトの順に、どれぐらいの時間がかかってビルドされたかが可視化されます。 ビルドはいつの間にか遅くなったり、使うマシンによってビルド時間が変わりますが、自分の環境だけの問題なのかどうかを客観的に測定できるようになります。

新しい CPU にしたり、メモリ積んだり、ストレージ変えたり、いろんなときに試すと面白いです。

Time Stamp Margin 2022

Time Stamp Margin でデバッグ実行時にOutput Window にタイムスタンプが付与されている

デバッグ実行時、出力ウィンドウ (Output Window)にたくさん出力する割に、いつ出たものはわからず後から困ることが多いです。 そんな時に行ごとにタイムスタンプが付いていると、便利というわけです。

いざ困ってからではなく事前に入れておいて損がない拡張です。

Solution Error Visualizer

Solution Error Visualizer でソリューションエクスプローラーからエラーがわかる図

私は Solution Explorer が大好きですが、ビルドしたときにエラーや警告が何となく出てくれると便利だと思うことがあります。 そんな人はこの拡張を入れると、エラーウィンドウだけでなく、Solution Explorer でもエラーが出てるファイルを確認できます。

インストールしたり、アンインストールしたりを繰り返している筆頭拡張かもしれません。

Copy Nice

VSで先頭行のインデントを含まずコピーしても

貼り付けたときにインデントが壊れない

Mads Kristensen 先生の新作です。(2022年10月25日)

主にコード片をSlack やREADME、スライドにコピペするときに助かります。 コードをコピーするときに、先頭行のインデントのずれストレスを回避してくれます。

とりあえず御大の記事を読むといいです。

devblogs.microsoft.com

VS2022で使わなくなった拡張

VS2019 まで使っていて VS2022 で使わなくなった拡張です。

  • BuildVision: 動作が微妙に怪しいまま使っていましたが、Parallel Builds Monitor に置き換えました。今までありがとう
  • Open UserSecrets: 自作の拡張でしたがついにいらなくなった気がするので、VS2022 対応をしない方針です
  • Fix Mixed Tabs 2022: .editorconfig で代用するようになったので使わなくなりました。今までありがとう