[Vibe Coding] 分享一些个人 Eglot 配置 (CodeLens/SignatureHelp/Go/Java/MoonBit)

以下这些配置包都是从我之前的个人配置中通过 AI 重新整理和重写的,包含了大量遗留代码和 Vide Coding 产生的代码,没有经过充分测试,请勿直接用在生产环境。


eglot-signature

为 Eglot(Emacs 内置的 LSP 客户端)提供 函数签名帮助(Signature Help) 功能。当用户在输入函数参数时,会在子窗口(child frame)中弹出当前函数的签名信息,并高亮显示当前活动参数。

主要功能

  • 在触发字符(如 (,)输入后自动弹出签名提示
  • 高亮显示当前活动参数
  • 支持上下方向键在多个函数重载签名之间切换
  • 显示函数及参数的文档说明

eglot-codelens

为 Eglot(Emacs 内置的 LSP 客户端)提供 CodeLens 支持。CodeLens 是 LSP 的一项功能,可在代码上方显示上下文信息,如引用次数、测试执行按钮、代码覆盖率等。

主要功能

  • 完整的 textDocument/codeLenscodeLens/resolve LSP 协议支持
  • 以 overlay 形式在代码上方显示 CodeLens 信息
  • 支持鼠标点击和键盘交互执行 CodeLens 命令
  • DWIM 命令,自动向后搜索最近的 CodeLens 并执行

dape-toolbar

dape 调试适配器提供可视化调试工具栏

主要功能

  • 提供可视化调试操作按钮(继续、单步进入、单步跳过、单步跳出、重启、退出等)
  • 使用 Nerd Icons(codicon 风格)图标
  • 支持鼠标点击、键盘(在按钮上按 RET)和快捷键三种交互方式
  • 可自定义按钮的增删改,支持基于上下文的条件显示

eglot-gopls

为 Eglot 提供 gopls(Go 语言服务器)的增强集成,扩展了测试运行、调试功能

主要功能

  • 增强的测试命令:支持光标处测试、包/文件级测试与基准测试
  • 调试支持:通过 dape 调试光标处的测试(支持 testify suite)
  • CodeLens 增强:配合 eglot-codelens 提供增强的 CodeLens UI

eglot-jdtls

将 Eclipse JDT Language Server (jdtls) 与 Eglot 深度集成

主要功能

  • 代码生成:生成 override 方法、toString()、hashCode/equals、getter/setter、构造函数、委托方法
  • 重构:移动文件/方法/类型、提取接口/方法/变量/常量、修改签名、引入参数、匿名类转嵌套类等
  • 导航:跳转到 JAR 文件中的定义(自动反编译)、查找引用和实现
  • 调试:通过 dape 支持 Microsoft Java Debug Server,支持热代码替换
  • 测试:支持 JUnit 4/5/6 和 TestNG,提供 Run/Debug CodeLens

TODOs

  • test result 解析和可视化结果展示
  • 多参数参数测试重入

eglot-moonbit (WIP)

为 Eglot 提供 Moonbit 编程语言的 LSP 集成,实现代码智能、测试运行、格式化和程序执行等功能。

主要功能

目前只支持部分 Codelens: run/test/format

TODOs

  • debug/trace/ai-generate codelens
2 个赞

确实还不能用,运行起来就报错:

error in process sentinel: Can’t find state for rust-ts-flymake in ‘flymake--state’ [2 times]