Cursor: AI驱动的编程新范式
一、Cursor概述
Cursor是一款专门为软件开发设计的、AI优先的代码编辑器。它不仅仅是在传统编辑器上增加一个聊天插件,而是将人工智能深度集成到整个编码工作流的核心中,旨在从根本上改变开发者编写、阅读、理解和修改代码的方式。
Cursor是基于VS Code的开源项目构建的,它继承了VS Code丰富的界面、强大的扩展性和出色的性能,同时它移除了对传统插件生态的支持,专注于打造独一无二的AI编程体验。可以将其理解为VS Code的强大基底与一款及其智能的AI助手的深度融合。
- 深度集成AI模型,让AI充当了编译器的核心交互方式。支持代码块对话、项目级对话、模型自由选择。
- 强上下文理解能力,可以自动识别项目文件、代码块、错误信息等等,提供更直观的AI修改能力。
- 对话式开发体验,仅需用自然语言沟通,Cursor就会根据指令完成布置的任务,使用者可以轻松扮演产品经理,让Cursor理解你的命令自行工作。
二、Cursor安装
Cursor是一款跨平台的代码编辑器,支持Windows、macOS和Linux系统。
1、最低系统要求
| 操作系统 | 版本要求 | 架构支持 |
|---|---|---|
| Windows | Windows 10 版本 1930 或更高 | x64, ARM64 |
| macOS | macOS 10.15 Catalina 或更高 | Intel x64, Apple Ailicon(M1/M2) |
| Linux | Ubuntu 18.04+, Debian 10+, RHEL 8+, SUSE 15+ | x64, ARM 64 |
2、硬件要求
- 内存(RAM):最低 4GB,推荐 8GB 或更多。
- 存储空间:至少 2GB 可用磁盘空间。
- 处理器:支持SSE2的 x64 或 ARM64 处理器。
- 网络连接:稳定的互联网连接(AI功能必需)。
- 显示器:分辨率至少 1024x768。
3、下载Cursor
- 访问 Cursor 官网:https://www.cursor.com/。
- 点击页面中央或顶部的**“Download”**按钮。
- 网站会自动识别相关电脑的操作系统,并提供对应的下载链接。如果需要其他版本,可以手动选择。
三、Cursor三大核心AI功能
1、Tab键:智能小助手
Cursor的Tab键具有强大的代码自动补全功能,它可以在AI模型的基础上根据代码上下文自动预测并生成代码补全建议和代码修复重构,还可以用于导航代码等。
(1) 单行/多行代码补全
例如它可以根据你定义的函数名称预测相关函数所需要实现的功能,然后编写相关函数实现方法,按Tab键即接受其所预测的函数功能方法,它可以进行跨行联想。

(2) 代码智能重写
可以通过代码注释联想到相关实现逻辑,重构代码实现方式,按Tab即接受相关代码重构逻辑。

(3) 多行协同优化
Cursor的多行协同优化核心能力:多行代码,一次性完成语法升级、结构重组、安全修复。
多行数据联想。例如声明相关变量时,它会根据你所声明的一些变量自动联想出其他可能会需要的变量。

(4)光标预测功能
Cursor可以对实时代码进行上下文分析,然后预测你可能会移动的光标位置。

(5)接受,接受部分和拒绝
- Tab键表示接受完整补全。
- ctrk + -> 部分和逐步接受部分。
- esc 或者 继续输表示拒绝补全。
(6)Tab的相关配置项
可以在Cursor settings中配置相关Tab设置选项内容。

2、Chat对话模式
Chat是Cursor的AI助手,位于侧边栏中,可以通过它实现自然语言与代码库之间的交互。在对话框中,你可以提出问题、请求代码编辑、获取终端命令建议等,所以这些都无需切换上下文。
Cursor chat 主要功能点:
- Chat能够了解代码库,并代码我们对其进行更改。这是实现新功能的强大方法,也是功能请求的完美工具。
- Chat通过深入了解我们的代码库以及每个组件如何组合在一起可以帮助我们重构代码库。
- Chat可以根据我们的需求,从零开始进行项目搭建,包括创建项目结构,安装依赖项,甚至编写初始代码,让我们尽快开始业务编码。
- Chat可以根据项目的错误信息,进行错误定位和直接调整错误代码来解决问题。
(1) 快速开始
使用ctrl+L可以访问侧边栏中的聊天,用自然语言输入我们的请求,AI将做出相应的相应。
注意:与Chat对话时,加以采用清晰、具体的语言格式,最好包含任务类型、上下文描述和具体要求等。
例如通过采用chat对话所生成的交通统计方面相关的页面。

