Skip to content

Godot 内置 KonadoScript 编辑器

启用 Konado 插件后,在文件系统面板中双击 .ks 文件,会像打开 .gd 文件一样进入 Godot 的脚本工作区。KonadoScript 使用 Godot 原生代码编辑器和文档标签,不再占用底部 Dock。

编辑能力

  • 使用 Godot 脚本文档标签同时编辑多个 .ks.gd 和其他脚本
  • 编辑 .ks 时,左上脚本列表会切换为组件/指令树;首次打开时组件区与分支区的高度默认为 2:1,标题栏右侧的滑动开关可展开或折叠全部分组,折叠后保留最外层分类,选择条目即可插入对应语句;左下成员大纲仍用于分支跳转
  • “在线文档”会根据编辑器语言打开 2.4 LTSlatest 文档;编辑 .ks 时会隐藏不支持 KonadoScript 的 Godot API 帮助搜索,切换到其他脚本语言后恢复 Godot 原有界面
  • 当前剧本存在语言变体时,“在线文档”右侧会显示语言下拉列表,可在“默认”和已发现的本地化剧本之间直接切换
  • 由 Godot 统一处理撤销重做、未保存状态、外部修改和关闭确认
  • 直接使用脚本编辑器的查找替换、跳转行、缩放、书签和快捷键
  • 在文件系统的“新建”菜单中直接创建带有有效初始内容的 KonadoScript
  • branch 声明显示在成员大纲中;分支、变量和信号均支持转到定义、查找引用及安全重命名
  • 按住 Ctrl(macOS 为 Command)点击背景、演员、角色状态、动作、BGM、音效、语音、镜头配置或 jump 路径,可直接打开实际场景、资源或目标 KonadoScript;存在多个目标时会显示选择列表
  • 悬停指令或资源标识符可查看签名、用途、解析路径和未解析状态,只有确实存在目标的内容才会显示可点击下划线
  • 右键菜单提供文档或选区格式化、快速修复、转到定义、查找引用和安全重命名;跨文件资源重命名会先显示变更预览
  • 根据条件块和全屏文本块自动缩进,并遵循 Godot 的缩进设置
  • 保存时写回原始 .ks,并刷新由资源加载器编译的运行时 KND_Shot

高亮与补全

KND_KsHighlighter 基于 Godot 的 EditorSyntaxHighlighter 实现,并在插件启用时注册到脚本编辑器。高亮和代码补全共同读取 KS_LanguageCatalog,合法关键字以解析器中的 KS_Token.KEYWORDS 为准。自动化测试会检查二者是否一致。

补全除了指令、子命令和可插入语句模板,还会显示参数签名,并从项目资源中识别 KonadoScript 路径、演员、角色状态、动作、背景、音频和镜头;角色状态与自定义动作会按当前演员过滤,对话语音补全也能正确处理含空格的引号文本。当前文档中的分支、变量和信号会即时纳入建议。高亮规则只在首次使用时编译,并且每行只记录颜色变化的位置。

默认高亮资源位于:

text
res://addons/konado/editor/ks_editor/highlighter.tres

其他 CodeEdit 也可以直接使用高亮器:

gdscript
set_syntax_highlighter(KND_KsHighlighter.new())

实时诊断

停止输入片刻后,Godot 会通过 KonadoScript 语言桥接层执行词法、语法和语义分析,但不会生成运行时 KND_Shot。错误和警告会显示在对应代码行及脚本编辑器内置的问题面板中,并根据 Godot 编辑器语言使用中文或英文。分析器会一次报告多行独立错误,并检查多余参数、错误的数值或布尔值、无效跳转路径、未知资源 ID、缺失目标文件、演员生命周期和本地化剧本结构;错误输入不会让实时检查停滞。

悬停错误范围会显示宽高随内容自适应的诊断卡片。每条诊断最多提供三个按可能性排序的“尝试”方案;需要用户判断的候选项不会被“应用全部安全快速修复”自动选择。无法自动修复的问题会提供资源配置或文档入口。修复会作为一次可撤销操作应用,并保留光标、选择区、多光标、折叠和滚动位置。

点击问题即可跳转到相关位置。即使现有文件含有语法错误,也仍可在脚本编辑器中打开和修复;保存后资源加载器会重新执行正式编译,因此实时诊断不能替代最终加载结果。

运行时调试

可使用 Godot 的断点控制 KonadoScript 执行。运行到断点时,调试器会打开对应 .ks 行,并显示当前镜头、节点、持久变量和临时变量;调试页提供继续、单步和“在下一行暂停”操作。发布导出不启用编辑器调试会话。

快捷键

功能Windows / LinuxmacOS
保存Ctrl+SCommand+S
关闭当前标签Ctrl+WCommand+W
查找Ctrl+FCommand+F
查找与替换Ctrl+HCommand+Option+F
跳转到行Ctrl+LCommand+L

Released under BSD3-Clause License.