Cursor的使用

Ctrl + L 打开历史对话记录

Tab智能助手

1.单行/多行补全

已有代码片段:

//需求:写一个工具类计算数组平均值
public class ArrayUtils {//按tab会完成补全
}

按tab键- Cursor 自动生成代码:

//需求:写一个工具类计算数组平均值
public class ArrayUtils {//按tab会完成补全public static double calculateAverage(int[] numbers) {if (numbers == null || numbers.length == 0) {throw new IllegalArgumentException("Array is empty");}int sum = 0;for (int num : numbers) {sum += num;}return (double) sum / numbers.length;}
}

2.智能代码重写

已有代码片段:

import java.util.List;
import java.util.Arrays;
import java.util.ArrayList;public class Test {public static 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);}}}
}
//在循环上方添加注释://使用 stream 重构
//光标放在循环代码块的任意位置,按Tab键
public static void arrayStream() {List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);List<Integer> evenNumbers = numbers.stream().filter(num -> num % 2 == 0).toList();
}

多行协同优化

Cursor 的 多行协同优化 核心能力:多行代码,一次性完成 语法升级、结构重组、安全修复.

  • 多行数据联想
int count;//普通变量
String name;//姓名
boolean isValid; //是否有效
double price;//价格
//按tab会继续联想变量类型
  • 多行批量修改
public static int add(int a,int b){//代码添加注释System.out.println("第一次输出!");System.out.println("第二次输出");System.out.println("第三次输出");System.out.println("第四次输出!");return o;
}

光标位置预测Tab to jump here

//添加注释
public static int add(int a, int b) {return a + b;
}public static int subtract(int a, int b) {return a - b;
}public static int multiply(int a, int b) {return a * b;
}public static int divide(int a, int b) {if (b != 0) {return a / b;} else {throw new IllegalArgumentException("Division by zero is not allowed.");}
}
public class Test {//添加注释/*** Adds two integers.** @param a the first integer* @param b the second integer* @return the sum of a and b*/public static int add(int a, int b) {return a + b;}/*** Subtracts the second integer from the first.** @param a the first integer* @param b the second integer* @return the result of a minus b*/public static int subtract(int a, int b) {return a - b;}/*** Multiplies two integers.** @param a the first integer* @param b the second integer* @return the product of a and b*/public static int multiply(int a, int b) {return a * b;}/*** Divides the first integer by the second.** @param a the first integer* @param b the second integer* @return the result of a divided by b* @throws IllegalArgumentException if b is zero*/public static int divide(int a, int b) {if (b != 0) {return a / b;} else {throw new IllegalArgumentException("Division by zero is not allowed.");}}
}

接收、部分接收和拒绝

public class Student {//tab全部接收,esc拒绝接收,ctrl + 右箭头 部分接收
private String name;
private int age;
private String gender; 
}

默认不开启部分接收
需要在Cursor Settings -> Features -> Partial accepts

Chat对话模式

1.Agent代理陵式(默认):允许Cursor学习和理解我们的项目代码,并且代表们可以直接进行项目代码更改!
[ 识别项目结构]
2.Ask对话模式:获取项目代码相关的解释和答案,但是不会直接修改项目代码![ 识别项目结构]
3.Manual手动模式:需要我们执行项目上下文(修改范围,后续会详细讲解)重点编辑![ 不识别项目结构]

Ctrl + K 内联窗口

精准上下文指定

在curser工具,上下文(context) 可理解为让 AI 准确理解需求辅助编码的信息参考范围。

Codebase Indexing 代码库检索

默认情况下,Cursor会自动检索项目文件。

查看codebase,点击右上角齿轮,Indexing

忽略文件设置
cursor读取项目的代码库并为其编制索引以支持其功能。可以通过将 .curserignore 文件添加到根目录来控制哪些文件被忽略和 curser 限制访问。

  • 提升索引速度:排除大型依赖、生成文件(如node_modules、dist)
  • 避免干扰:某些配置文件可能包含敏感信息或与当前任务无关

配置.cursorignore文件:
cursor setting -> indexing -> Configure ignored files

Rules规则

