跳到主要内容

dsh-easy-lsp

已验证

dsh-easy-lsp · v0.2.0 · MIT · Web 界面

DSH 语言服务器(LSP)图形化管理插件:自持 LSP 引擎(跳转/引用/hover/诊断/符号/重命名/格式化/代码操作/调用层级)+ 一键安装器 + 主动诊断注入,配置持久化到 settings.yaml,变更实时生效。

安装

dsh plugin add dsh-easy-lsp

dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南

源码

发布到 npm 但没有公开仓库。安装前请检查包内容。

标签

作者

说明文档

dsh-easy-lsp

DSH 语言服务器(LSP)图形化管理插件:自持 LSP 引擎 + 一键安装器 + 主动诊断注入,统一在「LSP 服务」页面可视化管理。

dsh-plugin License

English | 中文

LSP 服务页

功能

  • 代码智能:lsp 工具 —— goToDefinition / findReferences / goToImplementation / hover。
  • 按需诊断:lsp_diagnostics 工具 —— 模型自查文件的编译/类型错误(依赖服务器推送诊断,如 pyright)。
  • 符号查找:lsp_symbols 工具 —— 文档符号列表(官方 LSP 工具族没有的能力)。
  • 语义重命名:lsp_rename 工具 —— 跨整个项目重命名符号(含跨文件引用与重载);返回按文件分组的编辑清单(带原文锚点),由模型自行应用。
  • 代码操作:lsp_code_actions 工具 —— 列出服务器提供的标准修复(自动导入、修类型错误、快速重构)及其编辑;仅命令型动作标注「不可执行」。
  • 格式化:lsp_format 工具 —— 按服务器项目规则格式化文件;整文件替换时返回完整新内容,用 write 重写即可。
  • 调用层级:lsp_callers 工具 —— 符号的语义级 callers/callees 及精确调用点(单层)。
  • 主动诊断注入:agent 写/改代码后,未解决错误自动注入下一轮系统提示;半成品噪音由稳定性门槛过滤。
  • 可视化管理:设置 → LSP 服务 —— 新增/编辑/启用/删除/测试(测试结果展示服务器支持的能力)。
  • 一键安装器:内置 37 项预设(30 自动 + 7 指引),覆盖主流语言;装到用户级目录,无需 sudo。
  • 自持引擎:不依赖官方 dsh-lsp / dsh-lsp-stdio / dsh-tool-lsp

安装

dsh plugin --profile web add dsh-easy-lsp      # 安装
dsh plugin --profile web remove dsh-easy-lsp   # 卸载

重启 dsh web,然后:设置 → LSP 服务 → 添加语言服务器(如 TypeScript / Python)→ 一键安装或复制命令 → 保存并启用。

冲突提示:工具名 lsp 与官方 dsh-tool-lsp 同名,二者选一。

配置

服务器配置存放在 ~/.dsh/settings.yamllsp 段,在界面维护(手改也会热同步):

lsp:
  servers:
    typescript:
      enabled: true
      command: typescript-language-server
      args: ['--stdio']
      extensionToLanguage: { '.ts': 'typescript', '.tsx': 'typescript' }
  diagnostics:
    autoRun: true
    inject: true
    stabilityRounds: 2

注意事项

  • typescript-language-server 不推送瞬开诊断;pyright 类服务器正常。此类服务器的 code actions 在无诊断上下文中收集,可能不完整。
  • typescript-language-server 无 callHierarchy 能力;pyright 无文档格式化能力 —— 不支持的操作会快速失败并给出明确提示。
  • rename / format / code actions / call hierarchy 只返回编辑清单或信息,由模型用现有 write/edit 工具应用(不直接写文件)。
  • 同一扩展名由第一个启用的服务器处理(UI 会提示冲突)。
  • 主动注入缓存为全局(文件级),多会话共享同一文件的诊断状态。
  • 不做:completion / signatureHelp / inlayHint / semanticTokens / workspace/symbol / typeHierarchy,以及代码图谱类能力(图谱请经 MCP 服务器接入)。

许可

MIT