lsp 求助

  1. lsp到底解决了什么问题?
  2. lsp 在 cc 或者 codex 中怎么使用?
  3. 使用 lsp 的优缺点是什么?
    希望大佬帮忙解惑

我以为是老色批

:rofl: 撸太多了吧

有请lsp解答 @handsome

我不懂啊!

lsp我目前知道的是能更快的像IDE一样理解整个项目,比如py,Java,在cc的插件市场里面就有这些东西,然后通过/调用吧

lsp是vscode下产出的东西

lsp 安装完了是自动调用还是需要手动说明?

lsp 一般都是快速定位元素和查找实现或者方法。

?原来不是求番号啊

我不是lsp

俺也一样:man_facepalming:

也就小众语言需要

为啥不问grok或者gpt…

我经常写C/C++,因此对应的LSP用的多。LSP可以为你的代码提供精确的跳转、定义、引用查询等等,C/C++下面对应的是clangd,但是有一个问题就是需要编译数据库(compilation database),LSP需要它来进行后台索引。
LSP出现以前,常用的检索代码上下文的方式是通过静态分析,但是静态分析的精度比较差,而且没法考虑具体的编译选项,LSP的引入改善了这一点,上下文分析的精度提高了。基于LSP还可以提供一些简单的代码重构的功能。
LSP和CC/Codex关系不大,更常用的场景是Vim、VSCode,用来帮助检索上下文,属于上一个时代的东西。现在更多的采用本地的代码索引工具,不同软件的实现不同,没有通用的标准。具体找到什么样的上下文取决于大模型自己对于代码的理解。

CC中常用的是grep文件搜索,基本上要每个文件全部读取后查询;
使用了LSP后,可以更直接的获取特定方法的所在文件、行号等信息。
对CC来说有了LSP会更省token。
缺点是使用LSP无法查找注释等,还得需要grep等方法查询和更改

我以为是那个lsp

如果是 claude 安装了 lsp 服务 只需要问 lsp 是否启用就知道了

Claude Code 可以像 IDE 一样:

  • 跳转到定义(Go to Definition)
  • 查找引用(Find References)
  • 编辑后快速看到类型错误/语法提示

一句话:Claude 不再“盲改代码”,而是“看得懂你的项目结构”。
没有:grin:lsp cc是用的grep这种去搜
安装使用可以参考这个
Claude Code 开启 LSP 智能代码能力(新手版)