強化された色付け
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 |
| パラメーター | parameter | 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 |
| タイプ | type | entity.name.type |
| ユーザー定義リテラル - 数値 | numberLiteral | entity.name.operator.custom-literal.number |
| ユーザー定義リテラル - 生 | 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"
}
}
}
}