Visual Studio 2019 を入れて最初に行う設定

# はじめに

新しいPCにVisual Studioをインストールして、はじめに行う設定を書き残す

タイトルは2019であるが、Visual Studio 2022でも大差ない（と信じている）

随時あたらしいことを知ったら、この記事を更新する

## 更新履歴

- 2022.03.02 オプション設定を４項目追加
- 2022.04.14 [YouTube動画](https://www.youtube.com/watch?v=qv6ZflueASY)を参考に補助機能の有効化を追加

## 記事投稿時のVisual Studioバージョン

2021年07月現在

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/6c29dafd-e4a1-c10a-268a-921817cafbfc.png)

# 設定すること

ここから実際に手を動かして設定を行う

~~なるべく優先度の高いものから書いていく~~　都度更新した情報を書き足していく

## テーマカラーを設定する

ツール(T) -> オプション(O) -> 環境 -> 全般 -> 配色テーマ(C)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/ad2cddc3-05a1-efac-2f72-7f7c5b3fa7ba.png)

濃い色のほうが疲れにくい気がする

## フォントを設定する

ツール(T) -> オプション(O) -> 環境 -> フォントおよび色

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/22282026-7d88-7aee-3389-15918d817558.png)

Windowsにデフォルトで入っているConsolasか、もしくは[jetbrains.com](https://www.jetbrains.com/lp/mono/)のフォントがおすすめ

参考：[Visual Studio CodeにJetBrains Monoフォントを設定する](https://mrkmyki.com/visual-studio-code%E3%81%ABjetbrains-mono%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B)

## 拡張機能を入れる

拡張機能(X) -> 拡張機能の管理(M)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/fa5d900b-009e-0b75-7a03-1ebef8e5aae3.png)

左のタブでオンラインを選択し、右上の検索窓でインストールしたいものを絞り込む
なにを入れるか迷ったら「Visual Studio おすすめ拡張機能」でググる

### 拡張機能の初期設定

実際に入れている拡張機能　↓↓
なかには初期設定を変えたほうが使いやすいものもある
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/0d66c501-01ee-6655-5fcf-2d9ff6dadddd.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/356ab77a-d67b-d490-ad86-791cf8db28d8.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/f5b76602-3beb-ab25-2e5d-5085c3cda7fc.png)

#### VsVimの初期設定
`VsVim`はその名の通り、Visual Studioのコードエディター上でVimのコマンドがつかえる拡張機能

キーマップなどは`%HOMEPATH%/.vsvimrc`ファイルに記述する

```vim:.vsvimrc
" Visual Studio 2019 Community VsVim

" jjでインサートモードを抜ける
:imap jj <ESC>
```

また、Visual Studio側でも設定を変更する
Vimの`Ctrl + V`で矩形選択が使えるようにする
（この設定をしないと、Window既定の貼り付けが実行される）

ツール(T) -> オプション(O) -> VsVim -> Keyboard
`Ctrl + V` Handle by VsVim
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/e5714b49-1ec9-0029-dfce-5c1a33450650.png)

参考：[Visual Studio 2019をVimに変える拡張機能VsVimの設定方法](https://wonwon-eater.com/vsvim-install/)
## タブを縦に表示

ツール(T) -> オプション(O) -> 環境 -> タブとウィンドウ -> タブのレイアウト設定(E)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/79191024-f434-d3d7-8f5e-a53b81d417e6.png)

コードは縦に読んでいくものなので、前後関係をつかむためにもコードは上下に広く見たい
ファイルのタブはコード上ではなく、画面の左右どちらかに置くとスッキリする

また、タブの並び替えは「アルファベット順(P)」ではなく「最近開いたタブの最初(F)」にする

## 使用頻度の低いウィンドウは自動的に隠す

Windowのタスクバーと同じように、ふだん使わない箇所は自動的に隠す

特にノートPCなど画面が小さい場合は、なるべくコードが広く見渡せるようにしたい

▼　-> 自動的に隠す(A)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/8e5250c5-109b-4339-e21d-2f5d04c4e4c9.png)

## ビルド失敗時のダイアログを非表示にする

「前回成功したときのビルドを実行するか？」と聞かれて実行した試しがないので
ビルドに失敗したときの確認ダイヤログは非表示にする

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/0c2b5f6e-e4ed-f4ba-eceb-4f88fdfd0dcd.png)

## デバイス間の設定同期を無効にする

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/7062171a-2530-0ca6-4a21-68d11771937c.png)

## リッチな視覚効果を無効にする

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/4ad3199e-13e2-5561-9196-918c72ee3c98.png)

## XAMLのビューとソースを水平に並べる

XAMLは横に並べて見るのが好みなので

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/6d24660f-daac-37d4-1963-06d61824a517.png)

## InteliCodeを有効にする

よく使うC#とXAMLの項目を、有効にする

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/b250efbc-1917-538e-0510-937e0a6fe502.png)

## フィールドメンバーにアンダースコアのプレフィックスをつける

```cs
private readonly Configuration _configuration; // <- 2.プライベートメンバがアンダースコア付きで生成される

public MainWindowViewModel(Configuration configuration) // <- 1.先に引数をつくって Ctrl + . を押すと
{ /* ... */}
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/4fe7fc3e-887a-40d8-ad02-f8a1b22debdd.png)

`_fileName`のルールは以下の通り

- プレフィックスに`_`をつける
- `_`の次の文字は小文字にするため、キャメルケースを選択する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/8802692f-7049-ec3f-adfc-f6a0d6162460.png)

さらに、

## 変数の型が明らかな場合`var`をつかう

最新のC#だと右辺の型が省略できるけど、この項目はどうなっているのだろう？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/e9fbbfd3-a0d5-44ee-9304-8d52a9628f82.png)

## ソリューションの復元をしない

どうせ前回までの進捗なんて覚えてないので、ファイルは都度ひらく

起動がけっこう早くなる印象

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/9230ffe7-b54a-b0b9-8951-317d3cbd7dd8.png)

## コードクリーンナップの構成

先の「変数の型が明らかな場合`var`をつかう」を自動リファクタリングするために「暗黙的／明示的な型の基本設定を適用する」を追加する

この構成だと少し強すぎる感もある

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/b5265ace-72a1-07a4-bbc8-307f89a5589a.png)

### クリーンナップした時の様子

`Crtl+K`, `Ctrl+E`でクリーンナップ実行できる

![Animation.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/fe2c8048-ffd2-b668-6354-2dc0f5707576.gif)

### 足りていない`using`を補完する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/272511/72dcb826-40ee-a264-bb7e-fcfb8a71cee0.png)

### `using`コードブロックを使わない

オプション→テキストエディター→C#→コードスタイル→全般の「コードブロックの優先順位」に「名前空間の宣言」

波かっこを使わないスタイルのほうがすっきりする　※個人の感想です

```cs
namespace WinFormsApp1;

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
}
```

# おわり

とりあえず以上

# 参考

https://baba-s.hatenablog.com/entry/2019/05/07/091000