Visual Studio Code での C++ 開発環境構築:LLVM(Clang + Clangd + LLDB)を Windows/MacOS に設定

重要なご案内

このチュートリアルは単一の C++ プロジェクトを作成するものではなく、学習用/開発用の準備済み環境を提供します。C++ の日常学習を容易にするために、個別の .cpp ソースファイル(拡張子必須)またはフォルダ全体を実行・デバッグする簡易スクリプトが組み込まれています。

プロジェクト構成が必要な場合は、CMake を学習し、ルートディレクトリの CMakeLists.txt を修正してください。また、付録のドキュメントを参照して構成を調整することをお勧めします。

概要

本ガイドは 2022年3月24日にリリースされた LLVM 14 をベースにしています。

現在のガイド状況:Windows は LLVM 14 を使用、MacOS は依然として LLVM 13 を使用しています。

  • ガイドの目的
  • ガイドの形式
  • 新ガイド作成の理由

ガイドの目的

  • 各ステップの詳細な操作手順を段階的に示す:押す必要のあるキー、エンターの回数、発生し得る状況と対応する画像など
  • 手順の簡略化:既に設定可能な部分はあらかじめ準備

ガイドの形式

  1. 自動化方式でのソフトウェア構成:
    • ダウンロードとインストール:Windows – MacOS
    • 構成
    • 構成結果の検証
  2. 各構成項目の詳細説明

このガイドのすべてのリソースは Gitee リポジトリに統合されており、適切な場所でリンクを提供します。

新ガイド作成の理由

  • LLVM 14 のリリースにより、以前の LLVM 12(後に LLVM 13 に更新)に基づいて書かれた VSCode 構成ガイドが多くの点で適用不能になったため
  • 半年間で多くの人が VSCode 上での C++ 構成を依頼してきたが、以前のチュートリアルでは対応困難であったため、手動構成の経験を基に新しい構成ガイドを策定する必要があった

ダウンロードとインストール

  • Windows
  • MacOS
  • フォント(任意)

Windows

  • パッケージのダウンロード
  • VSCode のインストール
  • MSYS2 のインストール
  • 環境変数の設定
  • MSYS2 を使用した LLVM のインストール

パッケージのダウンロード

VSCode と MSYS2 のソフトウェアをインストールする必要があります。

VSCode:

  • 公式サイトからダウンロード
  • Gitee に保存したインストーラ(このパッケージは x64 であり、コンピュータのアーキテクチャと一致しない可能性があります)

MSYS2: ダウンロード後、ダウンローダーがファイルに脅威があると表示することがありますが、保持を選択してください。

  • 公式サイトからダウンロード
  • Gitee に保存したパッケージ
  • 清華大学オープンソースミラーサイトから取得:
    • 清華大学オープンソースミラーサイトに入り、右側のダウンロードリンクを取得をクリックし、アプリケーションソフトウェアに切り替えることで見つかります。

VSCode のインストール

図のような警告が表示された場合、「OK」をクリックしてください。

これはユーザーインストーラを使用しているためであり、システムインストーラが必要な場合は公式サイトの最下部からダウンロードしてください。

最初のページで「契約に同意する」をクリックし、その後は「次へ」を繰り返しクリックしてください。

自動起動されたソフトウェアを終了します。

MSYS2 のインストール

最後まで「次へ」をクリックしてください。

自動起動されたソフトウェアを終了します。

環境変数の設定

マイコンピューターを開き、空白領域を右クリックしてプロパティを選択し、表示されたウィンドウで詳細システム設定をクリックし、詳細 - 環境変数(N)...を選択します。上部のユーザー変数または下部のシステム変数Pathを見つけ、編集を選択します。

図1のようなスタイルの場合、元の変数値の末尾に英語入力時のセミコロン;を追加し、C:\msys64\clang64\bin(またはインストール時にカスタマイズした MSYS2 パス\clang64\bin)を追加します。

