手记

与Cursor和Claude-Dev共度一个月:我的使用感受

最近我开始使用两个新工具——CursorClaude-Dev,这两个工具在开发者圈子里挺火的。它们都借助AI来让编程更快、更直观,但它们采取了不同的方式,并各有优势和劣势。用了差不多一个月后,我觉得是时候坐下来总结一下它们各自的优势和仍需改进的地方。

我们先从 Cursor 开始吧。

指针:熟悉但更快的指针:

Cursor是VSCode的一个分支,如果你和我一样已经是VSCode的用户,那么切换到Cursor会非常容易,就像你已经是VSCode用户一样。我无需从零开始重建我的开发环境,也不用重新设置快捷键。我的所有VSCode插件、设置和快捷键在Cursor中都能无缝衔接。整个过渡过程几乎察觉不到,除了一个关键的不同点:AI自动补全的速度快很多。事实上,在我的经验中,它的速度大约是GitHub Copilot的十倍快。

现在,“10倍快”并不是来自基准测试的数字——这只是使用了一段时间后个人的感觉。当你在编写代码时,Cursor在预测你下一步的动作时,感觉上AI并不像是在滞后或追赶,而是与你同步,这有助于你保持在高效的状态。我感到惊讶的是,当我不再等待Copilot跟上或不再反复按Tab键来获得建议时,我感觉自己效率提高了好多。

Cursor还有一个很好的功能,就是它将你整个项目嵌入和索引,这使得理解文件之间的关系变得更加容易。当你更新一个文件时,索引也会相应更新,这意味着AI能更好地理解你的代码库中的各个部分是如何组合在一起的。这在处理一个由多个相互依赖的文件组成的大型代码库时特别有用。

缺点有哪些

话说,Cursor 中的一些最佳功能需要订阅才能使用。我通常不反对为真正增加价值的工具付费,但在这种情况下,我有点小失望,最有趣的 AI 功能,比如多文件编辑,是高级版本的一部分。作为一个相对较新的工具,我怀疑这样的安排是否会影响它的普及,尤其是考虑到很多开发者已经在为 GitHub Copilot 付费了。

我发现Cursor在快速、小型任务方面表现得很好,但在处理更复杂的任务时,它就显得有点力不从心了。它非常适合快速提供代码建议和重构,但当我需要处理更复杂的任务,比如阅读日志或执行构建任务时,我发现自己需要寻找其他工具来完成这些任务。

克劳德开发:开源界的不被看好的一方

这就轮到 Claude-Dev(现在叫做 Cline) 出场了。Claude-Dev 是一个面向 VSCode 的开源扩展,虽然它没有 Cursor 那样精致,但它正在迅速发展,在某些方面,它甚至比 Cursor 更强大。Claude-Dev 最突出的一点是,它不仅仅是在提供代码片段建议,而是能以更深层次的方式与你的环境互动,不仅仅是代码片段建议。

例如,Claude-Dev 可以读取你的终端日志,理解代码风格检查(linting)错误,甚至运行任意的命令行指令。这意味着如果你问它为什么你的项目无法构建,它不会仅仅提供一些建议,而是会实际查看相关的文件,看看你在用哪种技术栈(Node、React、Python 等),并试着帮你的项目构建起来。如果发现错误,它会读取日志,尝试诊断问题,甚至可以自动修复。

虽然它并不完美。在我的经验里,Claude-Dev 并没有像 Cursor 那样快,特别是在进行编辑操作时。其中一个原因是它会整个重写文件,而不是仅仅更新需要更改的部分。这样做不仅会大大减慢速度,而且如果你需要为 API 令牌付费(你需要提供想要使用的 LLM 的 API 密钥),它会更快地消耗掉这些 API 令牌。我一直在考虑为这个项目贡献一份力量,通过使用 shell 命令如 sed 来只更新必要的行来解决这个问题。

我发现特别有趣的一个功能是,Claude-Dev 可以用 Puppeteer 来测试和更新你的前端界面。你可以给它一个网站的截图,它会不断迭代,直到你的前端界面与截图一致。这个过程可能不是最快的,但它在处理 CSS 方面做得相当不错——至少对我来说,处理 CSS 往往要花不少时间。

它的缺点

Claude-Dev 更适合那些愿意尝试尚显粗糙产品的用户。与已经打磨好、准备进入市场的成熟产品 Cursor 不同,Claude-Dev 更像是一个正处于开发阶段的强大工具。它并非每次都能立即做到正确,速度也比我期望的要慢一些,但它在不断进步中。作为一个开源项目,并且主要由一个人开发,它的这种创新速度更是令人印象深刻。

那要选哪个好呢?

如果你想要一个快速、注重速度和建议的流畅体验,Cursor 可能是更好的选择。它运行流畅,可以与你现有的 VSCode 设置无缝集成,并能让你保持高效工作状态——直到付费墙拦住了你。但如果你不介意这一点的话,并且不需要额外的功能,Cursor 是一个很棒的工具。

另一方面,如果你想要的不仅仅是一款自动补全代码的工具,而是一个能够帮助你调试、构建和迭代项目的工具,Claude-Dev 是更好的选择。它更全能,但速度稍慢,功能还不够完善。如果你能够接受一些实验性的功能,并且能够容忍一些细微的缺陷,它提供的功能目前是 Cursor 所没有的。

对我来说,Claude-Dev 更胜一筹的地方,主要是因为它与我的日常任务更深度融合。能够查看日志、运行命令并不断尝试直到解决问题的能力非常宝贵,尤其是在我处理不太熟悉的代码库时。不过,当我需要快速搞定事情且不想等 AI 处理命令时,我仍然会用 Cursor

最后的思考

Cursor 和 Claude-Dev 都有各自独特的好处,我认为我们只是刚刚开始了解这些工具的潜力。这里有很多潜力等着发掘,特别是随着这些工具的继续发展。我很期待看到它们的发展方向,并且我会继续尝试这两种工具,看看它们在我的开发流程中如何发挥作用。

顺便说一句,我建议你亲自体验一下这两个工具。每个工具都有自己的优势,你会发现自己可能更适应其中一个,这取决于你的工作内容。

Originally published at https://jasonroell.com 于2024年10月10日发布.

0人推荐
随时随地看视频
慕课网APP