news 2026/8/22 21:30:24

GriddyCode Godot 代码编辑器完整指南:Lua 插件与主题定制

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GriddyCode Godot 代码编辑器完整指南:Lua 插件与主题定制

GriddyCode Godot 代码编辑器完整指南:Lua 插件与主题定制

【免费下载链接】griddycodeA code editor made with Godot. Code has never been more lit!项目地址: https://gitcode.com/GitHub_Trending/gr/griddycode

GriddyCode 是一个基于 Godot 引擎构建的开源代码编辑器,语法高亮、代码补全和界面主题全部通过 Lua 脚本实现,运行环境以 Linux 为主。它的定位是轻量、可深度定制的编辑器,适合想自己动手改造编辑环境的人。

项目定位:用游戏引擎做的编辑器有什么不同

主流代码编辑器大多构建在成熟的 GUI 框架之上,GriddyCode 则选用 Godot 游戏引擎,界面本质上是一个 2D 游戏场景。这带来两个直接后果:VHS、CRT 这类后处理 shader 和发光效果可以直接用在编辑界面上;同时它也缺少主流编辑器多年打磨过的稳定性。

它的扩展体系不依赖插件市场,而是一批 Lua 文件。往 langs 目录里放一个与文件扩展名同名的 .lua 文件,就等于新增一种语言支持,门槛明显低于编写 VS Code 扩展。

适合人群:想折腾 Godot 项目结构、把编辑器当学习样例的开发者,以及需要一个外观高度可玩的轻量副编辑器的用户。不建议依赖它的补全精度作为唯一生产环境。

核心亮点:三个值得注意的设计

Lua 脚本承担全部扩展

语法高亮与补全逻辑都写在Lua/Plugins/目录,内置 C、C++、Python、JavaScript、Go、Java 等 16 种语言插件。每个 .lua 文件对应一个文件扩展名,用highlight()highlight_region()声明关键词与区域着色。补全部分需要自行实现detect_functions()detect_variables(),接口接收文件内容和光标位置,写一个新语言的基础补全通常几十行代码即可。局限在于highlight_region()不支持正则,只能按起止符号匹配。

主题文件只有十几行

Lua/Themes/内置 16 个主题,覆盖 Catppuccin 四色、GitHub 深浅色、Nord、Monokai、Tokyo Night、Rose Pine 等。主题文件只做两件事:set_keywords()定义语法颜色,set_gui()定义背景、选区、光标等颜色。需要提醒的是,浅色主题必须调用disable_glow(),否则 Godot 的 glow 效果可能把整屏刷白,这是项目已知的兼容问题。

编辑器带"娱乐"属性

它内置 VHS & CRT shader、随机吐槽风注释菜单(CTRL+L 触发)、背景音乐和 Discord 状态集成,更像个人终端而不是纯效率工具。项目 README 也坦诚列出已知缺陷:约 1600 行的文件长度上限、部分 shader 在个别主题下变白。把它当学习项目或第二编辑器,心态会更合适。

安装与首次运行:5 分钟跑通编辑器

先克隆仓库,然后用 Godot Engine v4.2 打开project.godot并运行:

git clone https://gitcode.com/GitHub_Trending/gr/griddycode

系统与注意事项合并如下:

  • 主要在 Linux 上测试,README 明确表示不支持 macOS
  • 建议安装 Nerdfont 字体,否则文件选择器图标会显示为方框
  • 默认窗口为 1920x1080,小屏会按比例缩放
  • 首次运行按 CTRL+I 查看内置快速入门
  • 脚本修改不会热加载:需要切换到不同扩展名的文件或重启编辑器

功能实操:先做这三件事

找到脚本存放目录

Lua 脚本不在仓库目录,运行时从用户数据目录加载。Linux 下位于~/.local/share/godot/app_userdata/Bussin GriddyCode,其中langs子目录放语言插件,themes子目录放主题。仓库内的Lua/目录是随包内置版本,自定义脚本请放用户目录。

写第一个语言插件

在 langs 目录新建toml.lua(文件名即扩展名),声明高亮规则:

highlight("true", "binary") highlight("=", "operator") highlight_region('"', '"', "string")

颜色名可选reservedstringbinarycommentsfunction等。若要补全,再实现detect_functions()返回字符串数组,输入时自动弹出。