図2のようなスタイルの場合、新規作成(N)をクリックし、C:\msys64\clang64\bin(またはインストール時にカスタマイズした MSYS2 パス\clang64\bin)を入力します。

MSYS2 を使用した LLVM のインストール

スタートメニュー、またはMSYS2 インストールパス(デフォルトは C:\msys64)から右クリックし、管理者として実行clang64またはclang64.exeMYSY2.exeではありません)を開きます。

コマンド入力後のウィンドウスタイルが再度表示された場合、コマンド実行が完了したことを意味します:

開いたウィンドウで以下のコマンドを入力します:

  • 1行ずつコピー(Control + C)、貼り付け(ウィンドウ内で右クリック - Paste
  • 複数回エンター!複数回エンター!複数回エンター!
  • 完了を待って(上記参照)次の行を実行
pacman -S mingw-w64-clang-x86_64-toolchain mingw-w64-clang-x86_64-cninja mingw-w64-clang-x86_64-python-six mingw-w64-clang-x86_64-python-pip
pip install cmake_format
pacman -Syu

pacman -Syu 実行後、複数回エンターが必要な場合やソフトウェアの再起動が必要になることがあります。閉じてからclang64.exeを再開し、もう一度実行してください:

pacman -Syu

以後、このソフトウェアでいつでも pacman -Syu(同様に再起動が必要な場合あり)を入力してこれらのソフトウェアを更新できます。

MacOS

  • Homebrew のインストール
  • Homebrew を使用した VSCode と LLVM のインストール

Homebrew のインストール

中国科技大学ミラーを使用した Homebrew / Linuxbrew のインストールを参照。

  1. Command + スペースで Spotlight 検索を開き、ターミナルを検索して開きます。
    このウィンドウスタイルを確認し、コマンド入力後にもう一度同様のスタイルが表示された場合、コマンド実行が完了したことを意味します。
  2. xcode-select --install を入力してエンターを押し、ポップアップ画面でインストールをクリックし、同意してインストール完了を待ちます。
  3. ターミナルで以下のコマンドを入力して環境変数を設定します:(1行ずつコピー(Command + C)、貼り付け(Command + V)、複数回エンター、完了を待って次の行を実行)
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git"
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles"
  1. 以下のコマンドを実行して Homebrew / Linuxbrew をインストールします:
/bin/bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/Homebrew/install@HEAD/install.sh)"

上記コマンドを入力すると、コンピュータのパスワードを入力してエンター、エンターで続行!

  1. uname -m を入力してエンターを押した際、arm64 が出力される場合はこのステップを実行、それ以外はスキップ)brew プログラムの関連パスを環境変数に追加:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.bash_profile
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

より一般的な方法は上記ステップ完了後、最後の「Next steps」を確認して順次実行することです。

  1. ダウンロードミラーの設定:

「Next steps」に従って操作した場合は、このステップをスキップしてください。

echo 'export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"' >> ~/.bash_profile
echo 'export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git"' >> ~/.bash_profile
echo 'export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"' >> ~/.profile
echo 'export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git"' >> ~/.profile
echo 'export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"' >> ~/.zprofile
echo 'export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git"' >> ~/.zprofile

Homebrew を使用した VSCode と LLVM のインストール

ターミナルで以下のコマンドをそれぞれ入力し、エンターを押して完了を待ちます。

  1. インストール:
brew install llvm ninja
brew install --cask visual-studio-code cmake
pip3 install cmake_format
  1. LLVM の環境変数設定(ターミナルを再起動で有効化)
echo 'export PATH="/opt/homebrew/opt/llvm/bin:$PATH"' >> ~/.zshrc
echo 'export LDFLAGS="-L/opt/homebrew/opt/llvm/lib"' >> ~/.zshrc
echo 'export CPPFLAGS="-L/opt/homebrew/opt/llvm/lib -Wl,-rpath,/opt/homebrew/opt/llvm/lib"' >> ~/.zshrc

Launchpadからアイコンをクリックして VSCode を起動するか、Command + スペースで Spotlight 検索を開き、codeを検索して見つけます。

