C语言开发时,自定义vscode语法颜色
- 一、引言
- 二、实操
- [2.1 思路](#2.1 思路)
- [2.2 确定当前使用的主题](#2.2 确定当前使用的主题)
- [2.3 找到vscode安装目录下,主题对应的json文件。](#2.3 找到vscode安装目录下,主题对应的json文件。)
- [2.4 以结构体为例:找到对应的"名字"](#2.4 以结构体为例:找到对应的“名字”)
- [2.5 在json文件中添加颜色配置](#2.5 在json文件中添加颜色配置)
- [2.6 验证](#2.6 验证)
- 三、推广
一、引言
使用vscode开发时,默认的C语言语法颜色已经比较舒适。如下图。

但是某些细节的处理有一点不足,比如调用结构体成员时,结构体和结构体成员的颜色是相同的。

此时需要在vscode默认的颜色配置下,稍加修改,来满足自己的需要。
这里提供一种可行的方法。
二、实操
2.1 思路
vscode的颜色配置与主题theme有关,即切换一种主题,语法的颜色显示就会改变。
所以需要先确定当前的主题theme,然后找到主题的配置文件json,在这个配置文件的基础上进行修改。
2.2 确定当前使用的主题
右下角齿轮,点击color theme。


2.3 找到vscode安装目录下,主题对应的json文件。
以我自己的安装目录为例:
D:\Microsoft VS Code\resources\app\extensions\theme-defaults\themes

右键vscode打开后,是一行命令,展开后为。

所以再找到dark_plus.json文件,并打开。
也是一行命令,手动添加回车符,展开后为:

2.4 以结构体为例:找到对应的"名字"
ctrl+shift+P,然后输入下图中绿色框中的英文,打开"开发者模式:检查编辑者tokens和scopes"

然后,点击结构体oled,见下图。点击结构体成员oleddisplay,见下下图。


2.5 在json文件中添加颜色配置
复制上面两张图,绿色框中的文字,在json中添加。并修改颜色配置。
这里希望结构体颜色不变,结构体成员的颜色为深蓝色。

2.6 验证
关闭vscode,重启。可以看到结构体成员的颜色已经发生改变。

再次打开"开发者模式:检查编辑者tokens和scopes"。
可以看到textmate的前景色已经发生改变。

这只是提供一种修改代码颜色的方法。
暂时不深入研究vscode对语法分析以及赋予颜色的原理了。
三、推广
可以使用此方法,自定义代码任何部分的颜色,比如宏定义,宏定义调用,函数声明,函数调用等。