ことの発端
前々から VSCode で C++ の開発環境を作りたいと思って、やってみたら拍子抜けするくらい簡単1 だったのでメモ。
Windows
方針
VisualStudio や Mingw-w64 でも良いけど、個人的には WSL で環境構築した方がUbuntsuだし簡単かもと思い今回はこちらを選択します。
WSL じゃなくて VirtualBox の Ubuntu イメージがあるなら、VSCodeからリモート接続でも良いかもですが、共有フォルダとかファイル権限とか案外面倒なので、この説明は WSL ってことにします。
WSL をインストール
VirtualBox や Docker Desktop for Windows みたいな VT-x を使っているミドルウェアをインストールしていないなら WSL2 に更新しても良いかもです。2
開発ツールのインストール
ターミナル(wsl)を起動して下記のコマンドを実施します。
sudo apt update
sudo apt upgrade -y
sudo apt install build-essential -y
sudo apt install gdb -y
sudo apt install cmake -y
VSCode に拡張機能をインストール
こいつで、WSLにリモート接続した状態でVSCodeが使えるようになります。3
MacOS
方針
Xcode が入っている前提なので Clang になるけど、簡単なテストコードの開発環境という前提なので、これで良しとします。(今後問題が出たら考える)
開発ツールのインストール
標準では cmake が入っていないので、 Homebrew から下記コマンドを実施してインストールします。
brew install cmake
開発作業
CMake を使う場合CMakeLists.txt
を作りますが、CMakeTools
が良い仕事をしてくれるので、作る手間は省けます。
- 開発作業を行うフォルダを作成
- VSCodeを起動
- 1で作成したフォルダを開く
- 【Windowsのみ】 VSCodeの左下の をクリックすると、コマンドパレットが表示されるので「Remote-WSL: Reopen Folder in WSL」を選択
- 拡張機能をインストール(インストールしていない場合)4
- ソースコード(main.cpp)を作成
- [F1]でコマンドパレットを表示して
CMake: Configure
を選択 - 続けて
CMakeLists.txt
を作るか聞いてくるのでCreate
を選択
#include <iostream>
int main(void) {
std::cout << "hello" << std::endl;
return 0;
}
-
CMakeTools
が反応してビルド準備までやってくれる。(初回は通知が表示される) - 手動で行う場合は、[F1] でコマンドパレットを表示して
CMake: Configure
を選択して、キット(gcc
やClang
)や最適化(デバッグが目的なのでDebug
)の設定を行います。 - この一連の作業で
build
フォルダが作成されるので、build
フォルダは.gitignore
に追加しときましょう。
ビルドとデバッグ
- [F7] でビルド
- [CTRL] + [F5] でデバッグ開始
- 大概のデバッガと同じようにブレークポイントとかスタックトレースとか普通に使える
-
コンソールアプリで簡単なテストコードを書きたいという動機なので、XcodeとかAndroid Studioとか既存の開発環境に導入するとなると、それはもういばらの道です。 ↩
-
過去に、VT-xを使っている VirtualBox と Docker Desktop for Windows のネットワークドライバがコンフリクトして大変な目に遭ったのだが、WSL2もVT-xに対応したので同じことが起きそうで躊躇しているが、他に VT-x を使うミドルウェアがインストールされていないなら、WSL2の方が良いかと。 ↩
-
姉妹品で Remote - SSH: ms-vscode-remote.remote-sshがあって、サーバにリモート接続して作業する際に大変重宝しています。 ↩
-
VSCodeはリモート接続毎に拡張機能をインストールするため WSL にリモート接続後にインストールする必要があります。 ↩