Visual Studio Code を使った C++ のビルド&デバッグ方法(with CMAKE)

前回のエントリでC++のファイルをビルド・デバッグする方法を扱いました.自分で一からファイルを作って,作ったファイルをすべて g++ の引数に渡してビルドして....ということもあるかもですが,大体は規模が大きくなってくると CMake を使うと思います.このエントリでは,VSCODE と CMake を連携させて使う方法です.

1.インストール方法

まず,CMake と連携させて VSCODE を使うには,Extensionをインストールする必要があります.

f:id:rkoichi2001:20181117015620p:plain

インストールするのは,下記の2つです.
f:id:rkoichi2001:20181117015940p:plain

2.サンプルプロジェクトの作成

次に,サンプルプロジェクトのためのワークスペースを作ります.
f:id:rkoichi2001:20181117020318p:plain

f:id:rkoichi2001:20181117020354p:plain

次に,サンプルのプロジェクトを作成します.Ctrl + Shift + P でコマンドパレットを開き,CMakeと入力すると CMake 関連のコマンドがいっぱい出てきます.
f:id:rkoichi2001:20181117020527p:plain

次に,サンプルプロジェクトの名前を指定します.
f:id:rkoichi2001:20181117020858p:plain

最後に,該当のプロジェクトが executable を生成するか,library を生成するか選択します.
f:id:rkoichi2001:20181117021111p:plain

上記をすべて実施すると,サンプルの CMakeLists.txt と main.cpp ができます.これを改変していけば OK です!
f:id:rkoichi2001:20181117021347p:plain

3.C/C++コンフィグレーション・デバッグの設定

この設定方法は,前回のエントリで書いた内容と同じです.下記エントリの2.2と3を参考にしてください.
daily-tech.hatenablog.com

4.CMake Project のビルド

ビルドもとっても簡単です.CMake のビルドタスクはすでに CMake の Extension が compile_commands.json というファイルを作ってくれてます.
f:id:rkoichi2001:20181117021957p:plain

なので,コマンドパレットを開いて(Ctrl + Shift + P),CMake: Build a target を実行すれば,ビルドしてくれます.

下記は,ビルド実施時のターミナル出力です.

[build] Starting build
[proc] Executing command: /usr/bin/cmake --build /home/koichi/workspace/vs_code_sample_w_cmake/build --config Debug --target all -- -j 10
[build] Scanning dependencies of target vs_code_sample_w_cmake
[build] [ 50%] Building CXX object CMakeFiles/vs_code_sample_w_cmake.dir/main.cpp.o
[build] [100%] Linking CXX executable vs_code_sample_w_cmake
[build] [100%] Built target vs_code_sample_w_cmake
[build] Build finished with exit code 0

5.既存の CMake プロジェクトのロード

で,じゃあ既存の CMake プロジェクトはどうやってロードすんだよ?って話になると思うのですが,これも超簡単でした.まず,File -> New Window から新しい VSCODE を開きます.

f:id:rkoichi2001:20181117022646p:plain

次に,CMakeLists.txt を含んでいるプロジェクトを開きます.
f:id:rkoichi2001:20181117024955p:plain

CMakeLists.txt を含むフォルダを開くと,自動で Confugure してくれます.デフォルトでは CMakeLists.txt を含むフォルダ内に build ディレクトリができますが,このあたりは個人のホームディレクトリ直下にある .vscode/extensions/vector-of-bool.cmake-tools-1.1.2 のフォルダの下の "package.json" ファイルをいじれば変更できるかと思います.(が,試してません.)
f:id:rkoichi2001:20181117025107p:plain

ということで,VSCODEいいですね!eclipse より簡単かも!