点击蓝字,关注更多及时AI资讯
AI 到底会先取代什么职业,虽然一直是大家关注的重要问题,但最起码现阶段,绝大多数的AI工具对我们还是赋能,取代还谈不上。在这其中,AI编程工具的出现,实打实的让程序员们获得了来自AI的提效buff,同时也让没有研发经验的人可以快速上手写代码,甚至是小孩子!
8月20日,Cloudflare的总裁发推说他8岁的女儿使用cursor在45分钟内搭建了一个聊天机器人,瞬间引发网友的热俩讨论。
而这个神奇的AI 编辑器 Cursor,则是来自一家初创公司 Anysphere,Anysphere 由几位麻省理工高材生在 2022 年创立,总部在纽约布法罗。Anysphere 自诩为应用研究实验室,致力于提高软件开发过程的效率,其使命是彻底改变编程的定义,助力全球开发者专注于更宏大的问题。Anysphere从 OpenAI、a16z 拿到了超过 6000 万美元的投资,估值超过 4 亿美元。
Cursor从去年年初发布至今,不断引入新的 AI 模型、优化用户界面和体验、增强性能和安全性等。
与传统 AI 编辑器相比,Cursor 到底有何不同?AI 编码助手到底可以为我们提供到什么程度的能力呢?如果你也好奇,你也想瞬间拥有程序员gg们学到发际线置顶才掌握的技能,那请跟着我一起,开启本篇Cursor的超详细实战教程,实打实的感受下Cursor!
接下来的内容覆盖Cursor的安装方法、基本功能、擅长人群、以及最全的Cursor编辑器目前提供的全部的功能的实操介绍!有点长,但是很全,来不及的同学可以先mark后看!(得看啊)
咱就是说跟着看完这篇文章的操作,咱要也在45分钟之内写出来一个聊天机器人,那还不手拿把掐的!走起
Cursor背景介绍
Anysphere 由几位麻省理工高材生在 2022 年创立,总部在纽约布法罗。
这几位联合创始人分别是 Michael Truell、Aman Sanger、Sualeh Asif 和 Arvid Lunnemark。其中 Truell 和 Sanger 参加过 MIT 的「尼欧学者」(Neo Scholars)计划,这是一个针对主修技术领域的本科生的导师计划。值得一提的是,Neo 还运营着一个加速器和一个风险基金,还主导了 Anysphere 的种子轮投资。
Anysphere 自诩为应用研究实验室,致力于提高软件开发过程的效率,其使命是彻底改变编程的定义,助力全球开发者专注于更宏大的问题。
为此,Anysphere 开发了一个高效的 AI 编程工具 Cursor。
从去年年初发布至今,Cursor 经历了 3 次重大的版本更新和近 40 次的功能迭代,不断引入新的 AI 模型、优化用户界面和体验、增强性能和安全性等。
核心功能&适用人群
Cursor的主要功能:
代码生成:Cursor能够根据开发者的指令或代码上下文自动生成功能,节省编写基础代码的时间。
智能补全:提供更精准的代码补全建议,帮助开发者快速完成代码编写。
Bug检测与修复:AI能够识别代码中的错误并提供修复建议,减少调试时间。
代码解释:当开发者对某段代码有疑问时,Cursor可以提供代码的解释和功能说明。
文档生成:如README文件的自动生成,帮助开发者快速整理项目信息。
代码优化建议:分析现有代码,提供优化建议以提升代码质量和性能。
多语言支持:支持多种编程语言,为不同领域的开发者提供帮助。
Cursor的适用人群:
编程新手:刚开始学习编程的,Cursor的AI辅助可以帮助他们快速掌握编程技巧,提供代码示例和解释。
• 专业开发者:经验丰富的开发者可以利用Cursor的AI功能来提高编码效率,自动生成代码片段,检测和修复Bug。
• 学生和教师:在学习编程或教授编程课程的过程中,Cursor可以作为一个强大的工具,帮助理解和支持编程概念。
• 数据科学家和分析师:在进行数据分析和机器学习项目时,Cursor可以帮助快速编写和测试代码。
• 自由职业者和创业者:需要快速开发软件原型或产品的个人,可以使用Cursor加速开发过程,例如出海工具站、公众号爆文爬虫、小红书图文等。
基本了解完毕,我们开始实打实的感受下Cursor!
安装Cursor
cursor官网:https://www.cursor.com/
点击Download For Free,安装
设置关联的编辑器,这里选择的是Visual Studio Code(VS Code),然后我们就会获得一个继承了VS Code 的强大功能和用户界面,还深度集成了 ChatGPT 等 AI 技术,无缝融入了包括 IntelliJ IDEA、Visual Studio Code 和 GitHub 在内的主流开发环境和代码库的Cursor。
接着设置语言、快捷键。
选择模式,左边的Cursor会记录我们的使用数据,比如聊天的问题,代码片段或者编辑器的操作。
右边的隐私模式也就是不会将我们本地的数据上传和存储到第三方平台中。
登录后,我们就可以在Cursor编辑器里动手搞事情了!
特色功能
光标Tab自动补齐
该功能由自定义模型提供支持,Cursor Tab可以做到:
建议在光标附近进行编辑,而不仅仅是插入附加代码。
一次修改多行。
根据您最近的更改和 linter 错误提出建议。
建议在光标附近进行编辑,而不仅仅是插入附加代码。
根据您最近的更改和 linter 错误提出建议。
免费用户可以免费收到 2000 条建议。专业版和商业版计划会收到无限的建议。
Tab能力增强
Cursor可以在光标处插入文本,除此之外还支持:
多字符编辑
基于指令的编辑
此外,Cursor在上下文窗口中具有我们最近更改的历史记录,因此它知道您下一步要做什么
预览函数参数
当向函数调用添加新参数时,可以直接预览到该方法需要的参数,超方便
Cursor预测
光标还可以预测接受编辑后您将前往的位置。如果可用,您将能够按 Tab 键转到下一个位置,从而允许您通过 Tab-Tab-Tab 进行编辑。
Cursor AI对话
Cursor Chat可让您使用最强大的语言模型在代码库中提出问题或解决问题,所有这些都可以在编辑器中完成
为了让语言模型给出好的答案,我们需要了解研发领域中的重要概念-上下文Context,它就好比是讲述一个故事的背景知识和需要的所有其余信息的一个汇总
Cursor 有几个内置功能可以在聊天中提供上下文,例如自动包含整个代码库的上下文、搜索网络、索引文档以及用户指定的代码块引用。它们的构建是为了消除在代码上使用语言模型所必需的繁琐的复制粘贴。
默认情况下,Cursor的聊天位于 AI 窗格中,以通过按 Ctrl/⌘ + L 来切换 AI 窗格
通过模型切换切换我们中意的 AI 模型,聊天将使用该模型生成响应。我们也可以通过按 Ctrl/⌘ / 在模型之间切换。
默认情况下,Cursor Chat 使用 OpenAI 的 GPT-4 作为其 AI 模型(gpt-4 标签指向 GPT4-Turbo 实例)选择对话框下面的按钮可以切换模型
同一线程中的所有用户/AI 消息一起称为聊天线程,每个聊天线程都保存在您的聊天历史记录中。
通过按 AI 窗格右上角的“以前的聊天”按钮,或按 Ctrl/⌘ + Alt/Option + L,可以查看聊天记录。我们也可以单击任何聊天线程返回并查看组成该线程的消息。
还可以通过单击钢笔图标来修改对话的标题,或者将鼠标悬停在聊天线程上时单击垃圾桶图标来删除历史对话。
默认情况下,Cursor聊天会选择当前文件作为上下文。我们可以通过按下提交上的alt/option输入来提交查询,而无需包含任何上下文,或Cursor Settings > Features > Chat下的Default to no context默认值打开。
如果我们关联的文件的内容太长,Cursor 会将文件chunk切分成更小的块chunks,并根据与查询的相关性对它们进行rerank重新排序。
选中文件中代码后,我们也可以点击 Ctrl/⌘ + L 可以将代码内容copy到右侧的AI对话框,当然这个跟直接复制粘贴比也差不多= =
AI代码修复
AI 修复功能是Cursor的一个便捷功能。可以将鼠标悬停在编辑器中的错误上,然后单击显示的蓝色 AI 修复按钮。
键盘快捷键是 Ctrl/⌘ + Shift + E
Cursor 代码仓库功能
结合代码库与Cursor聊天
如果代码库未建立索引,Cursor Chat 将首先尝试计算一些搜索查询,用于在代码库中进行搜索。为了获得更高的准确性,还是建议使用代码库索引+嵌入搜索。
索引代码库
如果想要通过使用 @codebase 或 Ctrl/⌘ Enter 获得更好、更准确的代码库的回答,我们可以为代码库建立索引。Cursor会计算代码库中每个文件的嵌入,并将使用它们来提高代码库答案的准确性。并且我们的代码库索引将自动与最新的代码库更改同步。
代码库索引的功能在Cursor Settings > Features > Codebase Indexing
嵌入搜索
通过结合上面的代码库索引,Cursor Chat就可以根据我们的代码库准确生成更加准确的响应。
输入消息后按 Ctrl/⌘ + Enter,光标聊天会扫描索引代码库以查找相关代码片段。这通常有利于快速将要纳入对话上下文的代码片段包含在内。
为了更好地控制代码库搜索并提高准确性,我们可以使用@codebase,然后就会唤起下面这个对话框
通过@Codebase,Cursor Chat 会执行这些步骤,直到找到要使用的最重要的代码片段。
Gathering收集:扫描代码库以查找重要文件/代码块
Reranking重新排序:根据与查询的相关性对上下文项重新排序
Reasoning推理:利用上下文思考计划
Generating生成:提出回应
提交高级代码库查询的另一种方法是单击 Ctrl/⌘ + Enter 按钮旁边的下拉菜单,然后为搜索行为选择重新排序。这个配置是当不使用 @Codebase 时才生效的,否则 @Codebase的配置优先
Cursor对话生成代码应用
我们来看看Cursor AI对话生成的代码如何快速的应用到我们的项目中。非常方便,我们可以在Cursor生成了代码后,点击按每个聊天代码块右上角的apply按钮
应用代码块后,我们可以检查差异并接受或拒绝更改。通过单击聊天代码块右上角的“接受”或“拒绝”按钮。
Ctrl/⌘ Enter 接受,Ctrl/⌘ Backspace 拒绝
代码生成
Mac上的Cmd+K,Windows/Linux的Ctrl+K,可以触发在编辑器窗口中生成新代码或编辑现有代码
我们会在按下了CTRL/CMD K后看到一个提示词的输入框,叫做“Prompt Bar”,按为“提示栏”时将其称为栏。工作原理与AI输入框的聊天类似,可以正常输入,或者使用@符号来引用其他上下文。
如果按 Ctrl/Cmd K 时未选择任何代码,Cursor可以根据我们在提示栏中键入的提示生成新代码
对于就地编辑,我们可以选中要编辑的代码,然后通过Ctrl/Cmd K,在提示栏中输入对话即可
对AI的默认prompt设置
我们可以通过修改Cursor Settings > General > Rules for AI下的“Rules for AI”部分来向光标添加自定义指令。这个自定义指令将作用在在Cursor的AI聊天和 Ctrl/⌘ K 等功能中。
.cursorrules
对于特定于项目的说明,我们也可以将说明包含在项目根目录下的 .cursorrules 文件中。比如说跟着不同的项目有不同的prompt要求,这样就会很方便。
关于内置的AI模型
Cursor Settings > Models > Model Names.
基本的几个主流大模型大家都比较熟悉了,需要特别注意的是cursor-small ,它是 Cursor 的自定义模型,不如 GPT-4 智能,但速度更快,并且咱们可以无限制地访问它。
图中的Add Model支持我们增加新的模型进来。
在右侧Cursor的AI聊天面板中,Cursor目前限制为大约 20,000 个令牌(如果模型不支持那么多上下文,则限制为更少)。对于 cmd-K,Cursor限制在 10,000 个令牌左右,以平衡 TTFT 和质量。
长上下文聊天使用模型的最大上下文窗口。开启后可以使用Claude的200k的token上下文,力量更强没得说,但是聊天效率也会稍微低一些
图中剩下的部分就是这几个不完全免费的主流大模型的apikey了,氪金玩家可以将自己的密钥填写进来。Cursor承诺我们的密钥不会被存储,但它会随着每个请求发送到Cursor的服务器。所有请求都通过Cursor的后端路由,真正访问的大模型。
AI代码Review
AI Review 是一项Beta的功能,可以帮我们检查代码库中最近的更改以捕获任何潜在的错误,用之前要先打开
通过快捷键Cmd+shift+P,选择reload window
然后就可以在右侧看到review的功能了
自定义review标准命令
咱们可以提供自定义指令,供 AI 重点关注我们关注的内容。比如说我们希望AI能专注于与性能相关的问题,我们就可以输入
focus on the performance of my code
目前Cursor提供多种选项可供选
Review Working State:这将审查未提交的更改。
Review Diff with Main Branch:这将检查我们当前的工作状态和主分支之间的差异。
Review Last Commit:这将审查最后一次提交。
针对企业的商业计划(Business 计划):每月收取 40 美元,提供额外的数据保留等服务。
到此,基本Cursor的功能咱们就都心里有数了,个人感觉比起之前小纸条专门分析的那些AI编程插件,这个最方便的大概就是提供一个专门的编辑器了,感觉就是在一个AI的容器里面编程,而不是在编程容器里呼唤AI。另外仓库index的能力真的还挺香的,尤其是对于历史工程项目的一个理解,本程序员日常工作是真的非常需要的!大家有没有编程基础的都可以用起来!
扫码关注更多AI资讯
我们一起学AI!