编辑器支持
Mortar 目前主要通过 LSP 提供编辑器支持,帮助你在写对话时更高效。目前尚未提供专门的编辑器插件。
编辑器适配计划
我们的计划是:
- 先通过 LSP2IJ 插件适配 JetBrains 系列 IDE(如 IntelliJ IDEA、PyCharm 等)
- 随后适配 VS Code
未来编辑器功能预计将包括:
- 自动更新索引
- 可视化结构图
Language Server Protocol (LSP)
Mortar 提供了 LSP 服务器,是实现高级编辑器功能的核心工具。
安装 LSP
cargo install mortar_lsp
功能特性
1. 实时错误检查
编辑时即可发现错误,不用等到编译:
node TestNode {
text: "你好
// ↑ 显示红色波浪线:缺少引号
}
2. 跳转到定义
支持 Ctrl/Command + 点击节点或函数名跳转到定义:
node Start {
choice: [
"下一步" -> NextNode // ← 点击跳转
]
}
node NextNode { // ← 跳到这里
text: "到了!"
}
3. 查找引用
右键节点或函数 → “查找所有引用”,列出所有调用位置。
4. 自动补全
提供关键字、已定义节点、函数名和类型名的自动提示。
5. 悬停提示
鼠标悬停在元素上显示类型或函数签名信息。
6. 代码诊断
LSP 会分析代码并给出警告或建议,例如未使用的节点或函数。
在不同编辑器中使用 LSP
- JetBrains IDE:通过 LSP2IJ 插件适配
- VS Code:后续将支持通过官方插件启用 LSP
- Neovim、Emacs、Sublime Text:可使用对应 LSP 插件手动配置
推荐做法
即便没有专门插件,也可以通过 LSP 在 IDE 中获得:
- 语法高亮(基于已有语言特性或手动配置)
- 实时错误检查
- 跳转定义和查找引用
- 自动补全
未来扩展计划将进一步完善自动索引和结构可视化功能。
小结
- Mortar 目前主要依赖 LSP 支持编辑器功能
- JetBrains IDE 将优先获得官方适配
- VS Code 将随后获得支持
- 功能覆盖:错误检查、补全、跳转、引用查找
- 计划新增:自动索引更新、结构可视化
好的工具让写对话更轻松!