一、目的
为了解决vscode panda theme主题不支持c/c++语法某些高亮的问题。
二、方法
找到:C:\Users\ikat.vscode\extensions\tinkertrain.theme-panda-1.4.0,主题工程文件。
/dist/Panda.json,即为最终vscode加载的主题配色的文件。所以说我们需要修改工程代码去生成这个文件,或直接魔改这个文件。
修改工程代码
1.新增cpp.yaml文件
观察到build.js 是整个工程的编译的入口。
/themes/下发现每种语言都有其配置文件,比如JavaScript有js.yaml,markdown有makdown.yaml文件。
所以说需要新增一个c/c++的文件即cpp.yaml,叫AI生成cpp的配置文件cpp.yaml:
# -----------------------------------------------------------------------------
# C/C++
# -----------------------------------------------------------------------------
- scope: keyword.control.cpp
settings:
foreground: _purple # Keywords like if, else, for, while
- scope: storage.type.cpp
settings:
foreground: _light-blue # Data types like int, char, float
- scope: storage.modifier.cpp
settings:
foreground: _light-blue # static, const, etc.
- scope: variable.language.cpp
settings:
foreground: _orange # this pointer
- scope: support.function.cpp
settings:
foreground: _blue # Standard library functions like printf, cout
- scope: entity.function.cpp
settings:
foreground: _green # User-defined functions
- scope: entity.name.class.cpp
settings:
foreground: _yellow # Class names
- scope: entity.name.type.class.cpp
settings:
foreground: _yellow
- scope: constant.numeric.cpp
settings:
foreground: _red # Numeric literals
- scope: string.quoted.double.cpp
settings:
foreground: _cyan # String literals
- scope: keyword.operator.new.cpp, keyword.operator.delete.cpp
settings:
foreground: _pink
- scope: meta.preprocessor.include.cpp
settings:
foreground: _light-pink
- scope: meta.preprocessor.define.cpp
settings:
foreground: _light-pink
2.修改build.js
1.添加一条const cpp = yaml.safeLoad(readFileSync('themes/cpp.yaml', 'utf-8'))
2.并在base.tokenColors 中添加cpp
3.开始创建Panda.json文件
#安装依赖
npm install
#生成最终文件
node build.js
创建成功:
三、验证是否修改成功
禁用主题并重新加载主题即可。
delete关键词有高亮了,且括号竖线也变成了彩色,修改成功!!!
2025年5月15日-byikat