以後、ターミナルでいつでも brew upgrade を入力してこれらのソフトウェアを更新できます。

フォント(任意)

  • インストール方法:Windows – MacOS
  • 推奨無料フォント

インストール方法

Windows

以下の2つのステップについて、コンピュータにファイル拡張子が表示されていない場合は両方試してください。

  1. ファイルが.zip / .7z / .rar で圧縮されている場合、右クリックして抽出を選択してファイルを展開します。
  2. .ttf または .ttc ファイルを右クリックしてインストールまたはすべてのユーザーにインストールを選択します。
MacOS
  1. 推奨方法:
    以下の2つのステップについて、コンピュータにファイル拡張子が表示されていない場合は両方試してください。
  • ファイルが.zip / .7z / .rar で圧縮されている場合、ダブルクリックして展開します。
  • Command + スペースで Spotlight 検索を開き、Font Bookを検索して開きます。.ttf または .ttc ファイルを Font Book ウィンドウにドラッグします。
  1. 任意の方法:(ネットワーク問題が発生する可能性がありますが、以降は brew upgrade で自動更新されます)
    以前と同じく、ターミナルbrew install xxx を入力します。具体的には:
brew install font-sarasa-gothic
brew install font-jetbrains-mono
brew install font-meslo-lg-nerd-font

推奨無料フォント

エディタ英字フォント:JetBrains Mono

  • 公式サイトからダウンロード
  • Gitee に保存したフォントパッケージ

ターミナル英字フォント:MesloLGS NF

  • 公式サイトからダウンロード
  • Gitee に保存したフォントパッケージ

中国語フォント:等幅更紗ゴシック SC

  • 公式サイトからダウンロード
  • Gitee に保存したフォントパッケージ

構成

既に構成済みで、以下の手順に従ってダウンロードし、少し調整すれば使用可能です。

  • ダウンロードと解凍
  • フォルダを開く
  • 設定をグローバルに適用
  • プラグインのインストール
  • CMake 用コンパイラの選択
  • 構成完了

ダウンロードと解凍

  • Windows はこちらからダウンロード
  • MacOS はこちらからダウンロード

解凍を忘れないでください!解凍を忘れないでください!解凍を忘れないでください!

  • 完全英語パスで、フォルダ名に特殊な記号やスペースがないようにしてください!
  • 面倒を避けてデスクトップに解凍しないでください。ユーザ名が特殊すぎてエラーが発生する可能性があります!

フォルダを開く

VSCode を開き、解凍した cpp-practice フォルダを VSCode にドラッグします。

注意

  • 左側のサイドバーではなく右側の領域にドラッグしてください。
  • 左上のメニューバーを使用して開こうとしないでください。このメニューには2つの対応する操作があり、間違えやすいです。

ポップアップ画面ではい、この作成者を信頼します(Yes, I trust the authors)を選択します。

設定をグローバルに適用

  1. グローバル設定ファイルを開く:ウィンドウ左下の歯車をクリックし、設定(settings)を選択し、右上2番目のボタン設定を開く(Open Settings)をクリックします。
  2. ローカル設定ファイルを開く:左側のサイドバーでエクスプローラ(Explorer)を選択し、.vscode フォルダ内の settings.json を開きます。
  3. ローカル設定ファイルの内容をコピー:
    • Windows:開いたページで左クリックCtrl + A で全選択、Ctrl + C でコピー。
    • MacOS:開いたページで左クリックCommand + A で全選択、Command + C でコピー。
  4. グローバル設定ファイルに内容を貼り付け:
    • Windows:別の settings.json に切り替え、開いたページで左クリックCtrl + A で全選択、Ctrl + V で貼り付け。
    • MacOS:別の settings.json に切り替え、開いたページで左クリックCommand + A で全選択、Command + V で貼り付け。
  5. ローカル設定ファイルを削除:サイドバーの settings.json を右クリックし、削除(delete)を選択。

プラグインのインストール

