VscodeでC/C++コンパイルおよびデバッグ環境を作成する


今回は、WindowsでVisual StudioコードエディタのC/C++コードをコンパイルおよびデバッグするための基本的な開発環境について説明します.段階的に行いますので、真似の悪い部分があればコメントに書いてください

1.Vscodeをローカライズする


読む前にVscodeをローカライズする場合は、「市場表示」(CTRL+SHIFT+X)でKoreanを検索し、「Korean(使い方)言語パックfor Visual Studioコード」をインストールしてから、VSCを再起動します.

2.MinGW 64のインストール


https://sourceforge.net/projects/mingw-w64/files/mingw-w64/
上のリンクに入り、次の最新バージョンのMinGWの「x 86 64-posix-seh」をダウンロードします.この手順は、GCC/G+(GNU C/C++Compiler)コンパイラをインストールする手順です.

上のハイライトは64ビットコンパイラです.32ビットコンパイラが必要な場合は、「i 686-posix-dwarf」を選択します.
ダウンロードして解凍すればいいです.次の文が解凍されていない場合は、解凍プログラム(アル家やバンディ家など)をインストールしてからもう一度試してください.

解凍後、mingw 64というフォルダをCドライブにコピーします.

mingw 64に入るときは私と同じファイルがあるか確認してください(下図).

3.環境変数の設定



「環境変数を設定する必要があります.」Windows+Rをクリックして実行を開き、sysdmをクリックします.cpl」と入力します.システムアトリビュート(System Attributes)というウィンドウが表示されます.「≪拡張|Advanced|emdw≫」セクションに入り、「≪環境変数|Environment Variables|emdw≫」をクリックすると、個別の「≪環境変数|Environment Variables|emdw≫」ウィンドウが表示されます.このウィンドウで、[システム変数](System Variable)の[パス](Path)を指定し、[編集](Edit)ボタンをクリックすると、次のようなウィンドウが表示されます.

ここで、「新規」をクリックし、次の値を入力します.
C:\mingw64\bin
私とは別のディレクトリに配置する場合は、「ディレクトリアドレス」+binと入力します.環境変数を入力した場合は、コンピュータを再起動します.
GCCコンパイラが正しく適用されていることを確認する必要があります.CMDを開き、「gcc-v」と入力してGCCコンパイラのアプリケーションを検証します.そうでなければ、環境変数ウィンドウを再度チェックし、正常に動作している場合はコンピュータを再起動してください.

4.VSCの設定



任意のワークスペースフォルダを開き、任意のcコードを記述します.前処理文の下線の赤い線は心配しないでください.
「Ctrl+Shift+X」をクリックして市場に進出し、C/C++拡張子をインストールします.

インストール後、「Ctrl+Shift+P」をクリックし、表示される検索ウィンドウで「C/C++」と入力した「C/C+:構成の選択」、「構成の編集」(UI)を選択します.


次の設定ウィンドウが表示されます.ここでコンパイラパス、インテリジェントセンシングモードを設定する必要があります.コンパイルパスがCの場合、「C://mingw 64/bin/gcc」となります.「exe」は、C++をコンパイルすると「C://mingw 64/bin/g+」となります.「exe」を選択してください.またIntelliSenseのような場合は「windows-gcc-x 64」を選択してください


以下のC/C++規格に使用基準がある場合は、該当する規格に設定してください.

設定ウィンドウを閉じた後.「c cpp properties」はvcodeというディレクトリにあります.jsonファイルが表示されます.このファイルはjson形式で私たちがさっき設定したファイルを出力します.

5.コードのコンパイル/デバッグ


次に、コードの正式なコンパイル/デバッグを開始します.VSCの「端末の構成->基本構築タスク」を選択します.ワークスペースで使用する言語に基づいて選択します.同じcをコンパイルするとgccがインストールされ、c++をコンパイルするとg++がインストールされます.次に、テンプレートでタスクを実行します.jsonファイル"->"Others"を作成します.


では、次のような「タスク」です.jsonを生成するファイルが表示されます

このタスク.すべての値をjsonファイルにクリアし、次のJSON形式にします.
{
    "version": "2.0.0",
    "runner": "terminal",
    "type": "shell",
    "echoCommand": true,
    "presentation": {
        "reveal": "always"
    },
    "tasks": [
        {
            "label": "save and compile for C++",
            "command": "g++",
            "args": [
                "${file}",
                "-g",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": "build",
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        {
            "label": "save and compile for C",
            "command": "gcc",
            "args": [
                "${file}",
                "-g",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": "build",
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        {
            "label": "execute",
            "command": "cmd",
            "group": "test",
            "args": [
                "/C",
                "${fileDirname}\\${fileBasenameNoExtension}"
            ]
        },
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 활성 파일 빌드",
            "command": "C:/mingw64/bin/g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "C:/mingw64/bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "디버거에서 생성된 작업입니다."
        }
    ]
}
そしてCTRL+Sとして保存する.1行にコピーする場合は、JSON Prettyを行った後に入力することをお勧めします.
「コンパイルされたショートカットキーを登録する必要があります.」ファイル[->]プリファレンス[->]をクリックして、[ショートカット設定]ウィンドウ(CTRL+K+S)にアクセスします.

一番右側の「ショートカットを開く」(JSON)に入ります.その後、すべてのコンテンツをクリアし、次のJSON形式を入力します.他のショートカットキーを使用する場合は、key値の値を変更します.
// 키 바인딩을 이 파일에 넣어서 기본값 재정의
[
    { "key": "ctrl+alt+c", "command": "workbench.action.tasks.build" },
    { "key": "ctrl+alt+r", "command": "workbench.action.tasks.test" }      
]

<これから始まるコンパイル/デバッグVSCデバッグコマンドプロンプトがWindows CMDに設定されていると仮定します.>
Cコードのコンパイルを開始します.先ほどコンパイル(構築)ショートカットで指定した「Ctrl+Alt+C」を押してコンパイルします.これにより、私のように実行可能なファイルが生成されたことがわかります.

これで、生成された実行可能ファイルをCtrl+Alt+Rで実行できます.

「デバッグの作業が必要です」「->」を実行して、構成「->」C++(GDB/LDB)「->」g++を追加します.exe~'を選択します.


では.vscodeディレクトリに起動します.jsonの生成が表示されます.launch.jsonはexternalConsoleの値をfalseからtrueに変更して保存します.

この値を変更したのは、printf、std::coutなど、デバッグ時に実行されるコンソール出力を表示できるようにするためです.

これで、ブレークポイントを任意に指定してF 5キーを押してデバッグできます.F 11をクリックすると、現在のデバッグ時の次の行に移動します.デバッグ時に値を表示するコンソールがタスクバーで開きます.

他のワークスペースで同じプロファイルを使用する場合は、vcodeディレクトリをコピーし、作業するワークスペースに貼り付けます.(コンパイルもデバッグも変わらない)後でWindowsバッチで自動化されたスクリプトを作成し、Windows Subsystem for Linuxを使用してC/C++開発環境を構築する方法について説明します.
長海新聞をご覧いただき、ありがとうございましたもし何か质问/间违い/もっと良い改善案があれば、伝言を残して感谢してください!!!
さらに、MingWを使用してC/C++環境を自動的に設定し、プロジェクトを管理するためのツールを作成しました.興味のある方は下記のリンクに行けばいいです!
https://jhoplin7259.tistory.com/133