MacにてVisual Studio Codeを使ったC#構築手順

前の投稿にて、Vimエディタを使ってJava環境を構築しようとして、挫折した。
そのため、プログラミングでvimエディタは合わないのだろうと判断し、違うエディタを選ぶことにした。
IDEにしなかった理由は、少しで動作を軽くしたかったから(だからvimを選びたかった)。

んで、たかがエディタを使うだけであるにも関わらず、コンパイルから実行まで4〜5時間掛かってしまったため、備忘録として残すことにする。

# インストールなど。
さすがに省略する。

[Visual Studio for Mac](https://visualstudio.microsoft.com/ja/)から取得すれば、そのまま使えたはず。
そして、CSharpの場合は、[.Net Core 3.1 SDK 以降](https://dotnet.microsoft.com/download)が必要になる。

# 起動
Visual Studio Code.appを叩けばいいだけなので、気にすることはない。

![1.VisualStudioCode.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82414/c7be011a-5b69-eafa-4729-e03d113bd813.jpeg)


# ワークスペースフォルダを追加
IDEであれば、プロジェクト作成の表現を使うことだろう。

![2.ワークスペースディレクトリ.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82414/0b588759-1010-91e7-d517-e70371af7302.jpeg)

"ようこそ"タブがない場合は、、、どうする？

![3.ディレクトリ作成.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82414/4d057b29-7610-a84e-0134-195015a38dc6.jpeg)

ワークスペースに作成したフォルダが(作成したため)表示される。

## 脱線した話。
個人的には、フォルダーの長音記号は邪道だと思っている。そもそも[命名規則違反](https://kikakurui.com/z8/Z8301-2011-01.html)だし、、、

> その言葉が 3 音以上の場合には，語尾に長音符号を付けない。

別途参照：[3音ルール－語尾の長音記号の使い分け－](http://www.yamanouchi-yri.com/yrihp/techwrt-2-4s/t-2-4s07a-1.htm)について。

Microsoft社が[長音記号を付ける](https://www.atmarkit.co.jp/news/200807/25/microsoft.html)ことにしたのがな・・・。
今から2008年の出来事か。思った以上に昔だった。

# ドットネット用の下地作成
".NET Core コンソール アプリ"プロジェクトを作成するため、コマンドプロンプト(Control+\`記号で表示可能)に、 `dotnet new console`を打ち込む。

![4.どっとねっと.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82414/a86cd586-8944-a3c9-66bd-7cb4191f7b3a.jpeg)

実行したことで、必要なファイルが自動生成される。

# C#をVisual Studio Codeに導入
上記のコマンドでC#ファイル(*.cs)も自動生成されているため、これを開く。

![5.csファイル.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82414/61c43ce0-68ed-dd47-79d3-a2395a55b250.jpeg)

そうした場合、C#用の拡張有無を聞かれるため、 **"Yes"** ボタンを押下する。
※一定時間後に、この確認ダイアログは消える。

# 試しに動かす
Visual Studio Codeに、C#用ソフトウェアが導入されたことを"アプリを拡張する"というそうだ。
これにより、C#ファイルをコンパイル及び実行できる。

ここでもまた、コマンドプロンプト上で、　`dotnet run` を実行する。

![6.どっとねっとを走らせる.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82414/9aa3a996-e3d4-65de-eff4-6463c8a86a23.jpeg)

プロンプトに"Hello World!"が表示された。

# デバッグ準備
冒頭で作成したqiitaSampleディレクトリ配下に、隠しディレクトリとして.vscodeがある。
この中に、launch.jsonファイルがあり、この中身を書き換えることで、デバッグ実行が可能になる。

![7.虫.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82414/bdc3d5be-d874-6b41-fb93-062f62077f5a.jpeg)

変更前："console": "internalConsole",
変更後："console": "integratedTerminal",

# デバッグ
今回は、プロンプトからではなく、左側にある三角形と虫の絵が付いたボタンを押すことで、デバッグ実行になる。

![8.虫潰し.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82414/c28325e9-1f63-a45b-6b21-08fa1357e177.jpeg)

プルダウンメニューには、".NET Core Launch (console)[ワークスペースフォルダ名(?)]"が選択されていることを確認すること

今回の場合のワークスペースフォルダ名は、"qiitaSample"になる。

# デバッグ途中
今回は10行目にブレークポイントを設置した。

![9.壊す.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82414/d6ea40a0-05bd-253b-51d2-49609f645236.jpeg)

ブレークポイントは、行番号の左側をクリックすることで設置できる。

# ステップ実行など。
あとは各々好きにデバッグをすれば良い。

![10.虫とのステップ.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82414/798113bc-8807-37d0-ac21-48062adc4c86.jpeg)

処理を最後まで走らせたのが以下画像になる。

![11.bash.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82414/29b6256b-042c-9e7b-ce16-8d0fb69785a7.jpeg)

以上。

一応手順をまとめたが、本当にこんな手順に躓いたとは思えない。
そのため、環境をいじっていたときに、正しい環境になってしまい、躓いた箇所を再現できずに、スムースに終わってしまったと思われる。
無事に環境構築が出来たのはいいのだが、ちょっと腑に落ちない。
無念ではあるが、結果オーライと言うことでよかった。

■公式ページ
[チュートリアル: Visual Studio Code を使用して .NET Core コンソール アプリケーションを作成する](https://docs.microsoft.com/ja-jp/dotnet/core/tutorials/with-visual-studio-code)
[チュートリアル: Visual Studio Code を使用して .NET Core コンソール アプリケーションをデバッグする](https://docs.microsoft.com/ja-jp/dotnet/core/tutorials/debugging-with-visual-studio-code)