AIDeveloper ToolsEngineering

Stop Using Claude Code Like a Blind Typewriter:让 AI 真正读懂你的代码库

Stephan Schmidt(欧洲 CTO 教练)··原文链接
收录于 2026/5/18 22:53:57

问题:开箱即用的 Claude Code 是"盲打"

作者观察到,大多数开发者用 Claude Code 但没有正确配置它。默认模式下,Claude 用文本搜索(grep/ripgrep)来定位代码中的内容。这能工作,但又慢又蠢

  • 找函数定义有时要花很久
  • 有时会匹配到注释里的字符串,走错路
  • 通常找不到一个函数的全部调用方,只找到一部分

引入 subagent 后有所改善,但底层逻辑没变——还是在文本层面猜测,而非语义层面理解。

解法:LSP(Language Server Protocol)

LSP 就是让 VS Code 变聪明的同一套协议。它理解:

  • 你的类型在哪里
  • 函数定义在哪里
  • 什么调用什么
  • 什么字段被访问和修改

开启 LSP 后,Claude 做的是语义查找,而非逐文件 grep。它真正理解代码库的结构,而不是猜测。

LSP 集成给 Claude 带来 9 种操作:

  • 跳转到定义(Go to Definition)
  • 查找所有引用(Find References)
  • 跳转到实现(Go to Implementation)
  • 调用层级(Call Hierarchy)
  • 传入调用(Incoming Calls)
  • 传出调用(Outgoing Calls)
  • ……以及更多

最重要的是:每次修改代码后,Claude 自动获得诊断信息——类型错误、缺失的 import、语法问题。如果它引入了 bug,会在同一轮次看到错误并修复。真正的 IDE 智能,不是字符串匹配。

配置方法:两步搞定

第一步:安装语言服务器二进制

需要把语言服务器二进制放到 PATH 里:

# Go
go install golang.org/x/tools/gopls@latest

# TypeScript/JavaScript
npm install -g typescript-language-server typescript

# Python
npm install -g pyright

# Rust
rustup component add rust-analyzer

第二步:在 Claude Code 里装插件

Claude Code 官方市场 claude-plugins-official 已内置,无需添加第三方仓库。运行 /plugin,进入 Discover 标签页,或直接命令安装:

/plugin install gopls-lsp@claude-plugins-official
/plugin install typescript-lsp@claude-plugins-official
/plugin install pyright-lsp@claude-plugins-official
/plugin install rust-analyzer-lsp@claude-plugins-official

还有 clangd-lsp(C/C++)、jdtls-lsp(Java)、kotlin-lsp、php-lsp、swift-lsp 等。

验证是否生效

让 Claude "跳转到某个函数的定义"。如果它立刻给出精确的文件和行号,且输出中显示 LSP 而非 grepSearch——LSP 已连接成功。

如果它说"let me search through the codebase"然后开始 grep——LSP 没连上。重启 Claude Code 并确保语言服务器在 PATH 中。

适合场景

在大规模重构前让 Claude "查找某个类的所有引用"——这是 LSP 最值钱的地方:它知道改动会波及哪些文件,在接触任何代码之前就掌握全局。

注意事项

  • 内存:pyright、rust-analyzer、jdtls 在大型项目上吃 RAM。如果变卡或崩溃,用 /plugin disable pyright-lsp@claude-plugins-official 禁用,退回 grep 模式。
  • PATH 问题:Go($GOPATH/bin)和 Rust(~/.cargo/bin)的路径需要显式加入 Claude Code 运行 shell 的 PATH。
  • 插件加载失败:"No LSP server available" 通常是插件没加载或文件扩展名不匹配,重启 Claude Code 可解决。

结论

开箱即用的 Claude Code 是降维使用。LSP 让它从"盲打打字机"变成真正有视野的协作者——知道类型、理解调用图、在引入错误的第一时间自我修正。对于大型代码库的重构和深度分析,这个配置是质的飞跃。