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対応
GitDiffMargin Git差分をエディタ画面に表示
SwitchStartupProjectForVS2022 Startup Projectの変更と定義ができ、複数プロジェクトを同時に起動するのが楽 [〇別名]|(https://| marketplace.visualstudio.com/items?itemName=vs-publisher-141975.SwitchStartupProjectForVS2019)
VSColorOutput64 Output Window出力された文字へ状態に応じた色が付きます。 〇別名
OpenonGitHub VSからGitHubへのジャンプ
ParallelBuildsMonitor プロジェクトごとのビルド経過がチャート表示されます。そのマシンでビルドがどのように遅いのかがわかるのですごくいいです。BuildVisionから乗り換 え| ました。 | 〇
VisualStudioPlatformTeam.TimeStampMargin2022 Output Windowで行ごとにタイムスタンプが表示されます。 〇別名
SolutionErrorVisualizer Solution Explorerにエラーや警告をハイライト表示します。
CopyNice コードを他ツールに張り付けた時のインデントをいい感じに修正します ×

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

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で代用するようになったので使わなくなりました。今までありがとう