強化されたカラー表示
Visual Studio Code C/C++ 拡張機能は、IntelliSense が有効な場合にセマンティックな色付けをサポートするようになりました。強化された色付けの使用は、C_Cpp.enhancedColorization 設定によって制御されます。この設定はデフォルトで有効になっています。
"C_Cpp.enhancedColorization": "enabled"
テーマ
色は、VS Code の既存のテーマ設定と色のカスタマイズのサポートを使用して関連付けることができます。VS Code テーマのドキュメントで詳細を確認してください。
色は、セマンティックトークンおよびTextMate スコープに関連付けられています。
C/C++ テーマ拡張機能
Visual Studio のデフォルトのLightテーマとDarkテーマに非常に似ており、セマンティックトークンの色を含む一連のVS Codeテーマを作成しました。これらのテーマはこちらで確認できます。
IntelliSense トークンとスコープ
トークン | セマンティックトークン名 | フォールバック TextMate スコープ |
---|---|---|
クラステンプレート | templateType | entity.name.type.class.templated |
列挙子 | enumMember | variable.other.enummember |
イベント (C++/CLI) | event | variable.other.event |
関数 | function | entity.name.function |
関数テンプレート | templateFunction | entity.name.function.templated |
ジェネリック型 (C++/CLI) | genericType | entity.name.type.class.generic |
グローバル変数 | variable.global | variable.other.global |
ラベル | label | entity.name.label |
ローカル変数 | variable.local | variable.other.local |
マクロ | macro | entity.name.function.preprocessor |
メンバーフィールド | property | variable.other.property |
メンバー関数 | method | entity.name.function.member |
名前空間 | namespace | entity.name.namespace |
New / Delete | newOperator | keyword.operator.new |
演算子オーバーロード関数 | operatorOverload | entity.name.function.operator |
演算子オーバーロードメンバー | memberOperatorOverload | entity.name.function.operator.member |
パラメーター | パラメーター | variable.parameter |
プロパティ (C++/CLI) | cliProperty | variable.other.property.cli |
参照型 (C++/CLI) | referenceType | entity.name.type.class.reference |
静的メンバーフィールド | property.static | variable.other.property.static |
静的メンバー関数 | method.static | entity.name.function.member.static |
タイプ | 型 | entity.name.type |
ユーザー定義リテラル - 数値 | numberLiteral | entity.name.operator.custom-literal.number |
ユーザー定義リテラル - Raw | customLiteral | entity.name.operator.custom-literal |
ユーザー定義リテラル - 文字列 | stringLiteral | entity.name.operator.custom-literal.string |
値型 (C++/CLI) | valueType | entity.name.type.class.value |
設定での色のカスタマイズ
色は、設定でグローバルにオーバーライドすることもできます。
"editor.semanticTokenColorCustomizations": {
"rules": {
"templateType": {
"foreground": "#ff0000",
"fontStyle": "italic bold underline"
}
}
}
または、テーマごとにオーバーライドすることもできます。
"editor.semanticTokenColorCustomizations": {
"[Visual Studio Dark]": {
"rules": {
"templateType": {
"foreground": "#ff0000",
"fontStyle": "italic bold underline"
}
}
}
}