做一个自定义主题

themes 目录新建任意 .lua 文件,设置颜色即可生效:

set_keywords("reserved", "#ff00ff") set_gui("background_color", "#1e1e2e") disable_glow()

set_gui()的第二参数支持current_line_colorselection_colorfont_colorcaret_color等属性;色值必须是合法十六进制,否则默认回退为红色。

常用快捷键

快捷键功能
CTRL + I查看内置介绍
CTRL + ,打开设置面板
CTRL + L打开评论菜单
CTRL + T切换主题
CTRL + O打开文件对话框

技巧与 FAQ

问:改完 Lua 脚本为什么不生效?答:脚本只在切换到不同扩展名的文件、或重启 GriddyCode 时重新加载。切一下文件类型即可验证修改。

问:文件选择器图标全是方框?答:系统缺少 Nerdfont 字体,安装任一款 Nerd Font 后重启编辑器。

问:打开大文件界面会出问题吗?答:超过约 1600 行后滚动会异常、视角可能飞出屏幕,属已知中优先级问题。大文件建议仍用主流编辑器。

问:浅色主题整屏发白怎么办?答:Godot 的 glow 对浅色背景渲染异常,在主题文件中加一行disable_glow()即可。

问:能当主力编辑器吗?答:常用语言在内置列表内、文件不大时日常够用;但补全深度、导航精度与稳定性不及成熟编辑器,建议保留主力工具,把它当轻量补充。

参与项目

开发前需安装 Godot Engine v4.2 并在本地验证改动,Lua 插件、主题和核心功能均接受 Pull Request。待办清单见仓库 README 的 "Current bugs/needed features" 一节,按高、中、低优先级排列,可直接认领。

写在最后

GriddyCode 的价值不在功能完整度,而在于整套编辑器被拆成了可读的 Godot 场景加 Lua 接口,改造成本很低。如果目标是理解"代码编辑器如何从零搭起来",建议先克隆仓库跑起来,再照着内置主题改一个自己的配色文件,这是最短的上手路径。

【免费下载链接】griddycodeA code editor made with Godot. Code has never been more lit!项目地址: https://gitcode.com/GitHub_Trending/gr/griddycode

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 21:29:39

Seraphine 英雄联盟战绩查询工具使用指南:一个窗口搞定查战绩与 BP

Seraphine 英雄联盟战绩查询工具使用指南:一个窗口搞定查战绩与 BP 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine Seraphine 是一款运行在 Windows 上的英雄联盟战绩查询工具,通过官方…

作者头像 李华
网站建设 2026/8/22 21:29:23

免费 MP4 视频修复工具 Untrunc:3 条命令救回无法播放的录像

免费 MP4 视频修复工具 Untrunc:3 条命令救回无法播放的录像 【免费下载链接】untrunc Restore a damaged (truncated) mp4, m4v, mov, 3gp video. Provided you have a similar not broken video. 项目地址: https://gitcode.com/gh_mirrors/unt/untrunc 刚…

作者头像 李华
网站建设 2026/8/22 21:28:53

std::function实现非面向对象多态的原理与工程实践

1. 这不是“继承”出来的多态,而是用函数对象玩转接口抽象你翻过《深入浅出C》第185到187页,看到标题写着“std::function 非OO的多态实现”,第一反应可能是:多态不就是虚函数、基类指针、动态绑定那一套吗?怎么还能“…

作者头像 李华
网站建设 2026/8/22 21:27:38

Anthropic拟2万亿美元估值上市,ARR增速放缓引发全球科技股连锁反应

Anthropic冲击2万亿估值,上市脚步渐近据金融时报报道,AI明星公司Anthropic最快10月上市,目标估值最高达2万亿美元。公司早在6月就已秘密递交美国IPO申请,不过具体时间与定价仍未最终确定。若成功上市,Anthropic将打破S…

作者头像 李华
网站建设 2026/8/22 21:27:31

王道计算机组成原理习题高效实践指南:从刷题到原理深度掌握

在计算机组成原理的学习过程中,无论是应对考研还是夯实专业基础,高质量的习题训练都是不可或缺的一环。王道论坛出版的计算机组成原理辅导书,因其内容系统、题目经典、解析详尽,成为了众多学习者的首选。然而,面对海量…

作者头像 李华