vscode lua语法高亮自定义
(1) 这边的高亮颜色是按照Idea的Darcula主题的语法高亮颜色设置的,主要是习惯了idea的配色

(2) 首先设置emmylua插件上定义的语法高亮颜色, ctrl+shift+p输入settings, 选择Open User Settings

可以在界面上进行设置,红色圈出来的颜色改下,Doc_Type(函数doc), Global(全局变量,全局函数,全局函数调用), Parameter(函数参数)

这边的设置其实就是在settings.json中加了以下几个条目

(3) ctrl+shift+p, 输入settings.json, 选择Open Settings(JSON), 在editor.tokenColorCustomizations属性中添加相关配色

最终配置
{ "emmylua.colors.doc_type": "#629755", "emmylua.colors.global": "#9786aa", "emmylua.colors.parameter": "#0f9795", "workbench.colorCustomizations": { "editor.background": "#323232", //编辑器背景颜色 "editor.lineHighlightBackground": "#43474a" //当前行颜色 }, "editor.tokenColorCustomizations": { "comments": "#808080", "functions": "#ffc66d", //成员函数, 成员函数调用 "keywords": "#cc7832", "strings": "#6a8759", "numbers": "#6897bb", "types": "#a9b7c6", //table对象 "variables": "#a9b7c6", //local变量 "textMateRules": [ { "scope":"variable.language", //self, this关键字 "settings": { "foreground": "#ab51ba" }, }, { "scope":"constant.language", //nil,true,false关键字 "settings": { "foreground": "#00e5e5" }, }, { "scope":"keyword", //local关键字 "settings": { "foreground": "#cc7832" }, }, { "scope":"entity.other.attribute", //对象属性 "settings": { "foreground": "#a9b7c6" }, }, ] }, }
(4) 语法高亮和idea不一致的一些地方
(4-1)table类静态函数, 类名颜色,不应该是黄色的

(4-2)std标准库函数,都识别成全局变量或全局函数了(紫色),标准库函数就很多了:math.xxx, table.xxx, string.xxx, tonumber, require, type, pairs, ipairs等
加了下面的配置也不起作用
{ "scope":"support.function.lua", //std库函数 "settings": { "foreground": "#cc542e" } }, { "scope":"support.function.library.lua", //std库函数 "settings": { "foreground": "#cc542e" } },
vscode中

idea中

(4-3) 函数文档颜色识别成普通注释了

idea中

(5) vscode下查看scope类型
ctrl+shift+p, 输入tokens, 选择Inspect Editor Tokens and Scopes

然后用鼠标点一个元素就可以显示出来了,不过貌似有的不是特别准

【参考】
vscode插件开发(2)-主题插件:tokenColors配置项_快说我是谁!的博客-CSDN博客
vscode 护眼主题 界面UI配色 语法配色_一切时空过去未来的博客-CSDN博客_vscode护眼颜色主题推荐
vscode C/C++ color theme 配色方案_freelander0418的博客-CSDN博客_vscode配色方案
你不知道的 VSCode 代码高亮原理 - 知乎 (zhihu.com)
VS Code自定义配色方案_佛罗伦萨的阿萨辛的博客-CSDN博客_vscode配色
vscode自定义括号颜色_小丸仔同学的博客-CSDN博客_vscode括号颜色
Theme Color | Visual Studio Code Extension API
【idea Darcula主题lua语法高亮颜色参考】
关键字:
local, function, if, then, else, end, for, do, break, while, repeat, until: cc7832, 黄色
nil, true, false: 00e5e5, 青色
self关键字: ab51ba, 紫色
变量:
local变量, 文件local变量(类名): a9b7c6, 灰白
对象成员变量: a9b7c6, 灰白
全局变量: 9876aa, 浅紫色
函数参数: 0f9795, 青色
for的k,v: 0f9795, 青色
未使用变量: 808080, 灰色
变量值:
字符串: 6a8759, 浅绿色
数字: 6897bb, 蓝灰色
函数:
local函数: a9b7c6, 灰白
全局函数: 9876aa, 紫色
成员函数, 类函数: ffc66d, 浅黄
未使用函数: 808080, 灰色
标准库函数:
pairs, ipairs, next, require, tonumber, table.xxx, string.xxx等: cc542e, 深黄
注释:
--注释: 808080, 灰色
doc注释: 629755, 绿色
---注释: 6a8759, 浅绿色
符号关键字:
大括号Braces: a9b7c6, 灰白
方括号Brackets: a9b7c6, 灰白
逗号Comma: cc7832, 黄色
点Dot: a9b7c6, 灰白
操作符(加减乘除,等于): a9b7c6, 灰白
圆括号Parentheses: a9b7c6, 灰白
分号Semicolon: cc7832, 黄色
【Rider Dark主题lua语法高亮颜色参考】
关键字:
local, function, if, then, else, end, for, do, break, while, repeat, until: 6c95eb, 浅蓝色
nil, true, false: 7df0c0, 浅绿色
self关键字: c191ff, 紫色
变量:
local变量, 文件local变量(类名): bdbdbd, 灰白
对象成员变量: d0d0d0, 灰白
全局变量: 66c3cc, 青色
函数参数: 39cc8f, 绿色
for的k,v参数: 39cc8f, 绿色
未使用变量: 787878, 灰色
变量值:
字符串: c9a26d, 土黄
数字: bd94c0, 分红
函数:
local函数: a9b7c6, 灰白
全局函数: 66c3cc, 青色
成员函数, 类函数: 39cc8f, 绿色
未使用函数: 787878, 灰色
标准库函数:
pairs, ipairs, next, require, tonumber, table.xxx, string.xxx等: cc542e, 橘黄
注释:
--注释: b5c46c, 绿色
doc注释: b5c46c, 绿色
---注释: b5c46c, 绿色
符号关键字:
大括号Braces: bdbdbd, 灰白
方括号Brackets: bdbdbd, 灰白
逗号Comma: bdbdbd, 灰白
点Dot: bdbdbd, 灰白
操作符(加减乘除,等于): bdbdbd, 灰白
圆括号Parentheses: bdbdbd, 灰白
分号Semicolon: bdbdbd, 灰白

浙公网安备 33010602011771号