rulers 规则可以为生成结果添加规则和限制,让AI生成的代码结合团队规范,减少人工二次修改成本。

  • 可约束代码风格(如强制用驼峰命名、要求函数必须写注释)
  • 能限定技术选型(如禁止使用某老旧库、优先用项目指定工具类)
  • 提前指定核心参数(如提前设置连接数据库的地址和账号密码等)

配置方案

维度项目规则(Project Rules)用户规则(UserRules)
作用范围仅对当前项目生效,团队成员共享相同规则对所有项目生效,个人专属配置
存储位置项目根目录下的.cursor/rules/随意.mdc文件用户配置目录(如~/.cursor/rules
同步方式随项目代码提交到版本库,团队共享仅本地生效,不随项目同步
适用场景统一团队编码规范(如函数注释格式、依赖版本)个人习惯(如快捷键、AI 响应风格)

如果项目规则和用户规则同时存在,并且规则冲突,项目规则优先级更高

项目配置规则

  1. 项目规则配置
    项目根目录下的.cursor/rules/随意.mdc文件
    快捷键Ctrl + Shift + P > New Cursor Rule

  2. 用户规则配置
    进入Cusor Settings -> Rules -> User Rules
    填写内容

用户规则不支持mdc语法

mdc语法

MDC(Markdown with Cursor)语法专门为编写项目规则设计的格式,结合 Markdown的可读性和元数据配置能力。

组成部分

  1. 前置元数据(Frontmatter)
  • ---包裹的YAML格式配置
  • 综艺规则的基本属性(如作用范围、优先级)
  1. 规则内容(MD正文)
  • 用Markdown语法写具体规则

前置元数据

字段作用示例
description描述规则用途,指导 AI 如何应用规则“前端组件编码规范”
globs指定规则生效的文件范围(支持 glob 语法)“src/**/*.{js,ts,jsx}”
priority 规则优先级(数值越大越优先),解决规则冲突1000
version规则版本号(可选)“1.0.0”

示例:

---
# 官方约定字段(推荐用,AI更易理解)
description: "前端项目规则"
globs: "src/**/*.tsx"
priority: 1000
#自定义字段(白己或团队约定含义)
author: "技术团队"
review_date: "2025-06-04"
specia1_ru1e: "仅周一至周五生效"
---

规则内容

用Markdown的标题、列表、代码块等语法写具体规则。
代码风格规则(最常用)

# 一、代码风格
1. 函数必须包含 `J`SDoc` 注释- 至少包含`@param`、`@return`描述
2. 变量名必须使用陀峰命名法。
3. 每行代码长度不超过120个字符。# 二、技术选型
1. 禁止使用 eval() 函数
2. SQL 查询必须使用参数化查询,防止注入攻击
3. 敏感信息(如api密钥),必须从环境变量读取

特殊语法:引用项目文件
@file引用项目内的配置文件,让AI参考

# 工具链配置
1. ESL int 规则必须符合 @file .eslintrc.js
2. 测试用例必须遵循Jest框架规范

完整示例

---
description: "Java项目编码规范"
globs: "src/**/*.java"
priority: 1000
---# 一、命名规范
1. 类名使用大驼峰命名法(如 `UserService`)
2. 方法名、变量使用小驼峰命名法(如 `getUserName`)
3. 常量使用全大写,单词间用下划线分隔(如 `MAX_COUNT`)# 二、代码格式
1. 统一使用 4 空格缩进
2. 方法体左大括号不换行,右大括号单独一行
3. 运算符两侧、逗号后要加空格# 三、注释规范
1. 类注释使用文档注释,说明类的功能
2. 方法注释说明功能、参数、返回值和异常
3. 关键业务逻辑处添加单行注释# 四、代码规范
1. 方法不超过 80 行,避免过长方法
2. 避免深层嵌套,最多不超过 3 层
3. 优先使用 JDK 7+ 新特性

@符号

使用@符号,在聊天中引用代码、文件、文档和其他上下文的指南

以下是所有可用 @ 符号的列表:

  • @Files - 引用项目中的特定文件
  • @Folders - 引用整个文件夹以获得更广泛的上下文
  • @Code - 引用代码库中的特定代码片段或符号
  • @Docs - 访问文档和指南
  • @Git - 访问 git 历史记录和更改
  • @Past Chats - 使用汇总的 Composer 会话
  • @Cursor Rules - 使用光标规则
  • @Web - 参考外部 Web 资源和文档
  • @Lint Errors - 引用 lint 错误(仅限 Chat)

使用@Docs来指定文档
Cursor Settings -> Indexing & Docs

@Web 参考外部资源(相当于联网搜索)

@Lint Errors 会自动捕获并提取当前活动文件中的任何linting错误和警告的上下文。(仅限Chat)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/88875.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/88875.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/88875.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

17.使用DenseNet网络进行Fashion-Mnist分类

17.1 DenseNet网络结构设计import torch from torch import nn from torchsummary import summary #卷积层 def conv_block(input_channels,num_channels):netnn.Sequential(nn.BatchNorm2d(input_channels),nn.ReLU(),nn.Conv2d(input_channels,num_channels,kernel_size3,pad…

网安系列【16】之Weblogic和jboss漏洞

文章目录一 Weblogic1.1 Weblogic相关漏洞1.2 Weblogic漏洞发现1.3 Weblogic漏洞利用二 Jboss2.1 Jboss漏洞2.2 Jboss识别与漏洞利用一 Weblogic WebLogic 是由 Oracle公司 开发的一款基于Java EE&#xff08;现称Jakarta EE&#xff09;的企业级应用服务器&#xff0c;主要用…

Unity URP + XR 自定义 Skybox 在真机变黑问题全解析与解决方案(支持 Pico、Quest 等一体机)

在使用 Unity 的 URP 渲染管线开发 XR 应用&#xff08;如 Pico Neo、Pico 4、Quest 2/3 等一体机&#xff09;时&#xff0c;很多开发者遇到一个奇怪的问题&#xff1a;打包后&#xff0c;Skybox&#xff08;天空盒&#xff09;在某些角度下突然变黑&#xff0c;只在转动头部后…

Cursor、飞算JavaAI、GitHub Copilot、Gemini CLI 等热门 AI 开发工具合集

Cursor&#xff1a;代码编写的智能伙伴​Cursor 是 Anysphere 公司推出的一款 AI 编程工具&#xff0c;它基于微软开源代码编辑器 VS Code 开发&#xff0c;将 AI 技术深度整合到开发人员的工作流程中。Cursor 的功能十分强大&#xff0c;不仅能够自动用纯英文编写代码&#xf…

如何安装历史版本或指定版本的 git

背景 有的时候&#xff0c;我们需要安装指定版本的git&#xff0c;或者希望旧一点的&#xff0c;毕竟我就遇到最新的2.50.1在win10安装后打开就一闪而过&#xff0c;而安装2.49.1就不会 下载 官网可能比较难找&#xff0c;但是这个github仓库&#xff1a;https://github.com/gi…

LaCo: Large Language Model Pruning via Layer Collapse

发表&#xff1a;EMNLP_FINDING_2024 机构&#xff1a;Shanghai Jiao Tong University 连接&#xff1a;LaCo: Large Language Model Pruning via Layer Collapse - ACL Anthology 代码&#xff1a;https://github.com/yangyifei729/LaCo Abstract 基于 Transformer 的大语…

服务器内核级故障排查

目录 **检查内核级故障(Oops/Panic)的具体操作步骤****1. 查看完整 `dmesg` 日志(含时间戳)****2. 过滤关键错误信息****3. 检查系统日志中的内核消息****4. 分析最近一次启动的日志****5. 检查是否有 `vmcore` 转储文件****常见内核错误示例及含义**补充说明:检查内核级故…

Flink学习笔记:整体架构

开一个新坑&#xff0c;系统性的学习下 Flink&#xff0c;计划从整体架构到核心概念再到调优方法&#xff0c;最后是相关源码的阅读。 今天就来学习 Flink 整体架构&#xff0c;我们先看官网的架构图图中包含三部分&#xff0c;分别是 Client、JobManager 和 TaskManager。其中…

【LeetCode 热题 100】105. 从前序与中序遍历序列构造二叉树——(解法二)O(n)

Problem: 105. 从前序与中序遍历序列构造二叉树 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 【LeetCode 热题 100】105. 从前序与中序遍历序列构…

完美卸载 Ubuntu 双系统:从规划到实施的完整指南

&#x1f4d6; 前言 最近成功完成了一次 Ubuntu 双系统的完整卸载&#xff0c;从最初的分区删除到最终解决 GRUB 引导问题&#xff0c;整个过程虽然有些曲折&#xff0c;但最终完美解决。本文将详细分享整个卸载过程&#xff0c;希望能帮助到有类似需求的朋友。 &#x1f3af…

深入理解oracle ADG和RAC

1. 引言 本节详细介绍oracle ADG和RAC。当然这里讲得的详细是相对理论的深入&#xff0c;不涉及到实验&#xff0c;比如ADG和RAC的搭建及调优等。 RAC (Real Application Clusters) 和 ADG (Active Data Guard)是Oracle 的两大核心高可用和灾备技术。它们是 Oracle 数据库高可用…

网络安全实践:从环境搭建到漏洞复现

要求&#xff1a;1.搭建docker2.使用小皮面板搭建pikachu靶场3.使用BP的爆破模块破解pikachu的登陆密码步骤4.Kail的msf复现永恒之蓝一.搭建docker1. Docker介绍Docker 是容器&#xff0c;可以部分完全封闭。封闭意味&#xff1a;一个物质&#xff08;放到容器&#xff09;&…

车载诊断架构 --- 诊断功能开发流程

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…

mysql数据库知识

MySQL数据库详解MySQL是目前全球最流行的关系型数据库管理系统之一&#xff0c;以其开源免费、高效稳定、易于扩展等特点&#xff0c;被广泛应用于Web开发、企业级应用等场景。本文将从基础概念、核心特性到实际应用&#xff0c;对MySQL进行全面解析。一、MySQL的基本概念1. 关…

基于springboot的美食文化和旅游推广系统

博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业多年&#xff0c;熟悉各种主流语言&#xff0c;精通java、python、php、爬虫、web开发&#xff0c;已经做了多年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;没有什么华丽的语言&#xff0…

Rust赋能文心大模型4.5智能开发

文心大模型4.5版本概论 文心大模型4.5是百度推出的最新一代大规模预训练语言模型,属于文心大模型(ERNIE)系列。该模型在自然语言处理(NLP)、多模态理解与生成等领域表现出色,广泛应用于智能搜索、内容创作、对话交互等场景。 核心能力 语言理解与生成 支持复杂语义理解…

前端抓包(不启动前端项目就能进行后端调试)--whistle

1、安装 1.1.安装node.js 1.2.安装whistle npm install -g whistle2.安装浏览器插件【SwitchyOmega】在谷歌浏览器应用商店下载安装即可配置proxy127.0.0.1:8989是w2 start的端口号启用代理3.启动服务&#xff08;每次抓包都得启动&#xff09; w2 start点击链接访问网页 http:…

kettle从入门到精通 第102课 ETL之kettle xxl-job调度kettle的两种方式

之前我们一起学习过xxl-job调度carte&#xff0c;采用的xxl-job执行器方式&#xff0c;不了解的可以查看《kettle从入门到精通 第六十一课 ETL之kettle 任务调度器&#xff0c;轻松使用xxl-job调用kettle中的job和trans 》 今天我们一起来学习下使用xxl-job直接使用http调用…

纯前端 JavaScript 实现数据导出到 CSV 格式

日常开发中&#xff0c;数据导出到文件通常有两种方式&#xff1a; 在后端处理&#xff0c;以文件流或者资源路径的方式返回&#xff1b;后端返回数据&#xff0c;前端按需处理后再触发浏览器的下载事件&#xff0c;已保存到本地文件。 这里介绍后者的一种零依赖的实现方式。…

香港理工大学实验室定时预约

香港理工大学实验室定时预约 文章目录香港理工大学实验室定时预约简介接单价格软件界面网站预约界面代码对爬虫、逆向感兴趣的同学可以查看文章&#xff0c;一对一小班教学(系统理论和实战教程)、提供接单兼职渠道&#xff1a;https://blog.csdn.net/weixin_35770067/article/d…