Visual Studio extension: Color C++ and Unreal Engine Tokens.
Branch | Build Status |
---|---|
2022 |
|
2019 |
|
2017 |
Extension adds options to overwrite colors of certain C++ Tokens.
Extension works in files of ContentType
"C/C++"
, eg .cpp
or .h
files.
New entries will appear in Tools
→ Options
→ Environment
→ Fonts and Colors
→ Text Editor
.
Each will begin with C++ Token:
or Unreal C++ Token
prefix.
- Edit their color values, until you want to keep extension default ones (listed below).
- If you don't want to change some token's color at all, set it's
Item foreground
value toAutomatic
.
Default Tokens without extension | Color Tokens with extension enabled |
---|---|
New entry will appear in Tools
→ Options
→ Color.Token
.
Color macros which text is exact as tokens (eg color bool
macro defined by stdbool.h
header in C).
This option must be enabled in order to color Unreal Engine tokens.
Note that editing option does not take immediate effect to keep performance.
It requires reclassification, eg triggered by editing corresponding part of code.
Extension exposes following Tokens for customization:
- All macros, unconditionally, if option
Color macros
is enabled - All keywords, except:
- Keywords that provide an alternative way to represent standard tokens, eg
xor_eq
(trigraphs are removed) register
keyword (it's unused)
- Keywords that provide an alternative way to represent standard tokens, eg
- Identifiers with special meaning, except:
- Identifiers used as
contract-level
in Contract Attributes, exceptdefault
(it's also a keyword)
- Identifiers used as
Full list of customizable Tokens, with their default colors:
Token | Type | Color | RGB (0 – 255) |
---|---|---|---|
alignas |
Keyword | Blue | 128, 176, 224 |
alignof |
Keyword | Blue | 128, 176, 224 |
asm |
Assembler | Purple | 200, 176, 224 |
atomic_cancel |
Keyword | Blue | 128, 176, 224 |
atomic_commit |
Keyword | Blue | 128, 176, 224 |
atomic_noexcept |
Keyword | Blue | 128, 176, 224 |
auto |
Type | Lime | 176, 224, 128 |
bool |
Type | Lime | 176, 224, 128 |
break |
Flow | Violet | 128, 128, 224 |
case |
Flow | Violet | 128, 128, 224 |
catch |
Flow | Violet | 128, 128, 224 |
char |
Type | Lime | 176, 224, 128 |
char8_t |
Type | Lime | 176, 224, 128 |
char16_t |
Type | Lime | 176, 224, 128 |
char32_t |
Type | Lime | 176, 224, 128 |
class |
Keyword | Blue | 128, 176, 224 |
concept |
Keyword | Blue | 128, 176, 224 |
const |
Keyword | Blue | 128, 176, 224 |
consteval |
Keyword | Blue | 128, 176, 224 |
constexpr |
Keyword | Blue | 128, 176, 224 |
constinit |
Keyword | Blue | 128, 176, 224 |
const_cast |
Keyword | Blue | 128, 176, 224 |
continue |
Flow | Violet | 128, 128, 224 |
co_await |
Flow | Violet | 128, 128, 224 |
co_return |
Flow | Violet | 128, 128, 224 |
co_yield |
Flow | Violet | 128, 128, 224 |
decltype |
Keyword | Blue | 128, 176, 224 |
default (function definition) |
Keyword | Blue | 128, 176, 224 |
default (switch statement) |
Flow | Violet | 128, 128, 224 |
delete |
Important | Red | 224, 128, 128 |
do |
Flow | Violet | 128, 128, 224 |
double |
Type | Lime | 176, 224, 128 |
dynamic_cast |
Keyword | Blue | 128, 176, 224 |
else |
Flow | Violet | 128, 128, 224 |
enum |
Keyword | Blue | 128, 176, 224 |
explicit |
Keyword | Blue | 128, 176, 224 |
export |
Keyword | Blue | 128, 176, 224 |
extern |
Keyword | Blue | 128, 176, 224 |
false |
Static | Red | 224, 128, 128 |
final |
Keyword | Blue | 128, 176, 224 |
float |
Type | Lime | 176, 224, 128 |
for |
Flow | Violet | 128, 128, 224 |
friend |
Keyword | Blue | 128, 176, 224 |
goto |
Flow | Violet | 128, 128, 224 |
if |
Flow | Violet | 128, 128, 224 |
import |
Keyword | Blue | 128, 176, 224 |
inline |
Keyword | Blue | 128, 176, 224 |
int |
Type | Lime | 176, 224, 128 |
long |
Type | Lime | 176, 224, 128 |
module |
Keyword | Blue | 128, 176, 224 |
mutable |
Keyword | Blue | 128, 176, 224 |
namespace |
Keyword | Blue | 128, 176, 224 |
new |
Important | Red | 224, 128, 128 |
noexcept |
Keyword | Blue | 128, 176, 224 |
nullptr |
Static | Red | 224, 128, 128 |
operator |
Keyword | Blue | 128, 176, 224 |
override |
Keyword | Blue | 128, 176, 224 |
private |
Access | Dark Red | 176, 80, 80 |
protected |
Access | Dark Yellow | 176, 176, 80 |
public |
Access | Dark Green | 80, 176, 80 |
reflexpr |
Keyword | Blue | 128, 176, 224 |
reinterpret_cast |
Keyword | Blue | 128, 176, 224 |
requires |
Keyword | Blue | 128, 176, 224 |
return |
Flow | Violet | 128, 128, 224 |
short |
Type | Lime | 176, 224, 128 |
signed |
Type | Lime | 176, 224, 128 |
sizeof |
Keyword | Blue | 128, 176, 224 |
static |
Keyword | Blue | 128, 176, 224 |
static_assert |
Keyword | Blue | 128, 176, 224 |
static_cast |
Keyword | Blue | 128, 176, 224 |
struct |
Keyword | Blue | 128, 176, 224 |
switch |
Flow | Violet | 128, 128, 224 |
synchronized |
Keyword | Blue | 128, 176, 224 |
template |
Keyword | Blue | 128, 176, 224 |
this |
Keyword | Blue | 128, 176, 224 |
thread_local |
Keyword | Blue | 128, 176, 224 |
throw |
Flow | Violet | 128, 128, 224 |
transaction_safe |
Keyword | Blue | 128, 176, 224 |
transaction_safe_dynamic |
Keyword | Blue | 128, 176, 224 |
true |
Static | Red | 224, 128, 128 |
try |
Flow | Violet | 128, 128, 224 |
typedef |
Keyword | Blue | 128, 176, 224 |
typeid |
Keyword | Blue | 128, 176, 224 |
typename |
Keyword | Blue | 128, 176, 224 |
union |
Keyword | Blue | 128, 176, 224 |
unsigned |
Type | Lime | 176, 224, 128 |
using |
Keyword | Blue | 128, 176, 224 |
virtual |
Keyword | Blue | 128, 176, 224 |
void |
Type | Lime | 176, 224, 128 |
volatile |
Keyword | Blue | 128, 176, 224 |
wchar_t |
Type | Lime | 176, 224, 128 |
while |
Flow | Violet | 128, 128, 224 |
Token | Type | Color | RGB (0 – 255) |
---|---|---|---|
int8 |
Type | Lime | 176, 224, 128 |
int16 |
Type | Lime | 176, 224, 128 |
int32 |
Type | Lime | 176, 224, 128 |
int64 |
Type | Lime | 176, 224, 128 |
uint8 |
Type | Lime | 176, 224, 128 |
uint16 |
Type | Lime | 176, 224, 128 |
uint32 |
Type | Lime | 176, 224, 128 |
uint64 |
Type | Lime | 176, 224, 128 |
FRotator |
Type | Lime | 176, 224, 128 |
FString |
Type | Lime | 176, 224, 128 |
FText |
Type | Lime | 176, 224, 128 |
FTransform |
Type | Lime | 176, 224, 128 |
FVector |
Type | Lime | 176, 224, 128 |
FVector2D |
Type | Lime | 176, 224, 128 |
If Unreal Engine tokens are not colorized, add Unreal macros to the cpp.hint
file for Intellisense.
asm
can be preceded or followed by up to two underscore characters (U+005F,_
), eg__asm
.default
(switch
statement) meansdefault
keyword is followed by:
(possibly after whitespaces).
- Branch:
2019
- Release:
1.3.0.2+2019
- Download:
Color.Token.vsix
- Marketplace:
Color.Token (2019)
- Branch:
2017
- Release:
1.3.1.1+2017
- Download:
Color.Token.vsix
- Marketplace:
Color.Token (2017)