人工智能学习

保持曲线领先的AI代码编辑器

本文主要是介绍保持曲线领先的AI代码编辑器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
光标——你不能忽视的IDE

虽然我已使用Cursor三个月了,但关于它与Claude 3.5 Sonnet结合后卓越功能的热议现在已遍布整个互联网。

这种兴奋是有道理的,谁不想有一个AI编程伙伴来协助你、与你协作,并了解你的整个项目呢?

一个理解你的意图,而不仅仅是你的语法的IDE。一个学习你整个代码库,而不仅仅是你正在工作的文件的IDE。

不能忽视的热议话题

Cursor 正在点燃编码世界的热情。Twitter 上的帖子充满了对它的赞美。

为了验证这一点,我

  • 构建了一个全栈应用程序,尽管我对React前端一窍不通,
  • 分析了数据集,创建了分析仪表板,
  • 审查了GitHub仓库中的提交,
  • 通过上传图片构建了我的应用程序的前端,
  • 测试了文档编写、注释添加、测试等常规编码任务,
  • 评估了它是否能帮助我理解整个开源项目并帮助我为项目做出贡献(我最喜欢的部分)。

除了这些功能之外,

  • 我还将其与其他代码助手进行了比较,
  • 评估了价格,
  • 并探讨了可以利用此编辑器的其他用例。

如果你想查看这个帖子的更直观的版本,可以观看我在YouTube上的视频。

首先,

什么是Cursor?

Cursor 是一个由 AI 驱动的代码编辑器,旨在通过智能功能和与现有工作流程的无缝集成来提高效率。

与集成到现有编辑器的其他AI扩展不同,Cursor是VS Code的一个独立分支,允许AI与编辑器实现更深层次的集成,并提供独特的功能。

它超越了简单的自动完成功能,使用一个名为 Cursor Tab 的特殊工具来预测你的下一步操作。

开始使用光标

开始使用Cursor非常简单。你可以从他们的官网下载它。

由于Cursor实际上是VS Code的一个分支版本,所以在使用编辑器时几乎没有任何学习曲线。

你应该了解的两个最重要的功能是AI驱动的普通聊天(cmd + L)和行内聊天(cmd + K),在行内聊天中你可以选择你想要使用的LLM。你可以在普通聊天中上传图片,通过cmd + enter你可以将整个代码库作为上下文添加,并在此基础上提问。

所以,现在开发一个全栈应用程序并使其运行起来能有多快呢?

构建全栈应用

我开始构建一个应用程序,希望通过数据库中的CSV文件展示所有的机器学习案例研究。

Cursor 提供了行内聊天功能,你可以按下 cmd + K,这样会在你的文件中弹出一个输入小部件,允许你添加指令并根据自己的用例提示模型。

最令人惊叹的是,将整个文件附加到你的提示上下文是多么的简单。

我将整个CSV文件添加为API需要创建的数据库。你也可以上传模式或模式的图片,以编写SQL查询来提取数据。

我开始构建一个具有多个端点的API,以满足不同的使用场景。

并且它很好地生成了遵循最佳实践定义端点的代码。

如果有任何错误,Cursor使调试变得非常容易,不像在ChatGPT中复制整个代码然后切换标签页那样,你可以简单地使用“添加到聊天”或“使用AI调试”按钮,在编辑器内解决问题。

我的API在不到一分钟的时间内就开始运行了。

在完成后端之后,我还需要设置前端,而我已经有一段时间没有编写JavaScript代码了。

所以我询问了光标在普通聊天中我想要的内容,它返回了所有步骤,我只需一步一步地跟随即可。

只需点击即可运行bash命令安装所有依赖项,点击即可将代码添加到你的文件中。

继续为所有的组件这样做。

运行你的应用,通过在聊天中添加错误来调试问题,根据建议进行更改,然后开始运行。

有了光标的帮助,我花20分钟就让这个应用程序运行起来了,而没有它的支持,这可能需要几个小时。

此外,我还想改进用户界面,我知道一个网站是我希望我的应用程序看起来的样子,所以我截取了该网站的屏幕截图,上传到聊天中,并让Claude根据截图中的网站更新前端。

我的应用程序现在看起来是这样的

对结果印象深刻。

你现在可以几分钟内持续推出新功能了。

在IPython笔记本中分析数据集

Cursor也为分析师和科学家提供了很多功能。我选择了一个营销活动的数据集,打开了一个IPython笔记本,启动了Jupyter服务器,添加了分析数据的指令,并且也将文件附加了上去。

它不仅帮助我分析了数据,还生成了以IPython单元格形式的代码,我只需点击运行单元格即可将其添加到我的笔记本中,真是太惊人了。

我尝试在代码单元格之间添加Markdown单元格用于文档说明,但Cursor无法区分这些单元格,因此Markdown单元格也被插入为Python单元格。所以,目前你还需要自己将这些单元格转换为Markdown单元格。

