前言

这几天体验了 Cursor ( https://www.cursor.so/ ),我觉得它会是一个划时代的产品,非常推荐给你。本文完整的演示它目前提供的功能。

官方介绍它只说了 2 句:

Build Software. Fast. Write, edit, and chat about your code with GPT-4

我们先看它的快捷键:

有 4 个选项,但是它只有 2 个快捷键,后面 2 个针对选择一段代码后的操作,我挨个具体解释一下它的用法和主要应用场景。

Generate(⌘+K)

在输入框里面输入你需要让它帮助你写什么代码,回车后它就开始自动帮助你写代码了。

animation

Edit Selection(⌘+K)

可以选择一段代码,然后针对这段代码提出一些修改要求,比如要求 Cursor 修改其中的逻辑、添加注释等:

animation

Cursor 会帮助你做一些改变,生成 diff 对比,然后提出 2 个选项问你接受 (Accept) 还是拒绝 (Reject),选择接受就会应用改变否则就恢复原状。

Chat(⌘+L)

类似于集成了 chatGPT,你可以在 Cursor 里面使用 chatGPT 去问任何问题,相当于不需要专门去 官网 了或者搜索引擎就可以找到答案。animation

上面的例子里,我想要给程序添加类型注解,直接用 Chat 就可以获取解决方案。这可以让开发者不需要在 Google、StackOverFlow 等网站来回切换,编程过程完整的在 Cursor 里进行,无论是查看报错信息原因、查找代码如何写、学习编程知识等等方面。

Chat Selection(⌘+L)

可以选择一段代码,然后针对这段代码提出一些问题。例如让 IDE 解释一下这段代码的原理、代码结构、找 Bug 等等animation

这个模式下,对于理解别人写的代码是非常有帮助的,如果你接手了别人的项目,现在有 Cursor 帮助你理解。

隐藏技能

接着再分享一些 Cursor 隐藏技能。

添加注释 / 测试

当你选择函数或者类,会提示添加文档字符串 (Add Docstring) 和测试代码 (Add Test)animation

不过现阶段这个反应时间比较长,需要稍微耐心一点,另外看上图可以看到当有装饰器时生成的文档注释的位置不对需要手动挪挪,不过未来肯定会修复的。文档字符串时非常爽的,尤其是对于英语不好的同学,想怎么表达非常烧脑,现在好了,直接生成。测试代码是在 Chat 里面给你范例,可以直接参考使用。

Lint

不同语言已经自带了相关的 Lint,例如 Python 使用了 pyflakes,如果你的代码写的有相关的问题,左边会有提示,鼠标悬停会提示错误原因:

animation在 Cursor 创始人一开始宣传时,曾经演示过 一个例子 :

animation

可以定位 lint 文件并且可以提供一键修复问题,不过看起来目前并没有加进来。

这个是 GitHub Copilot 套壳吗?

按我的使用经验,并不是。

如果退出 GitHub Copilot 后,生成的代码的质量会更低,满分一百的话,我的感受,用 GitHub Copilot 可以做到 90 分,没有的话只能做到 80 分这么个水平,没有 GitHub Copilot 时基本就是 chatGPT 返回的结果。

我认为 GitHub Copilot 的一个主要场景是代码自动补全,Curosr 还完全没有。

总结

我会一系列 Curosr 相关的文章,敬请期待,如果你发现其他有趣有用的用法,欢迎告诉我。如果你对 Cursor 的话题有兴趣,欢迎加入: aHR0cHM6Ly90Lm1lL2N1cnNvcmlkZQo= (base64)