Claude Code 2.0.74 正式发布,终于加入了 LSP 支持。从 2.0.68 到 2.0.74,这几个版本迭代里 LSP 是最大的亮点。
聊聊 LSP 是什么,以及 Claude Code、OpenCode、Codex 三个工具的实现差异。
版本回顾
2.0.70是个大版本。Enter 键可以直接提交提示词建议,不用每次 Tab 确认。内存占用优化了 3 倍。还有个变化:#快捷键没了,官方让你"直接告诉 Claude 去编辑 CLAUDE.md"。
2.0.71加了/settings别名,/config和它等价了。修复了路径补全的 bug。
2.0.72推出了 Chrome 扩展 Beta 版"Claude in Chrome",可以从浏览器直接控制 Claude。Ctrl+S 截图清晰度也提升了。
2.0.73重点在 UI 改进。图片可以直接点击打开,有 kill ring 历史,插件搜索能过滤了。VSCode 用户还多了 tab 图标徽章。
2.0.74就是这次的主角:LSP 支持。
LSP 是什么
LSP(Language Server Protocol)是微软 2016 年提出的协议。简单说就是:让编辑器能和语言服务器"对话"的标准。
编辑器不需要自己实现代码分析,通过 LSP 和语言服务器通信。语言服务器负责跳转定义、查找引用、悬停文档、实时诊断这些脏活累活。
好处是:一种语言服务器,给所有支持 LSP 的编辑器用。Python 的 pylsp、TypeScript 的 tsserver、Rust 的 rust-analyzer,装一次,到处生效。
主流编辑器都支持 LSP:VS Code、Vim、Neovim、JetBrains 全家桶。
Claude Code 的 LSP 实现
官方说明:
Added LSP (Language Server Protocol) tool for code intelligence features like go-to-definition, find references, and hover documentation.
也就是说 Claude Code 现在能做跳转定义、查找引用、悬停文档。
前提是你得先装对应语言的 LSP 服务器。
C# LSP 配置实录
最近在 OpenFace.NET 项目(.NET 8 C# 项目)上配置了完整的 C# LSP,记录如下:
前置条件:
- Claude Code 版本 ≥ 2.0.74(检查:
claude --version) - .NET SDK 已安装且 dotnet 命令在 PATH 中
配置步骤:
安装 C# 语言服务器:
dotnet toolinstall-gcsharp-ls安装 Claude Code 的 C# LSP 插件:
claude plugininstallcsharp-lsp在项目或全局 settings.json 中启用:
{"env":{"ENABLE_LSP_TOOL":"1"},"enabledPlugins":{"csharp-lsp@claude-plugins-official":true}}- 项目级别:
项目根目录/.claude/settings.json - 全局级别:
~/.claude/settings.json
- 项目级别:
在 CLAUDE.md 中添加 LSP 指令(可选但推荐):
### Code Intelligence Prefer LSP over Grep/Glob/Read for code navigation: - `goToDefinition` / `goToImplementation` to jump to source - `findReferences` to see all usages across the codebase - `workspaceSymbol` to find where something is defined - `documentSymbol` to list all symbols in a file - `hover` for type info without reading the file - `incomingCalls` / `outgoingCalls` for call hierarchy Before renaming or changing a function signature, use `findReferences` to find all call sites first. Use Grep/Glob only for text/pattern searches (comments, strings, config values) where LSP doesn't help. After writing or editing code, check LSP diagnostics before moving on. Fix any type errors or missing imports immediately.这样做的好处是:即使安装了 LSP,Claude 有时还是会 fallback 到 grep。加了这个引导之后,Claude 会主动优先使用 LSP 工具。
重启 Claude Code,开始使用
启用后你会发现:当 Claude 调用 LSP 工具时,回复里会显示 “LSP” 字样,说明它正在使用语言服务器而不是 grep。查询速度变快,定位结果也更精准。
配置后的效果(OpenFace.NET 项目实测):
配置前(无 LSP):
- “No definition found” — 找不到定义
- “未找到引用” — 引用查询失败
- 只能靠 Grep 搜索
配置后:
- 精准返回 5 个代码文件引用 + 文档位置
- 跨文件分析正常
- Token 消耗降低(官方称可达 40%)
为什么会 fallback 到 Grep
即使安装了 LSP,Claude 有时还是会 fallback 到 grep。原因是没有在 settings.json 里正确启用,或者缺少 CLAUDE.md 引导。
排查步骤:
- 检查
claude plugin list— 确认 csharp-lsp 显示且 enabled - 检查 settings.json — env 和 enabledPlugins 都配置了吗
- 检查 CLAUDE.md — 有没有引导 Claude 优先用 LSP
其他语言
Python 需要pylsp或pyright,TypeScript 需要typescript-language-server,Go 无需安装(内置)。
通用说明
大部分语言只需要安装对应的语言服务器,Claude Code 会自动连接。
OpenCode 的 LSP 实现
OpenCode 的 LSP 是深度集成,内置了不少语言服务器。
| 语言 | LSP 服务器 | 备注 |
|---|---|---|
| Python | pylsp | 自动安装 |
| TypeScript | tsserver | 自动安装 |
| Rust | rust-analyzer | 自动安装 |
| C/C++ | clangd | 需要 .NET SDK |
| Go | gopls | 需要安装 |
| JavaScript | typescript | 自动安装 |
OpenCode 的特点是开箱即用。克隆一个新项目,它自己检测语言类型,自己连上对应的 LSP 服务器。还支持远程 LSP,连接远程服务器的 Language Server。
Codex 有没有 LSP
OpenAI 的 Codex 有独立的 CLI 工具和桌面应用,在传统定义上没有完整的 LSP 实现。
Codex 的核心定位是"AI 编程智能体",更像一个命令执行者:你描述需求,它生成代码、执行任务。但它不像 Claude Code 或 OpenCode 那样给你交互式编程环境,让你随时做代码跳转、查看引用。
今年 2 月 OpenAI 发布了 Codex 应用服务器的架构描述,强调的是多智能体并行和跨工具协作,不是 LSP 这种 IDE 集成能力。4 月加了插件系统,让企业能打包工作流和外部工具配置,仍然是"工具调用"层面的扩展。
所以,如果你需要真正的 IDE 级别的代码智能,Claude Code 和 OpenCode 都有原生支持,Codex 暂时没有。
横向对比
| 功能 | Claude Code | OpenCode | Codex |
|---|---|---|---|
| LSP 支持 | ✅ 原生 | ✅ 内置服务器 | ❌ 无 |
| 代码跳转 | ✅ | ✅ | - |
| 查找引用 | ✅ | ✅ | - |
| 悬停文档 | ✅ | ✅ | - |
| 自动检测语言 | ❌ 需手动装服务器 | ✅ 自动 | - |
| 远程 LSP | - | ✅ | - |
| 配置需求 | 是(装服务器) | 否(开箱即用) | - |
| C# 官方支持 | ✅ csharp-ls 插件 | ✅ 内置 | - |
注:Claude Code 对 C# 有官方 LSP 插件(csharp-ls + csharp-lsp),配置后效果最好。
怎么选
用 Claude Code,习惯手写配置,LSP 加持后体验会上一个台阶。大项目里"跳到定义"比满屏搜索高效多了。
不想折腾配置,只想"克隆完就能用",OpenCode 的内置 LSP 更省心。
Codex 走的是另一条路:多智能体协作、插件生态、AI 原生工作流。"扔个任务给 AI,让它搞定"选 Codex;"边写代码边用 AI 辅助"选 Claude Code 或 OpenCode。