(2) Chat的三种模式
Chat提供根据特定任务优化的不同模式:
- Agent代理模式(默认):允许Cursor学习和理解我们的项目代码,并且可以代表我们直接进行代码更改(识别项目结构)。
- Ask对话模式:获取项目代码相关的解释和答案,但是不会直接修改项目代码(识别项目结构)。
- Manual手动模式:需要我们执行项目上下文(修改范围)重点编辑(不识别项目结构)。
- Agent模式
Agent是Cursor中的默认且最自主的模式,旨在以最少的指导处理复杂的编程任务。它启用了所有【工具】,可以自主探索项目的代码库、阅读文档、浏览Web、编辑文件和运行终端命令以高效完成任务。
Agent的能力总结:- 独立探索项目代码库,识别相关文件,并进行必要的修改。
- 使用所有可用工具搜索、编辑、创建文件和运行终端命令。
- 全面了解项目结构和依赖关系。
- 将复杂任务分解为可管理的步骤并按顺序执行。
- Ask模式
Ask是Chat的“只读”模式,用于提出问题、探索和了解代码库。它是Cursor中的一种内置对话模式。
对比:Ask是其他默认模式(Agent和Manual)所独有的,因为它默认不应用任何建议的更改,这使它成为一种“只读”模式,具有读取文件和其他上下文的完整能力,但不能自行进行任何更改。这对于了解我们可能不想更改的代码库或实施之前使用AI规划解决方案非常有用。
- Manual模式(目前最新的Cursor版本已经将该功能进行移除)
与Ask模式不同,它不探索代码库或运行终端命令,它完全取决于你的具体说明和你提供的上下文(例如,通过@文件名),AI生成修改建议后,还要用户手动点击“应用”才会改动代码,且通常是单文件/局部代码调整。
(3)Chat模式的其他细节
代码编辑选项
- Review:在差异视图中查看建议的更改

- Accept/Reject(接受/拒绝):进行更改后,决定是保留还是放弃更改(agent模式下)

Checkpoints数据还原
当希望恢复到代码库的先前状态时,Cursor可以通过在发出的每个请求以及每次AI更改的代码库时自动创建代码库的检查点(Checkpoints)来解决这个问题。
可以点击这个相关的返回按钮返回到以前的状态。

注意:是恢复到本次对话之前的状态,不是本次对话产生的状态。
历史和新建会话
可以通过Chat中的“Show Chat History”以及在命令面板中输入“Show Chat History”命令来访问历史提问记录。


同时它支持开启新任务,避免对话混乱,保留特定记录或解决误操作时,需在Cursor的Chat新建聊天框。

3、Ctrl+K 内联智能修改
内联编辑可以直接在编辑器窗口中生成新代码或编辑现有代码。
适合一直并精准修改文件内容。
在Cursor中,我们将按 Ctrl + K 时出现的栏称为“Prompt Bar”。它的工作原理类似于聊天的AI输入框,可以在其正常输入,或使用@引用其他上下文。
Ctrl + K 的模式说明:
- 内联生成:如果在按 Ctrl + K 时未选择任何代码,Cursor将根据您在提示栏中键入的提示生成代码。
- 内联编辑:对于就地编辑,只需选择要编辑的代码,然后在提示栏中输入即可。
内联生成
当未选中任何代码时,其会在下方根据你所描述的内容生成特定的代码,点击Keep即接受相关代码的生成。

内联编辑
选中所需要进行修改的代码块,然后按住 Ctrl + k 就会在上方弹出Prompt Bar,然后下方就会根据相关的提示修改相关的代码。它可以使得代码修改更精准。

四、Cursor精准上下文指定
在Cursor工具里,上下文可以理解为让AI准确理解需求、辅助编码的“信息参考范围”,时AI读懂代码,精准响应的关键。
1、Codebase Indexing代码库索引
(1)概念和作用
打开项目时,没有Cursor实例都将初始化该工作区的索引。初始索引设置完成后,Cursor将自动为添加到工作区的任何新文件编制索引,以使你的代码库上下文保持最新:
- 快速”读懂“你的项目结构(哪些时工具文件、哪些时业务逻辑)。
- 定位相关代码。
- 理解代码关系。
Cursor中的作用:AI分析索引内容后,生成代码时会更贴合项目实际(如使用已有工具函数、遵循命名规范)。
(2)代码库索引配置和示例
代码库索引的状态位于Cursor settings > indexing中。

