公众号:数据拾光者
01 常用的AI编程助手介绍
随着LLM大语言模型大火,LLM相关的应用人工智能编程辅助工具效果也越来越好。利用这些AI工具可以大大提升写代码的效率,将节约的时间去学习更好更好玩的东西,去提升生活品质,是一件多么幸福的事。尤其是一些重复性的代码编写,还有大部分已有的功能,都可以用AI编程助手来帮助我们搞定。调研了当前市场上主流的AI智能编码辅助工具,主要有以下项目:
- GitHub Copilot:GitHub Copilot是由GitHub、OpenAI 和微软 Azure团队联合推出的 AI 编程助手,提供智能代码建议和自动补全功能,适用于多种编程语言和 IDE。GitHub Copilot的优点是能提高开发人员的工作效率并加快软件开发的步伐,支持主流 IDE,如 Visual Studio Code 和 IntelliJ IDEA,能够自动生成高质量代码片段、上下文信息等。缺点需要付费使用,普通用户有30天试用期,之后需要付费订阅,部分用户反映在某些情况下代码生成的准确性有待提高。
- 豆包 MarsCode:MarsCode是由字节跳动公司推出的 AI 编程助手,支持代码补全、生成、优化等功能,并支持多种编程语言和主流 IDE。优点代码补全和优化功能强大,减少重复性劳动,支持多种编程语言和 IDE,适用范围广,由大厂支持,技术能力和未来发展有保障。缺点市场推广有限,用户数量较少,需要与更成熟的工具竞争,部分功能可能尚待完善。
- Windsurf:Windsurf 是 Codeium 推出的 AI 驱动的 IDE 编辑器,助力开发者高效编程和协作。优点提供命令面板和快捷键操作,快速访问 Windsurf 的各种功能,支持多文件编辑和实时协作,支持 Agent 工作模式切换和模型切换。缺点作为新兴工具,可能在某些功能上不如一些成熟的工具完善。
- Tabnine:TabNine 是由以色列公司 Codota 开发的 一款基于 GPT-2 模型的代码深度学习引擎AI 驱动的代码补全和生成工具,提供长序列的代码补全结果。优点支持所有主流的开发语言,能够智能识别代码的上文信息,提供智能补全。缺点作为较新的工具,可能在某些特定场景下不如一些老牌工具稳定
- CodeGeex:CodeGeeX 是由清华大学知识工程实验室团队和智谱 AI联合研发的一款智能编程助手,提供代码自动生成和补全、代码翻译、自动添加注释等功能。优点支持多种主流 IDE 和编程语言,提供代码自动生成和补全,提高编程效率。缺点作为较新的工具,可能需要时间来积累用户反馈和进行优化。
- CodeFuse:CodeFuse 是蚂蚁集团基于自研的基础大模型进行微调的代码大模型,具备代码补全、添加注释、解释代码、生成单测,以及代码优化功能。优点直接可以召唤出 chat 功能,并能很好地解释代码,提供代码补全、添加注释、解释代码等功能。缺点目前还处于内测阶段,可能在功能完善度和稳定性上有所欠缺。
- Baidu Comate:文心快码(Baidu Comate)是百度基于文心大模型的智能代码助手,提供代码生成、优化、注释等功能。优点一键生成单测和快速生成注释,提高开发效率,实时代码诊断、代码补齐、代码纠错等功能,提高代码质量。缺点作为百度的产品,可能在某些特定领域外的推广和使用上有所限制。
- 通义灵码:通义灵码是阿里巴巴基于通义大模型的智能编程辅助工具,提供行级/函数级实时续写、自然语言生成代码等功能。优点跨文件感知让代码生成更贴合业务场景,适配多 IDE 的原生设计,符合开发者使用习惯。缺点作为阿里云的产品,可能在阿里云服务之外的使用场景中推广有限。
- iFlyCode:iFlyCode 是由科大讯飞自主研发的智能编程助手,提供代码生成、续写、解释、单元测试等能力。优点为软件开发行业提供从设计到编码、测试的全流程辅助,帮助开发团队提升效率和代码质量。缺点作为科大讯飞的产品,可能在某些特定领域外的推广和使用上有所限制。
- Cursor:Cursor 是由 Anysphere 公司开发的专注于提高开发者的编程效率。优点提供代码自动补全和生成,减少手动编码工作,支持多种编程语言和框架。缺点作为新兴工具,可能在功能完善度和用户反馈积累上有所欠缺。
02 超好用Cursor介绍
最早接触的AI编程助手应该是github copilot,效果不错,但是后来因为费用挺高,所以慢慢转向一些其他的AI编程助手,比如这款超好用的Cursor。
2.1 Cursor相比于GitHub Copilot的优势
Cursor相比于GitHub Copilot的优势主要体现在以下几个方面:
- 1.代码生成和补全:Cursor提供更全面的代码生成能力,能够创建整个函数甚至多文件结构,而GitHub Copilot更专注于逐行代码补全和建议。
- 2.自然语言理解:Cursor擅长理解和执行复杂的自然语言命令,允许开发者用普通英语描述功能,并将其转换为代码,GitHub Copilot虽然自然语言理解能力有所提升,但在处理复杂指令方面不如Cursor。
- 4.定制化和灵活性:Cursor提供选择AI模型的灵活性,包括OpenAI、Anthropic和自定义模型,并通过`.cursorrules`等功能,允许开发者定制AI行为以匹配项目需求。GitHub Copilot使用OpenAI开发的固定模型,缺乏Cursor提供的AI行为定制化水平。
- 5.用户体验和集成:Cursor提供了一些独特的用户体验改进,例如内联编辑和更快的下载、安装包小、启动速度快等。GitHub Copilot则无缝集成到现有的IDE如VSCode中,学习曲线相对较缓。
- 6.隐私和安全:Cursor强调代码的隐私和安全,不存储代码,并提供隐私模式及SOC 2认证,确保代码和数据安全无忧。
- 7.深度融入编码工作流程:Cursor不仅仅局限于提供代码建议或处理重复性任务,它实际上能够深入理解项目,了解编码风格,熟悉项目结构,甚至能够捕捉到团队的最佳实践,并提供个性化的代码优化建议。
这些优势使得Cursor在某些方面比GitHub Copilot更加强大和灵活,尤其是在处理复杂任务和自然语言能力方面。然而,选择哪个工具最终取决于个人需求和工作流程。
2.2 Cursor下载和安装
在Cursor官网(https://www.cursor.com/)下载,比如我这里下载Windows版本,然后安装,使用github或者google账号登录即可:
下面是Cursor登录界面:
下面是打开Cursor之后使用的界面:
2.3 Cursor支持哪些编程语言
Cursor支持多种编程语言,具体包括但不限于:
- Python:Cursor支持Python语言的代码生成和编辑。
- Java:Cursor能够辅助编写和优化Java代码。
- C:Cursor支持C语言,帮助开发者提高编码效率。
- JavaScript:Cursor支持JavaScript,能够根据输入和需求自动生成代码片段。
- TypeScript:Cursor为TypeScript提供AI辅助功能,支持代码生成和优化
- C++:Cursor支持C++语言,可以辅助编写C++代码。
- Go:Cursor也支持Go语言,助力Go语言的开发工作。
Cursor通过集成GPT-4等先进的自然语言处理和深度学习算法,能够根据用户的输入或需求自动生成高质量代码,支持上述多种主流编程语言,为不同语言的开发提供AI辅助。
2.4 Cursor支持的LLM模型
Cursor支持的LLM(Large Language Models)模型包括:
- GPT-4o:一个由OpenAI开发的高级语言模型。
- GPT-4:同样由OpenAI开发的另一个高级语言模型。
- Claude 3.5 Sonnet:由Anthropic开发的高级语言模型。
- cursor-small:Cursor的自定义模型,速度更快,用户可以无限制使用。
此外,Cursor还支持长上下文专用模型,包括:
- gpt-4o-128k
- gemini-1.5-flash-500k
- claude-3-haiku-200k
- claude-3-sonnet-200k
- claude-3-5-sonnet-200k。
用户还可以根据自己的需求添加自定义模型,并配置自己的API密钥来使用这些模型。这提供了灵活性,允许用户根据自己的需求和成本使用不同的AI服务。
2.5 GitHub Copilot和Cursor收费情况
先介绍下GitHub Copilot的收费情况:
- 个人订阅(GitHub Copilot Individual):提供月度和年度计费周期。如果选择每月计费,则每个日历月的费用为10美元;如果选择年度计费,则每年的费用为100美元。用户可以随时在月度和年度计费周期之间切换,更改将在下一个计费周期生效。个人用户在开始付费订阅之前,可以享受一次性的30天免费试用版来评估GitHub Copilot。如果用户在试用期结束前没有取消试用,则试用版将自动转换为付费订阅。
- 企业订阅(GitHub Copilot Business 和 GitHub Copilot Enterprise):GitHub Copilot Business 订阅采用月度计费周期,按每用户每月19美元计费。GitHub Copilot Enterprise 提供给 GitHub Enterprise Cloud 上的企业,除了包含 GitHub Copilot Business 的所有功能外,还提供 GitHub 的其他 AI 功能。
- 免费订阅:验证的学生、教师以及 GitHub 上的常用开源存储库的维护人员可以免费使用 GitHub Copilot 的订阅。
Cursor主要包含三种不同的账户:
- Hobby:免费计划,包括两周 Pro 试用期、每月 2000 个代码补全(completions)、50 个慢速优先的高级请求(slow premium requests)和 200 次 Cursor-small 模型的使用。Cursor-small 是一个更快的模型,适用于快速编辑任务。
- Pro:每月 $20,包括所有 Hobby 计划内容,并提供无限制的代码补全、每月 500 个快速优先的高级请求、无限制的慢速高级请求、无限制的 Cursor-small 使用以及每天 10 次 Claude Opus 使用。高级模型包括 GPT-4、GPT-4o 和 Claude 3.5 Sonnet。快速使用意味着请求会优先处理,而超出快速使用限额后的请求可能会在高负载时排队。
- Business: 每用户每月 $40,包括 Pro 计划内容,并增加了集中式账单、管理员使用情况仪表板、强制隐私模式和 OpenAI/Anthropic 零数据保留政策。隐私模式确保代码仅存储在用户的设备上,不会用于训练。Cursor 的某些功能不支持通过 API 密钥计费。如果用户超出计划限制,Cursor 会请求用户升级计划。
目前主要使用的是Hobby免费账户,感觉效果还不错。后面如果真能大幅度提升工作效率,这点费用也是完全可以接受的,毕竟省下来大把的自由时间。后面还会再调研下其他效果好最好能免费的AI智能编程助手项目进行分享。
2.6 Cursor核心功能
Cursor 辅助AI编程提供了四个主要功能:
- Tab智能代码补全
- Ctr + K提示框功能,可以编辑代码
- Ctr + L聊天功能,回答用户关于代码和整个项目的问题,可以编辑代码(功能最全面)
- Ctr+i编辑整个项目代码(跨文件编辑代码)
2.6.1 Tab智能代码补全
Cursor最基本也是最重要的功能就是Tab智能代码补全功能。根据当前的代码上下文,自动生成代码补全的建议,用户直接通过Tab键就可以完成代码的修改与补全。比如我们输入函数def test,cursor则会自动帮忙生成后面的代码,比如灰色部分代码。如果生成的结果是你想要的,键入tab键即可完成 智能代码补全功能:
Cursor最强的优势在于它的代码编辑能力,不仅可以插入代码,而且可以对现有的代码进行修改,这也是Cursor在官方文档中多次强调的:
2.6.2 Ctr + K提示框功能
Ctr + K提示框功能主要用来生成或修改局部的代码,用户通过文本输入自己的需求,然后选择相关的模型,Cursor就会根据需求来生成对应的代码,真正做到“会说就会写程序”的目的。Ctr + K提示框功能是用户需要引导AI怎么做的最快速方式,这弥补了 AI 不能完全理解用户意图的缺陷。只要能详细准确的阐述需求,利用LLM的理解能力即可生成对应的程序代码,提升效率。Ctr + K提示框功能是 Cursor 中最快速与 AI 交互的方式,它就像一个随时待命的编程助手,让你能快速获得 AI 的帮助。Ctr + K提示框功能使用方式包括两种:第一种是编写新的代码。在空白区域使用Ctr + K打开提示框,选择模型,通过文字需求需求比如“输入两张图片,基于dhash算法计算两张图片的相似度”,点击生成即可。下面是实际操作示例:
生成完成之后,可以点击Accept即可完成生成代码流程。
第二种是修改已有的代码。选中想要修改的代码使用Ctr + K打开提示框,选择模型,通过文本表述需求直到LLM修改对应的代码点击生成。然后点击代码右侧进行单行代码的Accept或者Reject操作即可使修改的代码是否生效。
2.6.3 Ctr + L聊天功能
Ctr + L聊天功能是用来针对更宽泛的代码问题进行对话的,更好的支持多轮的对话,可以针对更宽泛的编程问题进行解答。通过chat的方式一步步和Cursor沟通需求,指导模型生成自己想要的代码。使用方式是选中一块区域代码,比如这里我没有安装PIL包,然后键入ctr+L,右上角就会出现Cursor chat界面,针对缺失PIP包的问题,可以输入“如何引入PIL”包:
输入问题之后,cursor chat就会针对问题进行回答,如果有合适的解决方案,比如这里使用pip安装,点击Run即可完成对应的python包安装,非常好用。
Ctr + L聊天功能适合以下的场景:
- 解答编程概念问题,学习新技术或框架
- 获取代码建议和最佳实践
- 调试和错误排查
2.6.4 Ctr+i编辑整个项目代码
前面的三个功能都是在单个文件中生成和修改代码。Ctr+i编辑整个项目代码功能则可以从项目角度来生成多个文件。比如我输入Ctr+i就会进入右上角的COMPOSER界面,这里我输入“请你帮我编写一个贪吃蛇游戏,可以在浏览器打开进行试玩”。Cursor就会生成项目级别的文件,比如会分别生成一个html文件和js文件(会根据项目的难易程度生成多个文件)。下面是Ctr+i编辑整个项目代码示例说明:
03 Cursor实践案例
3.1 使用Ctr+K提示框功能计算两张图片的相似度
下面是用Cursor的Ctr+K提示框功能写一个基于dhash算法计算两张图片的相似度的python代码实例。流程非常简单,打开cursor之后,创建一个test1.py的文件,在空白处使用ctr+k命令,开启输入相关需求窗口,输入“输入两张图片,使用dhash算法,计算两张图片的相似度得分”,然后点击generate生成按钮:
然后Cursor就可以自动生成下面的代码:
如果缺失对应的python包也可以问Cursor,比如上面的例子中需要用到PIL包,直接在Cursor的chat窗口中问“找不到PIL”,然后Cursor就会给出对应的方案使用pip,点击后面的RUN就可以直接执行了,非常方便:
验证上面生成的代码是否可以正常执行,右键run即可。下面是执行结果:
生成的代码是可以正常运行的,准确性还不错。
3.2 使用Ctr+i功能写一个贪吃蛇游戏
下面是使用Cursor的Ctr+i功能写一个简单的贪吃蛇游戏。打开一个空白的项目,输入ctr+i,然后在右边的COMPOSER界面输入“请你帮我编写一个贪吃蛇游戏,可以在浏览器打开进行试玩”:
Cursor就会自动创建贪吃蛇项目,需要创建HTML和JavaScript两个文件。首先会构建一个HTML文件:
然后会创建一个游戏逻辑的JavaScript文件:
最后还会自动生成贪吃蛇游戏的使用说明、游戏特点以及后面的优化项:
项目构建好了之后怎么使用项目是个问题。可以继续在COMPOSER界面输入“怎么运行这个游戏”,Cursor就会生成一个简单的游戏运行说明书以及注意事项::
按照使用说明书,我们到项目文件夹中,双击index.html就可以在浏览器中玩自己构建的贪吃蛇游戏了。虽然很粗糙,但是已经可以直接试玩了。下面是生成的贪吃蛇游戏页面截图:
如果想继续优化,可以继续利用Cursor优化。比如原来的界面太粗糙,这里我新增“开始游戏”和“暂停游戏”两个按钮。只需要在Cursor的COMPOSER界面中输入相关的优化需求,点击生成即可:
下面是新生成的界面,点击开始游戏按钮即可开始玩贪吃蛇游戏。玩了一会游戏之后想暂停可以点击“暂停游戏”按钮会变成“重新开始”和“继续游戏”两个按钮。下面是更改之后的游戏界面截图:
基本上有了cursor之后,产品童鞋也能根据自己的需求来写程序了。
04 我们可以用Cursor做什么
对于程序员来说,Cursor可以大幅度提升我们的工作效率。比如常用的功能、算法等直接用Cursor就可以帮我们生成。有些小伙伴不喜欢写注释,有了Cursor之后还可以帮助我们写代码注释,变身“代码注释小达人”。还有接受一些新项目新的程序时,如果不想一行一行去看代码,也可以利用Cursor帮我们分析项目快速读懂代码;
对于产品经理来说,如果有一些好的创意点子,以前可能需要编程基础才能实现。现在学会用Cursor之后,详细准确的描述需求,即可指挥Cursor这个“打工人”帮我们写代码。Cursor支持主流的编程语言,可以帮助我们很好的完成自己的作品。“会说即会写代码”,让写代码的门槛大大降低。
下面是使用Cursor来帮助编程小白打造自己的导航网站教程:
编程小白如何打造自己的导航网站
我们还可以用Cursor来开发微信小程序:
手把手教小白如何8分钟用Cursor完成AI微信小程序的开发上线
使用Cursor开发一个记账网页:
7分钟上线部署一个记账网页
甚至用Cursor开发小程序开启副业收入:
用Cursor制作的小程序2周开通流量主,开通流量主后怎么手动设置广告呢?教你使用Cursor完成
参考资料
【1】Cursor Learning Platform for Beginners:https://www.lookai.top/en
码字不易,欢迎小伙伴们关注和分享。