更进一步地说,Jupyter笔记本并不是用来展示的,我让Cursor将这个笔记本转换成Streamlit仪表板,看看它会怎么做。

一个带有侧边栏、过滤器、可视化和完整分析的全面仪表板,谁还需要幻灯片演示,当你能给他们一个可以互动的仪表板呢?

真棒。

代码中的常规任务

显然,由于底层模型是Claude 3.5 Sonnet,你可以非常轻松地完成诸如

  • 使用单元测试和集成测试测试代码,这里我测试了我的API端点,

  • 文档编写,为代码添加注释——我用它来添加内联注释,或者简单地让AI为函数添加文档字符串,
  • 解释和审查代码。
代码审查

光标还提供了代码审查功能。

如果你的工作区中有一个git仓库,你可以让光标审查项目的当前状态,审查来自main分支的PR,或审查特定的提交。

我让光标审查我GitHub仓库中的一个特定提交,它搜索了该提交中引用的所有文件,并高亮显示了问题。

此功能显著节省了时间,并大幅提升了代码审查的质量。

贡献开源项目

另一个我想评估的用例是,在贡献开源项目时它的表现如何,因为这是一项入门门槛很高的任务,特别是如果项目难度大且代码库庞大,不借助AI,理解其工作原理可能需要几周时间。

我克隆了一个开源的RAG框架,并让光标给我解释整个代码库,它完成得非常出色。现在我可以简单地选择一个issue,添加到聊天中,设计解决方案,并开始为我理解的项目做出贡献。

当我有一些PR被合并时,我会分享更多内容,但我确信现在这应该会变得更容易。

这将如何改变工程师新人的游戏规则

随着AI工具变得越来越普遍,脱颖而出的项目标准必然会提高。为了保持竞争力,需要关注以下几点:

  • 培养扎实的编程基础技能
  • 培养解决问题的创造力;思考你的项目能提供什么价值。
  • 理解复杂的系统和架构
  • 锻炼你的创新能力和批判性思维能力

掌握编程基础知识至关重要。我多年前学习的JavaScript和React的知识,在使用Cursor时证明是非常宝贵的。

这些背景知识使我能够有效地与AI沟通,准确地描述问题,并提供必要的上下文以高效地解决bug。如果没有这个基础,充分利用像Cursor这样的AI工具将会困难得多。

通过将Cursor作为技能和知识的辅助工具,你可以提高工作效率,同时继续成长为一名开发者。

光标与其他AI代码助手相比

我们都知道最先进的一种代码助手是GitHub Copilot,很多人会问,Cursor相比GitHub Copilot有哪些优势?

因此,我开发了一个类比来解释这种差异,那就是苹果公司与其他安卓手机公司之间的对比。

就像苹果提供了一个无缝的生态系统,让你几乎可以轻松地做任何事情一样,Cursor也提供了一个更集成的体验。你知道为什么人们经常因为已经拥有MacBook或iPad而购买iPhone吗?

光标(Cursor)也是如此。它是在VS Code的基础上构建的,而我们很多人已经在使用VS Code了。但他们创建了一个独立的集成开发环境(IDE),具有更紧密的人工智能集成。你可以在代码行之间使用AI,更轻松地进行调试,甚至可以手动选择文件以添加上下文,并且他们开发了Cursor Tab,用于智能代码建议,这之前被称为Copilot++。

Cursor Tab(Copilot++) 是 GitHub Copilot 的增强版本,其模型是在一系列小的差异序列上训练的,并且在推理时可以看到你最近几分钟所做的编辑。这使得模型感觉更加智能。Cursor Tab 还被赋予了实际编辑你代码的能力,而不仅仅是预测插入,因此一个 Tab 键就能让你达到想要的位置。

从我看到的博客和视频来看,Sourcegraph Cody可能是唯一一个能与Cursor媲美的助手,因为它能够处理大型项目,并具有广泛的上下文意识。

我目前还没有试用过其他助手,所以无法说更多了。更多内容稍后奉上。

定价

虽然你可以直接使用自己的Anthropic或OpenAI API密钥在Cursor中直接使用它们的LLM,但如果你每天都在使用Cursor,并且在长时间的文件上下文中使用,你最终会通过API花费更多。

购买他们的Pro订阅是一个不错的交易。我有一个年度订阅。

你应该尝试使用你自己的API密钥,甚至可以利用免费试用来感受一下Cursor能帮你实现什么,以及这是否是一个值得投资的工具。

结论

就这样。这些是非常有趣的时代,像Cursor这样的产品正在提高标准。随着AI的发展,像Cursor这样的工具正在让你的想象与现实之间的距离变得越来越短。

我会继续分享更多有趣的用例和想法,确保你已订阅。如果你觉得这篇文章有启发,请在评论中分享你的经验,并与你的程序员朋友分享。

视频版本的文章
这篇关于保持曲线领先的AI代码编辑器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!