(3)忽略文件配置
Cursor读取项目的代码库并为其编制索引以支持其功能。可以通过将**.cursorignore文件添加到根目录来控制哪些文件被忽略和Cursor**限制访问。
配置忽略文件的作用:
- 提升索引速度:排除大型依赖、生成文件(如node_modules、dist)。
- 避免干扰:某些配置文件可能包含敏感信息或与当前任务无关。
配置**.cursorignore**忽略文件:
- 创建**.cursorignore**文件添加到代码库目录的根目录下,并列出要忽略的目录和文件。
- 使用Cursor配置快捷创建忽略文件Cursor Setting > indexing > Configure ignored files。
当在相关忽略文件中添加需要进行忽略的文件时,此时只能读取到没有进行配置忽略文件的文件编制索引。

2、Rules规则
(1)规则介绍
Rules是给CurSor AI功能(规则适用于Chat 和 Ctrl + K)生成结果添加规则和限制,让AI生成的代码贴合团队规范,减少人工二次修改成本,主要的作用如下:
- 可约束代码风格(如强制用驼峰命名、要求函数必须写注释)
- 能限定技术选型(如禁止使用某老旧库、优先用项目指定工具类)
- 提前指定核心参数(如提前设置连接数据库的地址和账号密码等)
Rules主要的配置方案:
- 项目规则
| 维度 | 项目规则(Project Rules) | 用户规则(User Rules) |
|---|---|---|
| 作用范围 | 仅对当前项目生效,团队成员共享相关规则 | 对所有项目生效个人专属配置 |
| 存储位置 | 项目根目录下的./cursor/rules/随意.mdc文件 | 用户配置目录(如~/.cursor/rules) |
| 同步方式 | 随项目代码提交到版本库(如Git),团队共享 | 仅本地生效,不随项目同步 |
| 使用场景 | 同意团队编码规范(如函数只是个是,依赖版本) | 个人习惯(如快捷键、AI响应风格) |
注意:项目规则和用户规则同时存在并且规则冲突,项目规则优先级更高。
(2)项目规则配置
项目下创建规则文件
- 创建文件夹自定义文件 项目/.cursor/rules/随意命名.mdc
- 快捷命令方式创建 Ctrl + Shift + P >“New Cursor Rule”

(3)用户规则配置**
-
用户规则在cursor setting > rules中定义。
-
添加规则内容即可。

-
用户规则不支持MDC,它们知识纯文本。
(4)mdc语法了解
Cursor的MDC(markdown with Cursor)语法是专门为编写项目规则设计的轻量级格式,它结合了 Markdown 的可读性和元数据配置能力。
- MDC文件组成部分:
前置元数据
用**—**包裹的YAML格式配置。
定义规则的基本属性(如作用范围、优先级)
规则内容(Markdown正文)
用Markdown语法写具体规划 - 前置元数据
---
# 官方约定字段(推荐用,AI更容易理解)
description: "前端项目规则”
globs: "src/**/*.tsx"
priority: 1000
# 自定义字段(自己或团队约定含义)
author: "技术团队"
review_date: "2025-09-26"
special_rule: "限制生效时间"
常用元数据字段
| 字段 | 作用 | 示例 |
|---|---|---|
| description | 描述规则用途,指导AI如何应用规则 | “前端编码规范” |
| globs | 指定规则生效的文件范围(支持glob语法) | “src/**/*.{js,ts,jsx}” |
| priority | 规则优先级(数值越大越优先),解决规则冲突 | 1000 |
| version | 规则版本号(可选) | “1.0.0” |
- 规则内容(Markdown正文)
用Markdown的标题、列表、代码块等语法写具体规则。
3、@符号
在Cursor中使用@ 符号在聊天中引入代码、文件、文档和其他上下文的指南,直接更具体的指定上下文环境。
- @Files - 引用项目中的特定文件
- @Folders - 引用整个文件夹以获得更广泛的上下文
- @Code - 引用代码库中的特定代码片段或符号
- @Docs - 访问文档和指南
- @Git - 访问 git 历史记录和更改
- @Past Chats - 使用汇总的Composer会话
- @Cursor Rules - 使用光标规则
- @Web - 参考外部Web资源和文档
- @Linter Errors - 引用 linter 错误(仅限Chat)
1064

被折叠的 条评论
为什么被折叠?



