VS Code で C 言語環境を構築する

📢 この記事は gemini-3-flash-preview によって翻訳されました

この記事は Hiyoung によって書かれたよ。

元の記事: https://blog.hiyoung.icu/2022/12/15/997871bc263d/

VSC はあくまでテキストエディタであって、IDE(統合開発環境)じゃないんだ。だからコンパイラやその他の機能は含まれていない。コンパイラは自分でインストールする必要があるよ。

第一歩:まずは VS Code の公式サイトからソフトをダウンロードしよう。リンク: Visual Studio Code – Code Editing. Redefined

第二歩:コンパイラをダウンロードするよ。C 言語には gcc を使う。リンク: MinGW-w64 – for 32 and 64 bit Windows download | SourceForge.net 。最新バージョンの中の x86_64-posix-seh を選べば OK。公式サイトからのダウンロードは遅いかもしれないから、一応百度網盤(Baidu Netdisk)のリンクも載せておくね。

(以下、百度網盤の秒伝リンク:b48357234368d9ba439fc0db6e86531d#84cbf1dc60abe4fff77d035540ea3132#140697937#mingw64.zip)

(通常の百度網盤リンク:リンク: https://pan.baidu.com/s/17FYT\_Y-s-I2yajFc2MICqw 抽出コード: ewis )

第三歩:E:\mingw64\bin をシステム環境変数に追加する(ドライブ文字などは自分がコンパイラをインストールした場所に合わせてね)。

Win11 を例にすると:設定 -> システム -> バージョン情報 -> システムの詳細設定 -> 環境変数 -> システム環境変数 -> Path をクリック -> 編集 -> 参照 -> 該当するフォルダを追加すれば OK。

配置 C 语言 2

配置 C 語言 3

第四歩:

Win+R キーを押して cmd を実行(この手順は飛ばさないで)。gcc と入力してみて。no input files と表示されれば成功。「内部コマンドまたは外部コマンド…として認識されていません」とか「‘gcc’ という名前は、cmdlet、関数…として認識されません」と出たら失敗だよ。もし後者のエラーが出るなら、gcc があるフォルダが環境変数の Path に入っていない証拠だから、追加し直してね。追加したのにダメな場合は、再起動してみて(再起動を忘れずに)。再起動してもダメなら、どこかの操作が間違っているはずだよ。

gcc -v と入力すると、gcc のバージョンが表示される。もし表示されたバージョンが今ダウンロードしたものより古い、あるいは違う場合は、Path の中に古いバージョンのコンパイラが残っている可能性がある(他の IDE を入れた時に一緒に入ったのかも)。その場合は、Path から古い gcc のパスを削除する必要があるよ。

この 2 つの検証は必ずパスさせること。そうじゃないと環境変数を修正しなきゃいけない。間違えて他の大事なパスを消さないように気をつけてね。

配置C语言 4

第五歩:VS Code を開いて、関連するプラグインをダウンロードしよう。

配置C语言 5

第六歩:2 つの json ファイルを作成する必要がある。以下は launch.jsontasks.json だよ(ファイル名はこの通りにする必要がある)。コード内のコメントをよく読んで、自分のコンパイラのパスに書き換える場所がいくつかあるから注意してね。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{
    // IntelliSense を使用して属性を詳しく知る。 
    // 既存の属性の説明を表示するにはホバーする。
    // 詳細については次を参照: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "gcc.exe - アクティブファイルの生成とデバッグ",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\bin\\${fileBasenameNoExtension}.exe",//生成されたバイナリを現在のファイルの bin フォルダに入れるという意味。自分で bin フォルダを作成しておく必要があるよ。
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "E:\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "gdb のプリティプリントを有効にする",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: gcc.exe アクティブファイルの生成"
        }
    ]
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe アクティブファイルの生成",
            "command": "E:\\mingw64\\bin\\gcc.exe",//自分のファイルパスに変更してね
            "args": [
                /*"${fileDirname}\\*.c",
                "-o",
                "${fileDirname}\\bin\\${fileBasenameNoExtension}.exe",
                "-g"//複数ファイルコンパイル*/
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\bin\\${fileBasenameNoExtension}.exe"//生成されたバイナリを現在のファイルの bin フォルダに入れるという意味。自分で bin フォルダを作成しておく必要があるよ。
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always", // タスク実行時にターミナルパネルにジャンプするかどうか。always, silent, never が選べる。詳細は VSC のドキュメントを参照。
                "focus": true,     // true にするとタスク実行時にターミナルにフォーカスが当たる。でも C/C++ のコンパイルではあまり意味がないかも。
                "panel": "shared"   // 異なるファイルのコンパイル情報を一つのターミナルパネルで共有する。
            },
            "detail": "デバッガーによって生成されたタスク。"
        },
        {
            "type": "cppbuild",
            "label": "(複数ファイル)gcc.exe - アクティブファイルの生成とデバッグ",
            "command": "E:\\mingw64\\bin\\gcc.exe",//自分のファイルパスに変更してね
            "args": [
                "${fileDirname}\\*.c",
                "-o",
                "${fileDirname}\\bin\\${fileBasenameNoExtension}.exe",//生成されたバイナリを現在のファイルの bin フォルダに入れるという意味。自分で bin フォルダを作成しておく必要があるよ。
                "-g"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always", // タスク実行時にターミナルパネルにジャンプするかどうか。
                "focus": true,     
                "panel": "shared"   
            },
            "detail": "デバッガーによって生成されたタスク。"
        }
    ],
    "version": "2.0.0"
}

これで設定作業はだいたい終わり!VS Code には便利なプラグインがたくさんあるから、いろいろ探してみてね。また今度、おすすめのプラグインを紹介する記事も書くつもりだよ。

This post is licensed under CC BY-NC-SA 4.0 by the author.

Visits Since 2025-02-28

Hugo で構築されています。 | テーマ StackJimmy によって設計されています。