Cursor的使用

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…