Erweiterte Farbgebung
Die C/C++-Erweiterung für Visual Studio unterstützt jetzt die semantische Farbgebung, wenn IntelliSense aktiviert ist. Die erweiterte Farbgebung wird durch die Einstellung C_Cpp.enhancedColorization gesteuert. Diese Einstellung ist standardmäßig aktiviert.
"C_Cpp.enhancedColorization": "enabled"
Themen
Farben können über die bestehende Unterstützung für Theming und Farbanpassung in VS Code zugeordnet werden. Weitere Informationen finden Sie in der Dokumentation zu VS Code-Themes.
Farben werden sowohl semantischen Token als auch TextMate-Geltungsbereichen zugeordnet.
C/C++ Themes-Erweiterung
Wir haben eine Reihe von VS Code-Themes erstellt, die den Standard-Light- und Dark-Themes in Visual Studio sehr ähnlich sind und Farben für semantische Token enthalten. Diese Themes finden Sie hier.
IntelliSense-Token und Geltungsbereiche
| Token | Name des semantischen Tokens | Fallback TextMate-Geltungsbereich |
|---|---|---|
| Klassenvorlage | templateType | entity.name.type.class.templated |
| Aufzählung | enumMember | variable.other.enummember |
| Ereignis (C++/CLI) | event | variable.other.event |
| Funktion | function | entity.name.function |
| Funktionsvorlage | templateFunction | entity.name.function.templated |
| Generischer Typ (C++/CLI) | genericType | entity.name.type.class.generic |
| Globale Variable | variable.global | variable.other.global |
| Label | label | entity.name.label |
| Lokale Variable | variable.local | variable.other.local |
| Makro | macro | entity.name.function.preprocessor |
| Mitgliedsfeld | property | variable.other.property |
| Mitgliedsfunktion | method | entity.name.function.member |
| Namespace | namespace | entity.name.namespace |
| Neu / Löschen | newOperator | keyword.operator.new |
| Operatorüberladungsfunktion | operatorOverload | entity.name.function.operator |
| Operatorüberladung Mitglied | memberOperatorOverload | entity.name.function.operator.member |
| Parameter | Parameter | variable.parameter |
| Eigenschaft (C++/CLI) | cliProperty | variable.other.property.cli |
| Referenztyp (C++/CLI) | referenceType | entity.name.type.class.reference |
| Statisches Mitgliedsfeld | property.static | variable.other.property.static |
| Statisches Mitgliedsfunktion | method.static | entity.name.function.member.static |
| Typ | type | entity.name.type |
| Benutzerdefinierter Literal - Zahl | numberLiteral | entity.name.operator.custom-literal.number |
| Benutzerdefinierter Literal - Raw | customLiteral | entity.name.operator.custom-literal |
| Benutzerdefinierter Literal - Zeichenkette | stringLiteral | entity.name.operator.custom-literal.string |
| Werttyp (C++/CLI) | valueType | entity.name.type.class.value |
Farben in den Einstellungen anpassen
Farben können auch global in den Einstellungen überschrieben werden
"editor.semanticTokenColorCustomizations": {
"rules": {
"templateType": {
"foreground": "#ff0000",
"fontStyle": "italic bold underline"
}
}
}
Oder pro Theme überschrieben werden
"editor.semanticTokenColorCustomizations": {
"[Visual Studio Dark]": {
"rules": {
"templateType": {
"foreground": "#ff0000",
"fontStyle": "italic bold underline"
}
}
}
}