从 LSP-Mode 迁移到 Eglot

主要观点:作者尝试内置的 LSP 客户端 Eglot,对比其与 lsp-mode 的优缺点,包括配置、遇到的问题等。
关键信息:

  • lsp-mode 配置详细,包含多种语言的设置,大多用于禁用不需要的功能。
  • Eglot 配置及对一些问题的处理,如 Jar 档案处理、XREF 和补全相关问题等。
  • 遇到的问题包括 Jar 档案路径处理、XREF 和补全的优先级、clj-refactor.el 查找引用功能不佳、服务器初始化阻塞、缺乏精细的项目控制等。
    重要细节:
  • lsp-mode 可手动调用 lsp-find-definition 绕过 Xref 解决 Eglot 中 Xref 后端未使用的问题,但 xref-union 包未起作用。
  • 不同语言模式下补全后端的顺序问题及相应的处理方式。
  • lsp-mode 有自己的工作区/项目概念,可精细控制语言服务器启动,而 Eglot 缺乏此功能。
  • 作者希望 Eglot 具备的功能,如查找引用、控制 Xref 和补全的开关、快捷键前缀、忽略某些目录或项目等。
阅读 11
0 条评论