Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

编辑器支持

Mortar 目前主要通过 LSP 提供编辑器支持,帮助你在写对话时更高效。目前尚未提供专门的编辑器插件。

编辑器适配计划

我们的计划是:

  1. 先通过 LSP2IJ 插件适配 JetBrains 系列 IDE(如 IntelliJ IDEA、PyCharm 等)
  2. 随后适配 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 将随后获得支持
  • 功能覆盖:错误检查、补全、跳转、引用查找
  • 计划新增:自动索引更新、结构可视化

好的工具让写对话更轻松!

接下来