3 分钟跑起来:GriddyCode 代码编辑器语法高亮与主题定制教程
【免费下载链接】griddycodeA code editor made with Godot. Code has never been more lit!项目地址: https://gitcode.com/GitHub_Trending/gr/griddycode
GriddyCode 是一款用 Godot 引擎写的代码编辑器,主打视觉化编码体验:语法高亮、自动补全、主题配色全部交给 Lua 脚本控制,帮 Linux 用户把编辑器调成自己想要的样子。
⚡ 三分钟跑起来
- 装 Godot 4.2:到 godotengine.org 下载 4.2 版(Godot 是开源游戏引擎,这里当作运行时用)。
- 拿代码:
git clone https://gitcode.com/GitHub_Trending/gr/griddycode - 装 NerdFont 字体:文件选择器靠它显示图标,缺了图标会变成一个一个 "□"。
- 启动:用 Godot 打开仓库里的
project.godot,运行主场景 Scenes/editor.tscn。 - 验证:随便打开一个
.py或.js文件,看到关键字被着色就说明跑通了。
🎨 核心功能实操
定制语法高亮
- 入口:语言插件集中在 Lua/Plugins/ 目录,内置 c、cpp、js、py、go、html 等 15 个
.lua文件;运行时实际加载的是系统 AppData 下的langs文件夹(Linux 路径~/.local/share/godot/app_userdata/Bussin GriddyCode/langs)。 - 怎么改:新建以文件扩展名命名的脚本(如
toml.lua),用highlight标注关键字、highlight_region标注字符串和注释区域,再实现detect_functions与detect_variables供补全调用。 - 改完什么效果:打开对应扩展名的文件时,关键字、字符串、注释就按你定义的颜色渲染。
切换与自造主题
- 入口:编辑器内按
CTRL + T打开主题下拉框;内置 17 套主题放在 Lua/Themes/,如 Catppuccin、GitHub Dark、Tokyo Night、Nord、violet。 - 怎么改:主题也是一个
.lua文件,set_keywords调语法颜色、set_gui调背景与选区色;做浅色主题记得加disable_glow(),否则可能整屏发白。 - 改完什么效果:切换后编辑器的背景、当前行、选区颜色整体更换。
自动补全与社区评论彩蛋
输入时引擎会回调当前语言脚本的detect_functions/detect_variables,把结果填进补全列表;按CTRL + L还能随机弹出一条别的语言脚本塞进来的社区评论,纯属乐子。
⌨️ 效率速查
| 快捷键 | 作用 |
|---|---|
CTRL + I | 打开编辑器内置快速介绍,新手先看这个 |
CTRL + O | 打开文件选择器 |
CTRL + , | 打开设置菜单(含字体、Shader 等选项) |
CTRL + T | 打开 / 切换主题 |
CTRL + L | 随机弹出一条社区评论 |
CTRL + +/CTRL + - | 放大 / 缩小视图 |
🗺️ 项目地图
- Lua/Plugins/ — 各语言语法高亮与补全脚本
- Lua/Themes/ — 配色主题脚本
- Scripts/ — 编辑器核心逻辑:文件管理、设置、主题加载等
- Scenes/ — 界面场景:编辑器、设置、主题选择器、评论列表
- Shaders/ — 屏幕特效,如 VHS & CRT、阳光、圆角
- Fonts/ — 内置字体资源
- definitions.lua — 给 Lua 扩展方法提供的类型提示
动手扩展
- 自用:把自己写的
.lua丢进 AppData 的langs或themes文件夹,编辑器即可加载。 - 提交社区:发 Pull Request,把语言文件加到
Lua/Plugins、主题文件加到Lua/Themes;合入后会随下一个版本一起发布。 - 注意:Lua 脚本只在切换文件扩展名(如
.md切到.ts)或重启时重新加载,改完记得触发一下。
排错速查
- 图标显示成 "□"?→ 没装 NerdFont,装上即可。
- 改了主题没生效?→ 换一下文件扩展名或重启,脚本才会重新加载。
- 浅色主题整屏发白?→ 主题里加
disable_glow()。 - 文件超过约 1600 行光标飞出屏幕?→ 已知限制,官方标注待修,先留意一下。
- 颜色突然变红?→ 你填的 HEX 非法,会被回退成
#ff0000。
跑通之后,建议顺手把自己常用的主题和高亮脚本备份一份,方便回滚;平时留意仓库更新,有新版功能及时跟上;觉得哪套语言脚本不够用,直接照着Lua/Plugins里现有的改一份提交上去,比等官方排期更快。打开CTRL + I的那份内置介绍,就是你现在该做的第一件事。
【免费下载链接】griddycodeA code editor made with Godot. Code has never been more lit!项目地址: https://gitcode.com/GitHub_Trending/gr/griddycode
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考