VSCode + Mingw64でC/C++開発環境構築

# Visual Studio Code(VSCode)のインストール
https://code.visualstudio.com/Download

適当に画面の指示に従って入れちゃいましょう。


# mingw64のインストール
https://github.com/niXman/mingw-builds-binaries/releases

`x86_64-(バージョン)-release-win32-seh-msvcrt-rt_v11-rev(数字).7z`を探してクリックする。
するとダウンロードが始まるので、終わったらダウンロードしたやつをエクスプローラー上で右クリックして「すべて展開」をクリック。
もし、「すべて展開」がない場合は[7-zip](ttps://7-zip.opensource.jp/)をインストールして展開する。

展開したフォルダの中にある「mingw64」フォルダを適切な場所(こだわりがなければCドライブ直下でいい)に移動する。

移動後、mingw64フォルダを開き、その中の「bin」フォルダを右クリックして「パスをコピー」をクリック。

その後、タスクバーのWindowsアイコンを右クリックして「システム」をクリックする。
設定アプリが開くので「システムの詳細設定」を探す。

システムの詳細設定を開いたら下の方にある「環境変数」をクリックする。
システム環境変数の中に`Path`という変数があるのでダブルクリック。
ウィンドウが開いたら右の「新規」をクリックしてさっきコピーしたパスをペーストする
あとはOKボタンをクリックしてウィンドウを閉じる


# VSCode上で環境設定
起動したら左側にある「Extentions」をクリックして、
- Japanese Language Pack for Visual Studio Code
- C/C++
を上の検索窓に入れてインストール

インストールが終わったら`Ctrl + Shift + P`でコマンド一覧を開き、「lang」と入力して出てくる「Confugure Display Language」をクリックして「日本語 (ja)」を選択する。
これで、VSCodeを再起動すると日本語になります。

ソースコード(C, C++)を一つのフォルダにまとめておく
この時、ファイルパスに日本語が含まれているとバグるため、何もわからない場合はCドライブ直下に新しくフォルダを作ると良い。
左の「エクスプローラー」(一番上のやつ)をクリックして「フォルダーを開く」をクリックして、先ほどソースコードをまとめたフォルダを選択する。
この時、信頼云々言われたら「信頼する」をクリックすること。

フォルダを開いたら左上の「ファイル」(or `Alt + F`)から「名前をつけてワークスペースを保存…」をクリックし、わかり易い場所(デスクトップとか)に保存する。

その後、フォルダ内に「.vscode」フォルダを作成し、その中に`tasks.json`、`launch.json`を作成し、それぞれ以下をコピペする

```tasks.json
{
    "tasks": [
        {
            "command": "c:\\mingw64\\bin\\gcc.exe",
            "type": "cppbuild",
            "label": "C/C++: gcc.exe アクティブなファイルのビルド(Windows)",
                "args": [
                    "-fdiagnostics-color=always",
                    "-Wall",
                    "-g",
                    "${file}",
                    "-o",
                    "${fileDirname}\\output\\${fileBasenameNoExtension}.exe"
                ],
                "options": {
                    "cwd": "c:\\mingw64\\bin"
                },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "デバッガーによって生成されたタスク。",
            "hide": false,
        },
    ], 
    "version": "2.0.0"
}
```

```launch.json
{
    // IntelliSense を使用して利用可能な属性を学べます。
    // 既存の属性の説明をホバーして表示します。
    // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {            
            "name": "launch_cpp",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/${relativeFileDirname}/output/${fileBasenameNoExtension}.exe",
            "args": [],
            "cwd": "${workspaceFolder}/${relativeFileDirname}",
            "miDebuggerPath": "C:/mingw64/bin/gdb.exe",
            "stopAtEntry": false,
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
        },
    ]
}
```
これで環境構築は完了


# 使い方
- `Ctrl + Shift + B`でいま開いているファイルをビルド(コンパイル)して`output`フォルダに実行ファイルを保存する
- `F5`で今開いているファイルをデバッグする
    - 先にビルドをする必要がある