LSP 与代码诊断
LSP 为编辑过程补充语言服务器信息。它依赖项目本身的语言环境,帮助尽早发现代码问题。
准备语言服务器
ACECode 会根据文件语言和项目标记选择语言服务器,通常在首次需要时启动。语言服务器及项目依赖需要在后台所在计算机上可用;安装 ACECode 不等于所有语言服务器已经安装。
| 语言 | 服务器命令 | 常见项目条件 |
|---|---|---|
| C / C++ | clangd | 编译数据库或相应 clangd 配置。 |
| JavaScript / TypeScript | typescript-language-server --stdio | 项目 TypeScript 与包管理依赖可用;Deno 项目有不同要求。 |
| Python | pyright-langserver --stdio | 正确的 Python 环境与项目依赖。 |
| Go | gopls | go.mod 或 go.work 等项目标记。 |
| Rust | rust-analyzer | Cargo.toml 与 Rust 工具链。 |
从项目正常构建的环境启动 ACECode,有助于继承正确 PATH。Python 项目先确认虚拟环境;C/C++ 项目先生成正确的编译数据库。语言服务器安装命令和版本应遵循所用工具的官方说明。
查看连接与诊断
TUI 使用 /lsp 或 /lsp status 查看状态。区分尚未启动、未安装和启动后损坏:尚未处理匹配文件时没有连接,不一定是故障。
文件编辑后,ACECode 可把语言服务器返回的 ERROR 级别诊断加入工具结果,让模型继续修复。普通警告不会全部当作错误注入。没有诊断可能表示代码没有错误,也可能是该文件尚未得到有效的语言服务。
CF-09
图片占位LSP 状态与编辑后的错误此处补充实际界面截图
确认修复真正生效
先检查报错文件是否属于正确项目、依赖是否完整、语言服务器能否从当前环境启动。修复安装或启动故障后重新运行 ACECode,再处理目标文件并观察状态。
LSP 诊断用于编辑反馈,不代替编译器、单元测试和实际运行。完成修改后仍应运行项目要求的验证命令。lsp.enabled 控制此能力;关闭后不能依赖自动诊断反馈判断代码正确性。