godot embed external editor
GDExtension,允许将外部代码编辑器(例如 Visual Studio Code)直接嵌入到您的 Godot 编辑器中!
快速入门指南
特征
- 自动附加和分离外部代码编辑器。
- 尽可能检查代码编辑器是否与给定项目相关(例如,项目文件夹在其中打开)。
- 场景选项卡栏中的切换按钮可手动附加和分离外部代码编辑器。
- 支持的外部编辑器:
快速入门
- 确保
- 你正在使用Godot 4。
- 你在Windows上。
- 在Godot的编辑器设置中,“单窗口模式”被禁用(否则对话框将不会出现在代码编辑器前面)。
- 在 Godot 的编辑器设置中,外部代码编辑器已启用并正确设置(在 Godot 的文件资源管理器中双击脚本文件应打开您选择的编辑器)。
- 您按照您选择的编辑器的设置说明进行操作。
- 下载并提取最新的构建工件或从源代码进行编译。
- 将
addons
文件夹复制到您的游戏项目文件夹中。 - 如果 Godot 正在运行,请务必选择“项目 -> 重新加载当前项目”或重新启动编辑器(GDExtensions 不会实时重新加载,请参阅此问题)。
- 在项目设置中启用该插件。
- 通过双击 Godot 资源管理器中的脚本文件来打开代码编辑器(此插件不会嵌入不相关的代码编辑器) - 它应该在启动后不久消失。
- 切换到“脚本”选项卡并享受吧!
每个编辑器设置
视觉工作室代码
以下设置更改可以在用户设置 (Ctrl+逗号) 中完成,也可以针对每个工作区文件夹进行:
- 将
window.titleBarStyle
设置为native
。否则,标题栏无法隐藏,并且编辑器窗口的大小将独立于其容器而调整。 - 确保设置
window.title
和window.titleSeparator
使用其默认值。如果您已修改,请按照以下说明进行操作:-
window.title
设置必须包含字符串Visual Studio Code
和当前打开的文件夹${rootName}
的名称。这是为了让插件检测实例是否打开了项目所必需的。 - 同样,
window.titleSeparator
需要前导和尾随空格才能正常工作。
如果您更喜欢使用 Visual Studio Code 作为没有 IDE 功能的纯文本编辑器,请考虑使用 Zen 模式:
- 将
zenMode.centerLayout
设置为false
并将zenMode.fullScreen
设置为false
。 - 通过运行命令
View: Toggle Zen Mode
启用 Zen 模式。
局限性
这个插件是非常实验性和hacky的。我正在尝试改进它,但有些事情无法轻易解决:
一般的
- Godot 在检测外部脚本文件更改时仍然存在问题(请参阅此问题)。
- 解决方法:使用“Project -> Reload Current Project”重新启动编辑器。
- 在不分离编辑器的情况下无法在编辑器中查看文档。
- 解决方法:您可以使用 VSCode 的“列出本机类”选项作为替代方法。
- 过去偶尔会出现冻结现象,我曾尝试修复。如果他们仍然存在,请提出一个问题。
- 解决方法:如果出现冻结情况,大多数情况下 Alt+Tab 似乎可以修复该问题。
- 取消停靠后,编辑器的标题栏不显示。
- 嵌入窗口可以获得本机窗口边框并且有时可以调整大小(例如,当调试器中断时)。
- 键盘输入仅被焦点所在的窗口接受(例如,F5 运行游戏)。
- Godot 不会自动切换到脚本选项卡。
- 场景选项卡的悬停缩略图不会显示在嵌入式代码编辑器前面。
视觉工作室代码
- 在本 PR 完成并合并之前,不可能通过 VSCode 调试 Godot 游戏。
- 很少情况下,VSCode 顶部会出现一条黑色条带,它会抵消所有输入事件
- 解决方法:重新启动 VSCode 来修复此问题(遗憾的是,甚至“重新加载窗口”命令也无法解决此问题)。
贡献
除了我个人的用例之外,我不打算在这个项目上工作,所以我非常感谢其他人的帮助来改进这个扩展:
- 支持其他操作系统,如 Mac 或 Linux。
- 支持更多编辑器,包括有关如何设置它们的文档。
- 修复可用性问题和错误。
为想法、反馈或错误创建问题。如果您实施了某些内容,请打开拉取请求。感谢所有帮助! :)
如果您想表达感谢,那么您可以向 GitHub 赞助商捐款。