左側のサイドバーで拡張機能(Extensions)をクリックし、表示されたウィンドウで @recommended を検索し、クラウドダウンロードアイコンをクリックします。

見つからない場合は、前述の解凍またはフォルダを開くの手順に問題がないか確認してください。それでも見つからない場合は、以下を参照してください。

下部を観察し、すべてのプラグインの右下にある青い install ボタンが消えて歯車になるまで待てば、すべてのインストールが完了です。

VSCode を閉じます。

@recommended で見つからない場合は、以下の拡張機能を手動で1行ずつ検索・インストールしてください:

(これは前述の解凍またはフォルダを開くの手順に既に誤りがあることを意味します!)

clangd
Code Runner
CodeLLDB
Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code
Cmake
Cmake Tools
cmake-format
Prettier - Code formatter
Disable Ligatures
vscode-icons

CMake 用コンパイラの選択

VSCode を再起動すると、図のようなオプションが表示されます。

  • Windows:Clang を選択してください。
  • MacOS:システムに Clang コンパイラが含まれていますが、homebrew パス下のバージョンを選択してください。

構成完了

Ctrl + Shift + P または Command + Shift + P でコマンドメニューを開き、clangdr と入力して clangd: Restart language server を見つけ、構成を更新します。

あなたの C++ ソースコードに奇妙なエラー情報が表示された場合、この手順で解決できる可能性があります。

cpp-practice を C++ 学習用フォルダとして直接使用でき、コードを src サブフォルダに配置できます。

コードの実行とデバッグ方法については以下を参照してください。

構成結果の検証

test/main.cpp を開きます。

診断情報の確認

int main() 関数内の int x{}; を観察し、x の下に黄色い線が引かれているはずです。

Code Runner プラグインによる実行

右上隅の再生ボタンをクリックしてください。

構成が成功した場合、true が表示されるはずです。

デバッグ

  1. 左側のサイドバーの再生ボタンをクリックして、実行とデバッグ画面に切り替えます。
  2. 上部の下矢印をクリックしてデバッグタスクを選択します。
  3. 緑色の再生ボタンをクリックしてデバッグを開始します。

準備済みの3つのデバッグタスク:

  • 単一ファイルのビルドとデバッグ:単一の cpp ファイルをコンパイルします。
  • 複数ファイルのビルドとデバッグ:現在選択されているファイルが存在するディレクトリ内のすべての cpp ファイルをコンパイルします。
  • コンパイル済み test.exe のデバッグ:直近の上記2つのデバッグタスクまたはこれらのデバッグタスクを構成するタスク(各自で調査してください)によって生成されたファイルをデバッグします。

構成が成功した場合、true が表示されるはずです。

説明

省略。

ただし GCC を使いたい

VSCode 設定ファイル settings.json を開き、"clangd.arguments" を探し、その中に "--query-driver=your_gcc_executable_path" を挿入してください。

他の VSCode 汎用プラグイン

ダウンロードをクリックし、構成方法は構成と同様です。

また、Vim プラグインの導入を推奨します。

付録

  • VSCode 変数リファレンス
  • Clangd 公式サイト
  • Clang コンパイラ診断オプションリスト
  • Clang-Format 構成オプションリスト
  • Clang-Tidy 診断オプションリスト
  • vscode-lldb ユーザーマニュアル

CMake 推奨読物

  • 書籍
    • 『Modern CMake for C++』
  • 動画
    • Effective CMake - Daniel Pfeife - C++Now 2017
    • Using Modern CMake Patterns to Enforce a Good Modular Design - Mathieu Ropert - CppCon 2017
    • Git, CMake, Conan - How to ship and reuse our C++ projects - Mateusz Pusz - CppCon 2018
    • More Modern CMake - Deniz Bahadir - Meeting C++ 2018
  • ドキュメント
    • CMake 公式ドキュメント
    • Modern CMake
    • More Modern CMake
    • Effective Modern CMake
    • VSCode CMake 拡張機能ユーザーマニュアル

タグ: cpp LLVM Clang VSCode macOS

7月27日 17:03 投稿