こんにちは、現役エンジニアの inno_tech です。
Visual Studio Code (以下、VSCode)で Visual C++ の開発環境を構築する方法をお探しでしょうか?
事前準備
はじめに、事前準備として、VSCode のインストール(こちらからダウンロード) を済ませておいてください。
また、VSCode拡張機能から C/C++ をインストールしておいてください。

MSVC の入手
MSVC(Microsoft Visual C++)は、マイクロソフトが提供する C++、C、アセンブリ言語の開発ツールです。
通常は Visual Studio(本家) をインストールする際に一緒にインストールされますが、単独でインストールしてVSCodeから利用することも可能です。
MSVC の インストール手順
入手方法ですが、Microsoftの こちらのページ にアクセスし、ページ下の方にある「すべてのダウンロード」から「Tools for Visual Studio > Build Tools for Visual Studio 2022」をダウンロードします。

続いて、ダウンロードしたファイル(vs_BuildTools.exe) を起動します。

すると、インストール内容を設定するウィンドウが開きます。「C++によるデスクトップ開発」にチェックを付けます。必要に応じて、オプション内容を追加してください。

今回は 古いバージョンの Windows SDK以外はチェックを付けました。

また、下の方にある C++ Tools for Linux Development もインストールしました。

これは必須ではないよ
設定が終わったら、インストールを進めてください。インストール完了後は、PCを再起動します。
ファイルサイズが大きいこともあり、インストールには30分以上かかる可能性もあります。
MSVC の 動作確認
インストール完了後、MSVCコンパイラ(cl.exe) が使えるかどうかを確認します。
スタートメニューから、「Visual Studio 2022 > Developer Command Prompt for VS2022」を起動します。


起動したプロンプト内でclと入力して実行し、以下のような画面になっていいれば正常な状態です。


これでコンパイラが入手できたよ。
続いて、サンプルプロジェクトを作成し、実際にプログラムのビルドを行います。
ソースコードの作成 と ビルドテスト
プロジェクトディレクトリ(今回はcpp_test)を用意し、その中にサンプルソースコード helloworld.cppを作成します。
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main(){
vector<string> msg {"Hello", "C++", "World"};
for (const string& word : msg){
cout << word << " ";
}
cout << endl;
return 0;
}ソースコードの準備ができたら、ビルドを行います。
ソースコードを開いた状態で、VSCodeエディタ上の右上に表示されているボタンをクリックし、「Run C/C++ File」を選択します。


すると、VSCodeがインストール済みのコンパイラを自動認識し、その一覧が表示されます。一覧の中からcl.exeを選択します。(cl.exe が MSVCに含まれるコンパイル用ツールです。)


ここで、以下のエラーが発生することがあります。
cl.exe build and debug active file is only usable when VS Code is run from the Developer Command Prompt for VS.


この場合、スタートメニュー > Developer Command Prompt for VS2022 から VS Code を起動し直すことで、エラーを解消できます。
cd [Project Directory]
# カレントディレクトリでVSCodeを起動
code .ビルドが成功すると、exe等のバイナリファイルが生成されます。また、VS Code のターミナル上には実行結果が表示されています。


また、「Run C/C++ File」を実行すると、.vscode ディレクトリが自動生成され、その中にtasks.jsonが生成されます。このファイル内では、ビルド時の実行引数といった各種設定が記述されています。今後開発が進むにつれ、必要に応じて修正してください。


ひとまず ビルド と プログラムの実行に成功しました。さらに、開発をしやすくするために launch.jsonという設定ファイルを作成します。
.cppファイル以外は不要なので、一旦削除してOKだよ。
launch.json の作成
launch.json を作成するには、VSCode の 「Run and Debug」を開いて、create a launch.json file をクリックします。


さらにメニューが表示されるので、「More C++ (Windows) options… > C/C++: cl.exe build and debug active file」を選択します。




以上の操作により、下記のような launch.jsonが .vscode内に自動生成されます。
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "C/C++: cl.exe build and debug active file",
"type": "cppvsdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"console": "integratedTerminal",
"existing": false,
"preLaunchTask": "C/C++: cl.exe build active file",
"detail": "preLaunchTask: C/C++: cl.exe build active file",
"taskDetail": "Task generated by Debugger.",
"taskStatus": "Configured Task",
"isDefault": true
}
]
}launch.jsonを作成したら、helloworld.cppを開いた状態でF5キーを押すと、自動的にビルドされ、プログラムが実行されます。


以降は、ソースコードを修正 ⇒ F5を実行 し動作確認、という流れで開発を進めていきます。
ブレークポイントを設定すれば、プログラムのデバッグ実行もできるよ。
さらに開発を進めるため にJSONファイルを変更
ここまでの開発環境では、現在開いている単一ファイルのビルド設定しかなされていないので、他のソースコードファイルを追加することができません。
そこで、srcディレクトリ内にソースコードを保存、binディレクトリ内に実行ファイルが出力される想定で、さらにtasks.jsonとlaunch.jsonを書き換えていきます。
最終的なディレクトリ構造は以下のイメージです。


まずtasks.jsonで 3か所変更を行います。(変更点はコメントを付与)
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: cl.exe build active file",
"command": "cl.exe",
"args": [
"/Zi",
"/EHsc",
"/nologo",
"/Fe${workspaceFolder}\\bin\\cpptest.exe", // 実行モジュールの出力先を変更
"${workspaceFolder}\\src\\*.cpp" // ビルド対象ファイルを src内の拡張子cppファイル全て とする
],
"options": {
"cwd": "${workspaceFolder}\\bin" // ビルドを実行するディレクトリの設定
},
"problemMatcher": [
"$msCompile"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}srcディレクトリのファイルをビルド対象にして、出力ディレクトリを bin配下に変えたよ。
続いて、launch.jsonは、programキー を 実行モジュールの出力先に合わせて修正します。
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "C/C++: cl.exe build and debug active file",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}\\bin\\cpptest.exe", // 実行モジュールの出力先に合わせて変更
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"console": "integratedTerminal",
"existing": false,
"preLaunchTask": "C/C++: cl.exe build active file",
"detail": "preLaunchTask: C/C++: cl.exe build active file",
"taskDetail": "Task generated by Debugger.",
"taskStatus": "Configured Task",
"isDefault": true
}
]
}最後に、ソースコードファイルをsrc内にファイルを移動してください。
以上を対応し、F5を押せば、src内のcppファイルがビルドされ、bin内に実行モジュールが出力されます。
まとめ
今回のまとめです。
- MVSC と VSCode を使ったVC++開発環境 について解説.
- tasks.json で ビルド設定を行っている.
- launch.json で VSCode上の操作(タスク) をショートカット的に実行できる.
最後に、 2024年にamazon ビジネス実用本の売れ筋ランキング で1位にもなったこちらの書籍はご存じでしょうか?もしご存じでなければこちらからレビューをチェックしてみてはいかがでしょうか。
参考になったでしょうか。
ほかにも役立つ情報が他のページにもあるかもしれません。
ご覧になるかはあなた次第です!
この記事がイイねと思ったら、Twitterフォロー か にほんブログ村のどちらかしてくれたら嬉しいよ!



コメント / ご要望