- Emacs 29 使 Eglot 成为内置的 LSP 客户端;它轻量但功能有限,需要 Elisp 进行变通处理。
- 作者分享了适用于 Scala、Kotlin 和 Java 的生产级 Eglot 配置,包括钩子和按键绑定。
- 自定义内容包括 Metals 的 JVM 调优、内联提示、YAML 架构映射,以及修复 Kotlin LSP 错误(空 newText、jar URI 翻译)。
- 通过 advice-add 拦截 JSON-RPC 以修补服务器行为,例如删除空 textEdit、禁用 Metals 语义刷新。
- 使用 Nix flakes 和 direnv 为每个项目创建可重现的开发环境。
- 结论是,Eglot 的极简主义可以通过 Emacs Lisp 黑客技术增强。