c_cpp_properties.jsonについて
生成されたc_cpp_properties.json
{ "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**" ], "defines": [], "compilerPath": "/usr/bin/gcc", "cStandard": "gnu17", "cppStandard": "gnu++14", "intelliSenseMode": "linux-gcc-x64" } ], "version": 4 }
役割
configurations
IntelliSense エンジンにプロジェクトと環境設定に関する情報を提供する設定オブジェクトの配列。デフォルトでは、拡張モジュールはあなたのオペレーティングシステムに基づいた設定を作成します。さらに設定を追加することもできます。
name
コンフィギュレーションを識別するためのフレンドリーな名前です。Linux、Mac、Win32は、それらのプラットフォームで自動選択されるコンフィギュレーション用の特別な識別子です。VS Codeのステータスバーには、どのコンフィギュレーションがアクティブであるかが表示されます。また、ステータスバーのラベルをクリックすると、アクティブなコンフィギュレーションを変更することができます。 (WSL:Ubuntu とかに変更したほうがいいのか...?)
includePath
インクルードパスとは、ソースファイルに含まれるヘッダーファイル(#include "myHeaderFile.h "など)を含むフォルダーのことです。インテリセンス・エンジンがインクルード・ヘッダー・ファイルを検索するときに使用するパスのリストを指定します。これらのパスでの検索は再帰的ではありません。再帰的な検索を行う場合は を指定します。例えば、${workspaceFolder}/ はすべてのサブディレクトリを検索しますが、${workspaceFolder} は検索しません。Visual StudioがインストールされているWindowsの場合、またはcompilerPath設定でコンパイラーが指定されている場合は、このリストにシステムインクルードパスをリストアップする必要はありません。
defines
ファイルを解析するときに IntelliSense エンジンが使用するプリプロセッサー定義のリストです。オプションで、VERSION=1 のような値を設定するために = を使用します。???
intelliSenseMode
MSVC、gcc、または Clang のアーキテクチャ固有の変種に対応する、使用するインテリセンス モードです。設定されていない場合、または ${default} に設定されている場合、拡張機能はそのプラットフォームのデフォルトを選択します。
プラットフォームのデフォルト
Windows: msvc-x64 Linux: gcc-x64 macOS: clang-x64
これはいじらなくてよさそう