惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
Jina AI
Jina AI
罗磊的独立博客
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
J
Java Code Geeks
U
Unit 42
Microsoft Azure Blog
Microsoft Azure Blog
B
Blog RSS Feed
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
T
The Blog of Author Tim Ferriss
腾讯CDC
Hugging Face - Blog
Hugging Face - Blog
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
I
InfoQ
月光博客
月光博客
博客园_首页
Vercel News
Vercel News
P
Proofpoint News Feed
GbyAI
GbyAI
Y
Y Combinator Blog

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
Cursor入门教程: Tab功能的使用 - 少数派
2024-09-12 · via 少数派

Cursor 辅助AI编程提供了三个主要功能:

  1. Tab功能
  2. 提示框功能(Cmd + K)
  3. 聊天功能(Cmd + L)

我们这次主要介绍Tab,这个让用户最能直接感受到 Cursor 魔力的功能。

为什么不同的AI编辑器之间都实现了Tab功能,但是体验却差别这么大?Cursor的Tab功能实现了哪些能力呢?

什么才是AI辅助编程最简单直接的形式?其实就是根据当前的代码上下文,自动生成代码补全的建议,用户直接通过Tab键就可以完成代码的修改与补全。

我想不到有什么比这个更简单直接的辅助编程方式了。用户不需要描述任何需求,AI直接为你提供建议,这就是最自然最直接的辅助方式。

Cursor的Tab功能,正是这样的一个辅助编程工具。相比GitHub Copilot,豆包MarsCode,Cursor最强的优势在于它的代码编辑能力,不仅可以插入代码,而且可以对现有的代码进行修改,这也是Cursor在官方文档中多次强调的:

Cursor的代码修改能力

也可以在之前的博文《为什么放弃Github Copilot?》中看到更详细的对比。

Tab基础功能

多行补全

最基础的功能就是代码生成,直接根据当前光标所在的位置,生成代码补全建议。如下图所示:

Cursor的代码生成

在这个例子中,你可能只输入了函数定义和第一行,Cursor的Tab功能就能智能地补全剩余的代码。

但Cursor的Tab功能不仅限于此,它还支持多行编辑,可直接生成多行代码补全建议。如下图所示:

Cursor的多行补全

Tab功能会根据你当前光标处的修改去生成多行代码补全建议,上面例子你输入了Block后,类似的其他地方也会提示你应该补充Block。

注意,上面的例子中,Tab在进行代码补全建议时,提示的补全代码都是以灰色代码的形式进行展示的。

Tab高级功能

智能重写(Smart Rewrite)

Cursor的Tab功能不只是简单的代码补全。它还能聪明地改写你已经写好的代码。这就是Cursor最引以为豪的"代码编辑"功能。无论是小改动还是大重构,这个功能都能派上大用场。

Cursor的智能重写

在进行代码重写(或修改)时,Cursor的代码修改建议会通过提示框的形式展现出来,而不是代码补全的灰色代码提示。

光标预测(Cursor Prediction)

上面介绍的功能都是Cursor基于当前光标的位置,再结合代码的上下文,进行补全或修改提示。

更近一步的。

Cursor还能预测你下一步可能要编辑的位置。这个强大的功能被称为"光标预测"。(貌似我知道为啥Cursor要叫Cursor了)

Cursor的光标预测

在上面的例子中,我们可以看到你修改了一个函数的名称,Cursor 预测到下面红圈位置的函数名也应该随着改变。

Cursor光标预测示例2

同样的这个例子中你修改了updates变量的名称为updatesToServer,Cursor就会预测下面的updates变量也应该更新为updatesToServer。

小技巧

Tab in Peek

Cursor的Tab功能不仅限于主编辑窗口,在"Go to Definition"或"Go to Type Definition"的预览窗口中也可以使用。这个特性在添加新的函数参数时特别有用。

例如,当你需要修改一个函数定义,然后快速修复所有使用该函数的地方时,这个功能就非常方便。特别是对于使用vim的用户,可以结合gd命令,先修改函数定义,然后快速修复所有调用处。

Cursor在预览窗口中使用Tab功能

在上面的例子中,我们可以看到用户在预览窗口中使用Tab功能来修改函数定义,添加了一个新的参数。

这个功能可以提高代码重构的效率,使得添加新功能或修改现有接口变得更加简单和快速。

部分Accepts

你可以通过按Ctrl/⌘和右箭头来接受建议的下一个单词。这让你能更精细地控制代码补全的过程。

Tab功能的未来发展

从使用体验上来说,Tab功能的上下文引用还有改进空间。比如,从别处文件修改的代码,回到当前文件时,Tab功能的提示错误率就比较高。

根据Cursor博客Next Action Prediction中提到的未来规划,Tab功能未来将支持跨文件的代码生成提示,不再仅限于当前文件的代码建议生成。这意味着Cursor将能更好地理解整个项目的上下文,提供更准确、更有用的代码建议。

总结

总的来说,Cursor的Tab功能是一个强大而直观的AI辅助编程工具。通过本教程,你应该对它有了足够多的了解。

但是 Cursor 的强大并没有看起来那么简单,经过深入的研究才发现,Cursor的团队做了非常多的改进与优化工作。

Cursor Tab功能使用的是自研模型,在Cursor的博客里面提到了很多训练模型的方法以及优化的细节,感兴趣的朋友可以去看一看。