Visual Studio CodeでC#プログラミング

#はじめに
コマンドラインからのC#プログラミングについて[書きました](https://qiita.com/shuhey/items/b4211f196259156df8f4)。
その中で、プログラミングをするときにVisual Studio Code（以下VSCode）を使うと便利ですよ、と書きましたが、ここではどう便利なのかについて書きます。

#何が便利なの
以下の点が便利です。
というか、以下の点ができないとプログラミングが苦行になってしまいます。

- VSCode上でブレークポイントを使ったデバッグができる
- ソースコードの整形ができる
- コード補完が効く

#どうしたらいいの
VSCodeには拡張機能をインストールすることができます。
今回は以下の二つの拡張機能をインストールします。

- C#（Microsoft製）
- C# FixFormat


#「C#」拡張機能のインストール
「C#」拡張機能の役割はVSCode上でのデバッグと、コード補完です。

「.cs」ファイルをVSCodeで開くと、もしかしたら以下のようなメッセージが表示されるかもしれません。「このファイルの種類には拡張機能’C#’が推奨されます。」

![image.png](https://qiita-image-store.s3.amazonaws.com/0/245438/bfb1ee7e-731f-c339-6b8c-1ca5e27e47d7.png)

もし、このメッセージが表示されていたら、そのまま「インストール」ボタンを押しましょう。拡張機能のインストールが始まります。
もし、このメッセージが表示されない場合、左側に縦に並んでいるアイコンから「拡張機能」のアイコン（明るくなっている四角いデザインのやつ）をクリックし、検索欄に「C#」と入力してください。検索結果の一番上に目的の「C#」拡張機能が出てくると思います。Microsoft製でビリヤードのボールみたいなデザインのアイコンです。それでは「インストール」ボタンをクリックしてインストールしてください。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/245438/c0982b01-a6b7-c7c5-3478-636f62d337f3.png)


しかしながら、インストールした直後はまだこの拡張機能が有効になっていません。
そのため、左側に縦にならんでいるアイコンから「デバッグ」を選択したとき、緑の三角の実行ボタンの右側には「構成がありません」と表示されるだけです。
（「デバッグ」のアイコンは明るくなっている円の中に虫の絵が描いてあるやつです）

![image.png](https://qiita-image-store.s3.amazonaws.com/0/245438/2a6fe2c8-f325-602e-7235-9d813ff6807b.png)

そこで、このC#拡張機能を有効にします。左側の「拡張機能」アイコンをクリックするとインストールされている拡張機能の一覧が表示され、その中に先ほどインストールした「C#」という拡張機能が見つかります。「再読み込み」と書かれた青いボタンがあるので、それをクリックしてください。
この拡張機能を有効にするための処理が始まります。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/245438/88e763a4-6ad7-f60d-0680-f1df3ab0b578.png)

C#拡張機能が有効になると、前述の「デバッグ」機能のところで先ほどは「構成がありません」と表示されていたのが「.NET Core Launch(console)」と変わります。
これでVSCodeでデバッグが可能になりましたので、実行ボタンを押してみてください。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/245438/0e053845-5ebe-169e-fa2d-779b8bd73632.png)


さて、ブレークポイントの設定の仕方ですが、行番号の左側の領域をクリックすると赤い丸が付きます。デバッグ実行したときにその行で処理が一時停止します。
左側のペインにはその時点での変数の状態が表示されます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/245438/027e77cf-3c96-8b2f-5247-023deee5a0fb.png)

そして、コーディング時に以下のように入力の候補が表示され、コーディングの手間を軽減してくれます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/245438/929303ec-ccfb-d34f-5d64-688e857548d8.png)


#C# FixFormatのインストール
C# FixFormatの機能はソースコードの整形です。
ソースコードにインデントをつけたり、適切なスペースを入れて見やすくしてくれます。

まずは「C# FixFormat」拡張機能を検索します。以下のように検索するとすぐに見つかると思います。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/245438/603137f9-4386-dd3d-46bd-b19c6b3e2bce.png)

次にこれをインストールしてください。インストールが完了すると、先ほどの「C#」拡張機能と同じく「再読み込み」という青いボタンが表示されるので、それを押して拡張機能を有効にしてください。

ソースコードの整形は「Shift + Alt + F」で実行できます。
成形前：
![image.png](https://qiita-image-store.s3.amazonaws.com/0/245438/ce9610d6-9641-c4f1-1ce1-727770989418.png)

整形後：
![image.png](https://qiita-image-store.s3.amazonaws.com/0/245438/b641db0f-9e9e-1066-d70d-f598eacf0a1f.png)

##括弧の位置がちょっと・・・
個人的には開き括弧は単独で1行使ってほしかったりします。
こんな風に。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/245438/2eca6209-aea1-f825-59d7-6f5f0c42e2e2.png)

このためには拡張機能の設定を変更する必要があります。

##拡張機能の設定変更のやり方

`表示→コマンドパレット`を選択して、コマンドパレットを開きます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/245438/ca643a98-7779-78f5-5c5c-c403b4b54adc.png)

コマンドパレットに以下のように入力すると、`基本設定:ユーザー設定を開く`という項目が表示されるので、それをクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/245438/24217f22-d44d-0a28-3a6e-739970674be9.png)

すると`Settings`タブが開き、設定項目が並びます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/245438/c795c1f7-2da6-7877-1232-521f7a9862f6.png)


左側のリストの中の`ユーザー設定`の中の`拡張機能`を開くと`C# FixFormat Confi...`という項目があります。これが「C# FixFormat」拡張機能の設定項目になりますので、選択します。
選択すると右側に詳細な設定項目が表示され、ここでチェックをオン・オフすることで挙動を変えることができます。

今回の「括弧を単独で1行使って表示させたい」という目的に関係する項目は`Style > Braces: On Same Line`です。
これにチェックがついていると、開き括弧が同じ行にくっつくことになります。
デフォルトでこの設定がオンになっているのでチェックを外します。

設定の変更は特に`保存`の操作は必要なく、変更が加えられた時点で直ちに有効になります。

これで`Shift + Alt + F`を押すと、期待した見た目に整形されます。