2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VSCode でC++の開発環境構築(Windows / MacOS)

Last updated at Posted at 2021-02-28

ことの発端

前々から 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が良い仕事をしてくれるので、作る手間は省けます。

  1. 開発作業を行うフォルダを作成
  2. VSCodeを起動
  3. 1で作成したフォルダを開く
  4. 【Windowsのみ】 VSCodeの左下の リモートウィンドウを開きます をクリックすると、コマンドパレットが表示されるので「Remote-WSL: Reopen Folder in WSL」を選択
  5. 拡張機能をインストール(インストールしていない場合)4
  1. ソースコード(main.cpp)を作成
  2. [F1]でコマンドパレットを表示してCMake: Configureを選択
  3. 続けて CMakeLists.txt を作るか聞いてくるのでCreateを選択
main.cppp
#include <iostream>
int main(void) {
  std::cout << "hello" << std::endl;
  return 0;
}
  • CMakeToolsが反応してビルド準備までやってくれる。(初回は通知が表示される)
  • 手動で行う場合は、[F1] でコマンドパレットを表示してCMake: Configureを選択して、キット(gccClang)や最適化(デバッグが目的なのでDebug)の設定を行います。
  • この一連の作業でbuild フォルダが作成されるので、 build フォルダは .gitignore に追加しときましょう。

ビルドとデバッグ

  • [F7] でビルド
  • [CTRL] + [F5] でデバッグ開始
  • 大概のデバッガと同じようにブレークポイントとかスタックトレースとか普通に使える
  1. コンソールアプリで簡単なテストコードを書きたいという動機なので、XcodeとかAndroid Studioとか既存の開発環境に導入するとなると、それはもういばらの道です。

  2. 過去に、VT-xを使っている VirtualBox と Docker Desktop for Windows のネットワークドライバがコンフリクトして大変な目に遭ったのだが、WSL2もVT-xに対応したので同じことが起きそうで躊躇しているが、他に VT-x を使うミドルウェアがインストールされていないなら、WSL2の方が良いかと。

  3. 姉妹品で Remote - SSH: ms-vscode-remote.remote-sshがあって、サーバにリモート接続して作業する際に大変重宝しています。

  4. VSCodeはリモート接続毎に拡張機能をインストールするため WSL にリモート接続後にインストールする必要があります。

2
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?