Visual Studio2022のおすすめ拡張機能

# はじめに
この記事は「NEXTSCAPE Advent Calendar 2023」の19日目です。

https://qiita.com/advent-calendar/2023/nextscape

Visual Studio 2022の拡張機能の中から気に入っているものをいくつか紹介します。
Visual Studioの拡張機能界隈が盛り上がる一助になることを願って、、、

# 拡張機能紹介
## VsVim 2022
みんな大好きVimのキーバインドがVisual Studioでも使えるようになります。Vimや`.vimrc`についてはここでは解説しないので、ぜひ各自で調べてください。

`:vsc`のあとにVisual Studioのコマンド名を入力するとそのコマンドを実行できます。ということは、ホームディレクトリ直下に配置した`.vimrc`か`.vsvimrc`に以下のように設定を書くことで、Visual Studioの任意のコマンドにキーを割り当てられます。

```vim:.vimrc
nnoremap gd :vsc Edit.GoToDefinition<CR>           "定義へ移動
nnoremap <Leader>r :vsc Debug.Start<CR>            "デバッグの開始
nnoremap sf :vsc Edit.GoToFile<CR>                 "ファイルの検索
nnoremap <C-l> :vsc Window.NextTab<CR>　　　　　　　"次のタブに移動
vnoremap <Up> :vsc Edit.MoveSelectedLinesUP<CR>    "選択行を上に移動
```
わくわくしませんか？

https://marketplace.visualstudio.com/items?itemName=JaredParMSFT.VsVim2022Preview

## Solution Colors
下の画像のように、ソリューションごとに色を設定することができます。複数のソリューションを同時に開いて開発を行うときに一瞬で視覚的に識別できるので助かります。

色は自分で選ぶこともできますし、自動で設定させることもできます。ブランチごとに色分けすることも可能みたいです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601327/a740c446-9dae-18fe-c50d-4659f5ce3b0b.png)

https://marketplace.visualstudio.com/items?itemName=MadsKristensen.SolutionColors

## Viasfora
対応する括弧に色を付けたり、キーワードのハイライトをしたり、エディターを見やすくしてくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601327/cfedea7b-aef2-4841-2401-3281a7344e63.png)

Ctrlキーを押すと、カーソル位置の1つ外側の括弧に囲まれた領域がハイライトされます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601327/3e1c257a-e33e-185c-ff76-68fbecfd92af.png)

https://marketplace.visualstudio.com/items?itemName=TomasRestrepo.Viasfora


## File Differ
ファイル同士の差分を表示します。ソリューション内のファイルとの差分もちろんのこと、ローカルに保存している任意のファイルとの差分や、クリップボードとの中身の差分まで出してくれる優れものです。

もっと活用していきたい拡張機能の一つです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601327/55d3cf18-8e7d-f2dd-3e15-cff773424cd7.png)

https://marketplace.visualstudio.com/items?itemName=MadsKristensen.FileDiffer

## MarkDown Editor v2
たまにVisual Studioでマークダウンを編集する機会があるので入れています。とりあえず入れておいて損はないでしょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601327/cd1385fc-6504-da26-1fb4-1848a609379d.png)

https://marketplace.visualstudio.com/items?itemName=MadsKristensen.MarkdownEditor2

## Color Preview

カラーコードの横にプレビューを表示してくれます。安定の機能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601327/bbecbd45-2f79-c462-95ae-e3ad1c3012e6.png)

https://marketplace.visualstudio.com/items?itemName=MadsKristensen.ColorPreview

## Collapse Level

任意の深さでソースコードをたたむことができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601327/e4c4eb54-9c56-09ef-e44e-0a9f11ff8103.png)

https://marketplace.visualstudio.com/items?itemName=mwilski.CollapseLevel

## Scroll Tabs
タブ上でマウスホイールを回すことで、タブの複数行表示のON/OFFを瞬時に切り替えられます。

ファイルの開きすぎで見えなくなったファイルを探すとき、少しの間だけタブを複数行表示できて助かります。常に複数行表示をONにしていると邪魔なので、パパっと切り替えられるこの機能がとてもありがたいのです。

複数行表示OFF
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601327/3cafc706-90a8-96f1-15a2-128ba968263f.png)

複数行表示ON
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601327/fe6a8820-07f4-16bd-f434-0903b4ec9599.png)

https://marketplace.visualstudio.com/items?itemName=MadsKristensen.ScrollTabs

## Favorite Documents

お気に入りのファイルを設定できるようになります。お気に入りは、ソリューションごとに設定できるし、全ソリューション共通のグローバルにも設定できます。

私は前述したVsVimの設定ファイルを、いつでもすぐに開けるようにグローバルのお気に入りに登録しています。仕掛中のタスクの関係ファイルをお気に入りに登録しておくのも良いですね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601327/cd651dbb-26c1-a8ed-f273-bd27278bd84b.png)

https://marketplace.visualstudio.com/items?itemName=SergeyVlasov.FavoriteDocuments

## Solution Error Visualizer 2022
エラーや警告があるファイルをソリューションエクスプローラー上で目立たせてくれます。VS Codeっぽいですね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601327/f01bec37-8bc9-1aaa-a635-5426d3fb704e.png)

https://marketplace.visualstudio.com/items?itemName=VisualStudioPlatformTeam.SolutionErrorVisualizer2022

## File Icons
ソリューションエクスプローラーのアイコン画像の種類を増やします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601327/b4e9ea14-9076-8c08-88fe-e7117e3eae68.png)


https://marketplace.visualstudio.com/items?itemName=MadsKristensen.FileIcons

## Error Helper
エラー一覧に表示されるエラーや警告の説明部分だけをコピー、検索できる機能です。Visual Studioの標準機能の「コピー」だとファイルパスなどの余計な部分までコピーされるんですよね。

「Search Description」をクリックすると検索まで行ってくれます。検索エンジンはGoogle、Bingだけでなく、Ecosia、Stack Overflowも選べます。便利です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601327/800974c6-d9cb-852b-3d0b-5a983d98d340.png)

https://marketplace.visualstudio.com/items?itemName=MattLaceyLtd.ErrorHelper

## WakaTime
Visual Studioの作業時間や、その言語・ソリューションごとの内訳が記録されます。分析内容は https://wakatime.com/dashboard から確認できます。例えばこんな感じ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601327/9a7fbac6-1874-2af2-54dc-87d8f4dec40b.png)

ふとしたときに見てみると面白いです。

https://marketplace.visualstudio.com/items?itemName=WakaTime.WakaTime

## Output enhancer

出力ウィンドウに色をつけてくれます。エラーは赤文字で、警告は黄色文字で表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601327/bd9160de-e300-a325-e0ba-aab29d58f14d.png)

https://marketplace.visualstudio.com/items?itemName=NikolayBalakin.Outputenhancer


## Open in Visual Studio Code
この拡張子のファイルはVS Codeのほうが編集しやすいなーというときにサクッとVS Codeを開けると嬉しいです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601327/82d0fe6f-3b36-dcfd-801a-c7965353ed2a.png)

https://marketplace.visualstudio.com/items?itemName=MadsKristensen.OpeninVisualStudioCode

# おわりに
気になったものがあればぜひ試してみてください。
それでは皆様、よき拡張機能ライフを、、、