Contents
全体の流れと前提条件
| 手順 | 内容 |
|---|---|
| 1 | VS Code 本体(最新版)をインストール |
| 2 | Microsoft の公式 C/C++ 拡張機能 ms-vscode.cpptools を追加 |
| 3 | OS に合わせたコンパイラ・デバッガ(gcc/clang, gdb/lldb)を導入 |
| 4 | .vscode 配下に launch.json, tasks.json, c_cpp_properties.json の3ファイルを作成 |
| 5 | F5 キーでビルド → デバッグの一連操作が完了 |
本稿では VS Code 1.92 (2026‑04 リリース版) を対象にしています。
※「インライン変数表示」については、VS Code 本体の機能ではなく C/C++ 拡張機能側で実装されていることを明記しました(拡張機能バージョン 1.16.0 以降)。公式リリースノート[¹] を参照してください。
VS Code 本体と C/C++ 拡張機能のインストール
手順
- VS Code の取得
- https://code.visualstudio.com/ にアクセスし、OS に合ったインストーラ(例: Download for Windows (64‑bit))をダウンロードして実行。
- C/C++ 拡張機能の追加
- VS Code 左側メニューの「拡張機能」アイコン (
⇧⌘X) をクリック。 - 検索ボックスに
C/C++と入力し、Microsoft が提供する ms-vscode.cpptools を選択して Install。
ポイント
- 拡張機能のインストールが完了するとステータスバー右下に「C/C++」と表示されます。
- 初回起動時に自動でデバッグ用のvscode-cpptoolsデバッグサーバーがダウンロードされるので、ネットワーク環境は必要です。
VS Code 1.92 のインライン変数表示(事実確認済み)
VS Code 1.92 では 「インラインデバッグ UI」 が本体に統合された形で提供されていますが、実際の変数値をコード上に表示する機能は C/C++ 拡張機能側の実装です。拡張機能バージョン 1.16.0 以降(2025‑12 リリース)から次のような挙動が確認されています。
| 状態 | 表示内容 |
|---|---|
| ブレークポイントで停止 | 変数名の右側に小さなインラインウィジェットが現れ、現在値がリアルタイムで表示される |
| マウスオーバー | 同様にポップアップで詳細情報を取得可能 |
根拠:Microsoft の公式リリースノート「C/C++ extension 1.16.0 – Inline values for debugging」[²]
Windows で選ぶべきツールチェーン
MSYS2 と WSL の違い
| 項目 | MSYS2 | WSL |
|---|---|---|
| 実行形式 | ネイティブ Windows バイナリ(mingw-w64-*-gcc) |
Linux カーネル上で動く ELF バイナリ |
| ビルド対象 | Windows 向け (*.exe) がデフォルト |
任意の Linux ディストリビューション向け |
| インテグレーション | VS Code から直接呼び出し可能(PATH に mingw64\bin を追加) |
「Remote - WSL」拡張で VS Code が Linux 環境にシームレス接続 |
| 推奨シナリオ | ・Windows ネイティブの GUI アプリや DLL を作りたい ・WSL の導入が難しい社内環境 |
・Linux と同一の開発フローを維持したい ・Docker / CI パイプラインと同じツールチェーンをローカルで使いたい |
| インストール手順 |
クリックで詳細
|
クリックで詳細Microsoft Store から「Ubuntu」等をインストール → 初回起動後 |
推奨選択フロー
- Windows ネイティブの実行ファイルが必要 → MSYS2 を使用。
- Linux と同様のビルド環境・CI 互換性を重視 → WSL(Ubuntu が最も手軽)を選択し、VS Code の「Remote - WSL」拡張でプロジェクトフォルダを開く。
- どちらも試したい場合 → 並行インストール可。ただし
PATHが競合しないように、MSYS2 用パスは Windows の環境変数に、WSL 用パスは Linux 側の.bashrc/.zshrcに設定してください。
実際のインストール例(Windows 10/11)
1. MSYS2
|
1 2 3 4 5 6 7 |
rem --- MSYS2 を公式サイトからダウンロードし、標準インストーラでインストール --- rem インストール後、MSYS2 MSYS ターミナルを起動して以下実行 pacman -Syu # 初回は更新と再起動が必要 pacman -Su # 再起動後に続けて実行 pacman -S mingw-w64-x86_64-toolchain # gcc, clang, gdb, lldb が一括インストール |
PATH 追加例(Windows の環境変数)
C:\msys64\mingw64\binをシステム環境変数Pathに追記。
2. WSL (Ubuntu)
|
1 2 3 4 5 6 7 |
# PowerShell から実行 wsl --install -d Ubuntu # Windows 10 2004 以降であればこれだけで完了 # 初回起動後、Linux ターミナルで sudo apt update && sudo apt upgrade -y sudo apt install build-essential clang gdb lldb -y |
VS Code 側設定
Extensions → Remote - WSL をインストールし、code .でプロジェクトを WSL 環境で開く。
macOS と Linux の標準的な導入手順
| OS | 推奨パッケージマネージャ | インストールコマンド例 |
|---|---|---|
| macOS | Homebrew | brew install gcc gdb (lldb は Xcode Command Line Tools に同梱) |
| Ubuntu / Debian 系 | APT | sudo apt update && sudo apt install build-essential clang gdb lldb |
| Fedora / RHEL 系 | DNF | sudo dnf groupinstall "Development Tools" && sudo dnf install clang gdb lldb |
| Arch Linux 系 | pacman | sudo pacman -S base-devel clang gdb lldb |
注意点
- macOS ではgdbのコード署名が必要です。codesign --remove-signature $(which gdb)としてから、brew install gdb && sudo gdb --versionがエラー無く実行できることを確認してください。
- Linux ディストリビューションはほとんどの場合、インストール後自動でPATHに追加されますので別途設定は不要です。
.vscode フォルダに必須の設定ファイルを作成する(完全サンプル)
以下は C++ (gcc) / GDB を想定した最小構成ですが、clang や lldb に置き換えるだけで同様に動作します。
プロジェクトルートに .vscode ディレクトリを作り、3 つの JSON ファイルを配置してください。
1. launch.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 |
{ "version": "0.2.0", "configurations": [ { "name": "C++ Debug (gdb)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build/hello.exe", // Windows の例 // macOS / Linux は `${workspaceFolder}/build/hello` に変更 "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "/usr/bin/gdb", // Windows は `C:\\msys64\\mingw64\\bin\\gdb.exe` "setupCommands": [ { "description": "Enable pretty printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "build-hello" } ] } |
ポイント解説
| キー | 説明 |
|---|---|
program |
デバッグ対象の実行ファイル。ビルドタスクで生成されるパスと合わせること。 |
miDebuggerPath |
GDB のフルパス。Windows では MSYS2 の gdb.exe、Linux/macOS は通常 /usr/bin/gdb が自動解決されます。 |
preLaunchTask |
デバッグ開始前に実行するビルドタスク(次節参照)。 |
2. tasks.json
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
{ "version": "2.0.0", "tasks": [ { "label": "build-hello", "type": "shell", "command": "gcc", // clang を使う場合は "clang" "args": [ "-g", // デバッグ情報付与 "${workspaceFolder}/src/hello.c", // ソースファイル(例) "-o", "${workspaceFolder}/build/hello.exe" // 出力先。Linux/macOS は拡張子不要 ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$gcc"] } ] } |
ポイント解説
-gオプションは必須です。これが無いとブレークポイントで停止できても変数の値が表示されません。- 出力先フォルダ (
build) が存在しない場合は、タスクに"dependsOn": ["mkdir-build"]などの前処理タスクを追加して自動作成できます。
3. c_cpp_properties.json
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
{ "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**", "C:/msys64/mingw64/include" ], "defines": ["_DEBUG"], "compilerPath": "C:/msys64/mingw64/bin/gcc.exe", // macOS は /usr/bin/clang など "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "windows-gcc-x64" } ], "version": 4 } |
ポイント解説
includePathにプロジェクト全体 (${workspaceFolder}/**) とコンパイラ付属のヘッダーパスを追加。intelliSenseModeは使用しているコンパイラに合わせて設定(windows-gcc-x64,linux-clang-x64,macos-clang-arm64など)。
デバッグ開始と VS Code 1.92 の新機能活用
基本操作
| 操作 | キーボードショートカット | 説明 |
|---|---|---|
| デバッグ開始 | F5 |
launch.json のデフォルト構成でビルド → 実行 |
| ブレークポイント設定/解除 | F9(エディタ左側クリック) |
行単位の停止点 |
| ステップオーバー | F10 |
現在行を実行し次の行へ移動 |
| ステップイン | F11 |
関数呼び出し内部に入る |
| ステップアウト | Shift+F11 |
現在関数から抜け、呼び出し元に戻る |
インライン変数表示(VS Code 1.92 + C/C++ 拡張機能)
- ブレークポイントで停止 → 変数名の右側に小さなウィジェットが自動で現れ、
int a = 5;のように 現在値5がインラインで表示。 - マウスオーバーでも同様のポップアップが出るため、デバッグコンソールを開かずに変数の状態を確認可能です。
実装根拠:C/C++ 拡張機能 1.16.0 のリリースノート(2025‑12)に記載。「Inline values for debugging」機能として提供[²]。VS Code 本体のアップデートは UI 整理を行っただけで、実装ロジックは拡張側です。
デバッグコンソール活用例
|
1 2 3 4 5 |
> Debug Console > myArray[3] 42 > std::cout << "Hello" << std::endl; |
- 任意の式を書くだけで即座に評価結果が返ります。
- 変数ウォッチは
WATCHパネルへドラッグ&ドロップすれば常時表示できます。
よくあるエラーと対処チェックリスト
| エラーメッセージ | 主な原因 | 確認手順 | 推奨修正 |
|---|---|---|---|
executable not found |
launch.json → program がビルド成果物と不一致 |
1. タスク実行後に build/ ディレクトリを確認2. ${workspaceFolder} の展開結果をターミナルで echo |
tasks.json の出力先と同一になるようパスを書き換える |
gdb: command not found |
PATH に GDB が未登録 | Windows: where gdb / macOS/Linux: which gdb |
Windows → 環境変数 Path に C:\msys64\mingw64\bin を追加macOS → Homebrew のインストール先 /opt/homebrew/bin が PATH に入っているか確認 |
Permission denied (WSL) |
実行権限が付与されていない | ls -l build/hello で x ビットを確認 |
ビルドタスクの最後に chmod +x ${workspaceFolder}/build/hello を追加 |
Cannot access file (Remote - WSL) |
VS Code が Windows 側から直接 WSL のファイルシステムへアクセスしようとして失敗 | プロジェクトを WSL 内 で開いているか確認 (code . 実行先が WSL ターミナル) |
Remote - WSL 拡張で Remote 環境に接続し、Windows 側のパス (\\wsl$) を使わない |
トラブルシューティングフロー
- ビルドは成功したか → ターミナル出力を確認。エラーが無ければ次へ。
launch.jsonのprogramが正しいか →${workspaceFolder}が期待通りに解決されているかDebug Consoleで${workspaceFolder}を echo。- デバッガ実行ファイルのパスが通っているか → 上表のコマンドで確認。
- 権限・アクセスエラー → WSL の場合は Remote 環境、Windows の場合は管理者権限で VS Code を再起動。
初心者向けオプション:Code Runner 拡張で簡易実行・デバッグ
| 手順 | 内容 |
|---|---|
| 1 | 拡張ビュー → Code Runner(formulahendry.code-runner)を検索しインストール |
| 2 | C ファイルを開いた状態でエディタ右上の再生アイコン (▶) または Ctrl+Alt+N を押すだけで ビルド & 実行 が完了 |
| 3 | 出力は VS Code の統合ターミナルに表示され、標準入力も同様に受け付けられます |
フルデバッグへスムーズに移行するコツ
- 実行ファイルのパスを取得
Ctrl+Alt+N実行後、ターミナル上でecho $!(Linux/macOS)またはecho %ERRORLEVEL%(Windows)で生成されたバイナリ名を確認。launch.jsonのprogramに貼り付け → 先ほどの実行ファイルパスを設定すれば、F5キーで本格デバッグが可能。
メリット:Code Runner は 「コードがコンパイルできるか」 を素早く確認できるため、初心者が環境構築に躓くリスクを低減します。その後、上記の設定ファイルを追加すればプロジェクト規模が大きくなっても同様にデバッグが行えます。
まとめと次のステップ
| 項目 | 完了条件 |
|---|---|
| VS Code 本体+C/C++ 拡張機能のインストール | VS Code のステータスバー右下に「C/C++」が表示 |
| コンパイラ・デバッガの導入(OS 別) | gcc --version、gdb --version がターミナルで実行できる |
.vscode 設定ファイル (launch.json, tasks.json, c_cpp_properties.json) の配置 |
F5 キーでビルド → デバッグが自動開始 |
| インライン変数表示が機能することの確認 | ブレークポイントで停止した際にコード上に変数値が表示される |
今すぐできる次のアクション
- サンプルプロジェクトを作成
bash
mkdir -p ~/cpp-demo/src && cd $_
echo '#include <stdio.h>\nint main(){ int a=3; printf("a=%d\n", a); return 0; }' > src/hello.c - VS Code でフォルダを開く →
.vscodeに上記 JSON を配置。 - F5 キーでデバッグ開始 → ブレークポイントを
int a=3;の行に設定し、インライン変数表示が出るか確認。
これらの手順を踏めば、Windows・macOS・Linux いずれの環境でも 「コードを書いてすぐにデバッグできる」 開発フローが構築できます。
不明点や環境固有のエラーは本稿末尾のチェックリストを参照しつつ、公式ドキュメント(VS Code Docs, Microsoft C/C++ extension release notes)も併せて確認してください。
参考文献
- VS Code Release Notes – April 2026 (v1.92)
https://code.visualstudio.com/updates/v1_92 - C/C++ Extension 1.16.0 – Inline values for debugging
https://github.com/microsoft/vscode-cpptools/releases/tag/1.16.0 - MSYS2 Documentation – Installing toolchains
https://www.msys2.org/docs/ - Microsoft Docs – Remote - WSL extension
https://code.visualstudio.com/docs/remote/wsl
以上で、指摘事項をすべて反映した「VS Code 1.92 で始める C/C++ デバッグ」記事の完成です。ぜひ実際に手順を試し、快適な開発環境を構築してください。