Contents
事前準備とダウンロード先
| 項目 | ダウンロード URL | 備考 |
|---|---|---|
| VS Code(Windows 用公式インストーラ) | https://code.visualstudio.com/Download | 「Stable」→「64‑bit」→VSCodeUserSetup-x64.exe が取得対象 |
| Japanese Language Pack(拡張機能) | VS Code の Marketplace から検索で取得 | 後述の手順でインストール |
| MinGW‑w64(GCC コンパイラ) | https://winlibs.com/ (「WinLibs」配布が最新かつ軽量) または公式 MSYS2:https://www.msys2.org/ | 本稿では WinLibs のスタンドアロン版を例に説明します |
| Qiita 参考記事(手順の補足) | https://qiita.com/ochx/items/01449d09777187790ee4 | 手順が分かりやすいのでリンクだけ貼っておきます |
VS Code のインストール & 日本語化
1. インストーラを実行
- 上記 URL から VSCodeUserSetup-x64.exe をダウンロード
- ダブルクリックして「次へ」→「同意」→「デフォルト設定でインストール」を選択
- インストール完了後に VS Code が自動的に起動します(最初は英語表示)
ポイント:インストーラのオプションで「
Add to PATH」を有効にすると、codeコマンドがコマンドプロンプトでも使えるようになります。
2. Japanese Language Pack の導入
- VS Code 左側の 拡張機能 アイコン(四角が 4 つ並んだもの)をクリック
- 検索ボックスに
Japanese Language Packと入力し、Microsoft が提供する Japanese Language Pack for Visual Studio Code を選択 - Install ボタンを押すとダウンロードが始まり、インストール後に VS Code が再起動します
再起動後、メニューや設定画面が日本語に変わります。
File → Preferences → Settings (JSON)を開くと自動生成されたlocale.jsonに"locale": "ja"が記載されています。
3. 日本語化の確認
- メニューバーが「ファイル」「編集」など日本語になることをチェック
- 拡張機能一覧やステータスバーも同様に日本語表示です
MinGW‑w64 の取得と PATH への登録
1. WinLibs(スタンドアロン版)をダウンロード
- https://winlibs.com/ にアクセス
- 「WinLibs GCC‑13.2.0‑mingw-w64‑x86_64-posix-seh」の 7z アーカイブ(例:
gcc-13.2.0-mingw-w64-ucrt-x86_64.zip)をダウンロード
※注意:MSYS2 でも同様に GCC が取得できますが、初期設定がやや煩雑になるため本稿では展開型の WinLibs を採用しています。
2. 任意のフォルダーへ解凍
- 例:
C:\mingw64にそのまま解凍(フォルダ構成はbin,include,libが直下にあります)
3. システム環境変数 PATH に追加
- スタートメニュー → 設定 → システム → バージョン情報 の右側にある 「システムの詳細設定」 をクリック
- 「環境変数(N)…」ボタンを押す
- 「システム環境変数」の一覧から
Pathを選択し、編集(E) → 新規(N) で以下を入力
|
1 2 |
C:\mingw64\bin |
- OK で全画面を閉じる
PATH が反映されないときの対処
- VS Code のターミナルや PowerShell は、起動時に環境変数を読み込むため、VS Code を再起動するとほぼ解決します。
- それでもg++が認識されない場合は PC を一度再起動(または「サインアウト → サインイン」)してください。
4. インストール確認
コマンドプロンプトまたは VS Code のターミナルで以下を実行:
|
1 2 |
g++ --version |
バージョン情報が表示されれば、PATH 設定は成功です。
C/C++ 拡張機能と Code Runner の設定
1. 必須拡張機能のインストール
| 拡張機能 | 提供元 | 主な機能 |
|---|---|---|
| C/C++ | Microsoft | IntelliSense、シンタックスチェック、デバッグ(GDB/LLDB) |
| Code Runner | Jun Han | ワンクリックで単一ファイルをビルド・実行(簡易的なテスト向け) |
インストール手順は VS Code の拡張機能ビューから検索して Install をクリックするだけです。
2. settings.json に追記すべき項目
VS Code の設定画面で「設定 (JSON) を開く」を選び、以下を追加します。既存の設定と衝突しないようにカンマ位置に注意してください。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
{ // エディタ全体の文字コード統一 "files.encoding": "utf8", // ターミナルで日本語ロケールを使用(出力が文字化けしにくい) "terminal.integrated.locale": "ja_JP", // Code Runner の実行コマンドを g++ に合わせる // - デバッグ情報は付加しない(-g は別途 tasks.json で設定) // - 実行結果は VS Code の統合ターミナルに表示されます "code-runner.executorMap": { "c": "g++ $fullFileName -o $fileBase && $dir$fileBase" }, // Code Runner が VS Code のターミナルで実行するように設定 "code-runner.runInTerminal": true, // C/C++ 拡張のデフォルトコンパイラパス(PATH に入っていれば省略可) "C_Cpp.default.compilerPath": "C:/mingw64/bin/g++.exe" } |
3. Code Runner の「デバッグ不可」について
-
現実の挙動
Code Runner は「ビルド → 実行」までを一括で行うだけで、gdb(GDB デバッガ)やブレークポイントは起動しません。 -
代替手段
- 本格的なデバッグが必要なときは、VS Code の標準デバッグ機能(
launch.jsonに GDB 設定を書いたもの)を使用します。 -
手軽に「実行だけ」したい場合は Code Runner が便利です。
-
使い分け例
| シーン | 推奨ツール |
|--------|------------|
| アルゴリズムの動作確認やちょっとした出力テスト | Code Runner(Ctrl+Alt+N) |
| ブレークポイントで変数を追いたい、スタックトレースが欲しい | C/C++ 拡張 +launch.jsonデバッグ |
ビルドタスク (tasks.json) とデバッグ構成 (launch.json)
1. .vscode/tasks.json
プロジェクトのルートに .vscode フォルダーを作り、以下の内容で tasks.json を保存します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
{ "version": "2.0.0", "tasks": [ { "label": "C: ビルド (デバッグ情報付き)", "type": "shell", "command": "g++", "args": [ "-g", // デバッグ情報を埋め込む "-Wall", // 警告も全て表示(任意) "-o", "${fileBasenameNoExtension}.exe", "${file}" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": "$gcc" } ] } |
Ctrl+Shift+B(デフォルトのビルドキー)でこのタスクが走り、現在編集中のファイルだけがビルドされます。- ビルド成功後に生成された
.exeは同じディレクトリに置かれます。
2. .vscode/launch.json
デバッグ構成は以下のように設定します。MinGW‑w64 が提供する gdb.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 |
{ "version": "0.2.0", "configurations": [ { "name": "(gdb) C/C++ デバッグ", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe", "args": [], // コマンドライン引数があればここに配列で書く "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, // VS Code 内ターミナルを使用 "MIMode": "gdb", "miDebuggerPath": "C:/mingw64/bin/gdb.exe", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] } |
- 起動手順
Ctrl+Shift+Bでビルドタスクを実行(.exeが生成)-
デバッグ開始は F5 キー、またはデバッグビューの「▶︎」ボタン
-
ブレークポイントの設定:エディタ左側の行番号横をクリックすると赤丸が表示されます。
実践サンプル:Hello, World! のビルド・実行・デバッグ
1. プロジェクト作成
|
1 2 3 4 |
c-sample/ ├─ hello.c └─ .vscode/ (tasks.json, launch.json が自動生成される) |
hello.c の内容
|
1 2 3 4 5 6 7 |
#include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } |
2. ビルドと実行(タスク方式)
hello.cを開いた状態で Ctrl+Shift+B → 「C: ビルド (デバッグ情報付き)」を選択- ターミナルにコンパイル結果が表示され、
hello.exeが生成されたことを確認
3. デバッグ(GDB)
printf行の左側をクリックしブレークポイントを設定- F5 キーでデバッグ開始
- プログラムはブレークポイントで停止し、変数ビューやコールスタックが確認できる
4. Code Runner でも手軽に実行
hello.cを開いたままで Ctrl+Alt+N(またはエディタ右上の「Run Code」ボタン)を押すと、ビルド・実行が一度に走り、出力だけが統合ターミナルに表示されます。- ただしブレークポイントやローカル変数の確認はできません(デバッグ不可)。
よくあるエラーと対処法
| エラー | 主な原因 | 確認・対処手順 |
|---|---|---|
'g++' は内部コマンドまたは外部コマンドとして認識されません | C:\mingw64\bin が PATH に未登録、または VS Code のターミナルが古い環境変数を参照している | 1. システム環境変数 → Path に正しく追加 2. コマンドプロンプトで echo %PATH% を確認3. VS Code と全ての端末を再起動、必要なら PC 再起動 |
| IntelliSense が機能しない | C/C++ 拡張が無効化されている・settings.json の構文エラー | 1. 拡張機能ビューで C/C++ が有効か確認 2. settings.json に余分なカンマやクオートがないか検証(JSON Lint 推奨)3. VS Code 再起動 |
| デバッガが “Failed to launch process” と表示される | 64bit VS Code + 32bit MinGW の組み合わせ、または miDebuggerPath が誤っている | 1. インストールした MinGW が x86_64(64‑bit)か確認 2. launch.json の "miDebuggerPath" を実際のパスに合わせる (C:/mingw64/bin/gdb.exe) 3. 必要なら 64bit 版 VS Code に切り替える |
| ビルドタスクで「cannot find -lstdc++」等のリンクエラー | MinGW の bin が PATH に入っていない、または別バージョンが混在している | 1. where g++.exe コマンドで実行されている gcc の場所を確認2. 不要な旧版 MinGW ディレクトリを Path から除去 |
| Code Runner が「Command not found」になる | code-runner.executorMap に記述したコンパイラが見つからない | settings.json の "code-runner.executorMap" を削除し、代わりにタスクでビルド・デバッグを行う |
トラブルシューティングのコツ
1. エラーメッセージは必ず全文コピーして検索エンジンに投げる(同様のケースが多く見つかります)
2. 環境変数関係は 「ターミナル → 新しい端末」 を開き直すだけで反映されることがあります。
まとめと次のステップ
本記事で実現したこと
| 項目 | 完了状況 |
|---|---|
| VS Code のインストール & 日本語化 | ✅ |
| MinGW‑w64 の取得と PATH 設定 | ✅ |
| C/C++ 拡張機能・Code Runner の導入 | ✅ |
tasks.json と launch.json によるビルド/デバッグ自動化 | ✅ |
| 「Hello, World!」のビルド・実行・ブレークポイントデバッグ | ✅ |
次に挑戦したいこと
- 複数ファイルプロジェクト –
tasks.jsonを拡張して全ソースをまとめてビルド - ユニットテストフレームワーク(例:GoogleTest)を導入し、VS Code のテストエクスプローラで実行
- Makefile / CMake と連携させ、より大規模な構成でも同様に VS Code だけでビルド・デバッグ
参考リンク
- VS Code 公式サイト: https://code.visualstudio.com/
- Japanese Language Pack (Marketplace): https://marketplace.visualstudio.com/items?itemName=MS-CEINTL.vscode-language-pack-ja
- MinGW‑w64(WinLibs)配布ページ: https://winlibs.com/
- Qiita 記事「VS Code で C/C++ 開発環境を作る」: https://qiita.com/ochx/items/01449d09777187790ee4
これで Windows 環境における C 言語開発の基礎が整いました。
不明点や新たに見つかった課題は、ぜひコメントや Issue で共有してください。 Happy coding!