Cursor - 三大核心AI功能
Tab键:智能小助手
Cursor 的 Tab 键具有强大的代码自动补全功能,基于 AI 模型,能根据代码上下文自动预测并生成代码补全建议和代码修复重构,还可用于导航代码等!
Tab键接受建议,也可以通过按Esc键拒绝建议。
单行/多行代码补全
已有代码片段:
//需求:写一个工具类计算数组平均值 public class ArrayUtils { // 按tab会完成补全 }按tab键 → Cursor 自动生成代码:
//需求:写一个工具类计算数组平均值 public class ArrayUtils { public static void main(String[] args) { int[] nums = {1,2,3,4,5,6,7,8,9,10}; System.out.println(average(nums)); } public static double average(int[] nums) { int sum = 0; for (int num : nums) { sum += num; } return (double) sum / nums.length; } }
智能代码重写
已有代码片段:
import java.util.List; import java.util.Arrays; import java.util.ArrayList; public class ArrayUtils { public void arrayFor() { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); List<Integer> evenNumbers = new ArrayList<>(); for (int num : numbers) { if (num % 2 == 0) { evenNumbers.add(num); } } } }按Tab键 → 自动补全:
//在循环上方添加注释:// 使用 Stream 重构 //光标放在循环代码块的任意位置,按 Tab 键 public void arrayFor() { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); List<Integer> evenNumbers = numbers.stream().filter(num -> num % 2 == 0).collect(Collectors.toList()); }
多行协同优化
Cursor 的 多行协同优化 核心能力:多行代码,一次性完成 语法升级、结构重组、安全修复。
多行数据联想
int count; // 普通变量 String name; // 姓名 boolean isValid; // 是否有效 double price; // 价格 //tab 会继续联想变量类型
Chat: 对话模式
Chat 是 Cursor 的 AI 助手,位于的侧边栏中,可让您通过自然语言与代码库进行交互。您可以提出问题、请求代码编辑、获取终端命令建议等 - 所有这些都无需切换上下文。
Cursor chat 主要功能点:
- Chat 能够了解代码库并代表我们对其进行更改。这是实现新功能的强大方法,也是功能请求的完美工具。
- Chat通过深入了解我们的代码库以及每个组件如何组合在一起,Chat 可以帮助您重构代码库。
- Chat可以根据我们的需求,从零开始进行项目搭建,包括创建项目结构,安装依赖项,甚至编写初始代码,让我们尽快开始业务编码。
- Chat也可以根据我项目的错误信息,进行错误定位和错误代码直接调整解决。
快速开始
使用 Ctrl+L (Windows/Linux) 访问侧边栏中的聊天。用自然语言输入我们的请求,AI 将做出相应的响应。
注意: 与Chat 对话时,建议采用清晰、具体的语言格式,最好包含任务类型、上下文描述和具体要求。
以下是几个参考模板:
代码生成类
[任务类型]:请生成一个 {功能描述} 的 {编程语言/框架} 实现 [具体要求]: 1. 使用 {特定技术/库} 2. 包含 {特定功能点} 3. 符合 {编码规范/设计模式}示例:
请生成一个学习计划页面的HTML+CSS+JavaScript实现 [具体要求]: 1. 使用Tailwind CSS v3和Font Awesome 2. 包含任务添加、编辑、删除功能 3. 包含日历视图展示学习计划 4. 包含学习进度可视化图表 5. 符合现代UI设计原则和响应式设计 6. 具有平滑的动画和交互效果代码修改类
[任务类型]:请帮我修改 {上下文:具体文件/代码片段},实现 {预期功能} [当前问题]:{现有的错误/不足描述} [具体要求]: 1. 保持 {现有功能/结构} 不变 2. 使用 {特定方法/技术} 改进 3. 修复 {具体错误/警告}示例:
请帮我修改当前的 React 组件,优化列表渲染性能。 当前问题:滚动时列表卡顿,存在明显性能问题。 要求: 1. 保持现有 UI 不变 2. 使用 React.memo 和虚拟列表技术优化 3. 添加性能监控日志代码解释类
[任务类型]:请解释 {代码片段/功能模块} 的 {具体方面} [上下文信息]:{相关业务背景/技术栈} [具体问题]: 1. {不理解的语法/逻辑} 2. {特定设计选择的原因} 3. {潜在的问题/优化点}示例:
请解释这段 TypeScript 代码的泛型约束和类型推导逻辑。 上下文:这是一个用于数据验证的工具函数。 具体问题: 1. <T extends object> 这里为什么要加 extends object? 2. 类型推导是如何工作的? 3. 是否存在类型安全隐患?流程自动化类
[任务类型]:请创建一个自动化流程,实现 {目标描述} [操作步骤]: 1. 从 {数据源} 获取 {数据类型} 2. 执行 {数据处理/转换操作} 3. 将结果保存到 {目标位置} 4. 触发 {后续操作/通知} [具体要求]: 1. 使用 {特定工具/API} 2. 添加 {错误处理/重试机制} 3. 生成 {日志/报告}
提示词技巧总结:
- 提供上下文:提及项目语言、框架、业务背景等信息
- 分点描述:将复杂需求拆解为具体步骤或要求
- 使用技术术语:准确的术语能帮助 AI 更精准理解需求
- 明确边界:说明必须保留的现有功能或禁止的实现方式
- 示例引导:附上期望输出示例或参考代码风格
