cursor的.cursorrules詳解

在這里插入圖片描述

文章目錄

      • 1. 文件位置與作用
      • 2. 基本語法規則
      • 3. 常用規則類型與示例
        • 3.1 忽略文件/目錄
        • 3.2 限制代碼生成范圍
        • 3.3 自定義補全建議
        • 3.4 安全規則
      • 4. 高級用法
        • 4.1 條件規則
        • 4.2 正則表達式匹配
        • 4.3 繼承規則
      • 5. 示例文件
      • 6. 注意事項

Cursor 是一款基于 AI 的智能代碼編輯器,其 .cursorrules 文件用于自定義代碼生成、自動補全和其他 AI 行為的規則,關于cursor就不詳細介紹了,懂得都懂。以下是關于 .cursorrules 的詳細用法和規則說明:


1. 文件位置與作用

  • 位置.cursorrules 文件應放在項目根目錄下(類似 .gitignore)。
  • 作用:通過該文件,你可以控制 AI 在代碼生成、補全時的行為,例如:
    • 忽略特定文件或目錄。
    • 定義代碼生成的風格規則。
    • 限制 AI 對某些代碼的操作(如禁止修改關鍵文件)。

2. 基本語法規則

  • 通配符支持:使用 * 匹配任意字符,** 匹配多級目錄。
  • 注釋:以 # 開頭的行是注釋。
  • 規則優先級:規則從上到下匹配,后面的規則可能覆蓋前面的。

3. 常用規則類型與示例

3.1 忽略文件/目錄
  • 目的:阻止 AI 讀取或修改某些文件。
  • 語法
    ignore: path/to/file
    ignore: **/tests/*
    ignore: *.config.js
    
  • 示例
    # 忽略所有測試文件
    ignore: **/*.test.js
    # 忽略 node_modules 目錄
    ignore: node_modules/
    
3.2 限制代碼生成范圍
  • 目的:控制 AI 生成的代碼類型。
  • 語法
    restrict: "生成代碼時僅使用函數式編程"
    restrict: "避免使用全局變量"
    restrict: "代碼需符合 ESLint 規則"
    
  • 示例
    # 強制生成 TypeScript 類型
    restrict: "請為所有函數參數和返回值添加 TypeScript 類型"
    
3.3 自定義補全建議
  • 目的:定義自動補全的偏好。
  • 語法
    suggest: "優先使用箭頭函數"
    suggest: "使用 async/await 替代 Promise.then"
    
  • 示例
    # 在 React 組件中優先使用 Hooks
    suggest: "在 React 組件中使用 useState 和 useEffect"
    
3.4 安全規則
  • 目的:防止 AI 修改敏感代碼。
  • 語法
    protected: src/core/auth.js
    protected: **/database/migrations/*
    
  • 示例
    # 保護 API 密鑰相關文件
    protected: **/config/secrets.js
    

4. 高級用法

4.1 條件規則
  • 根據文件類型應用不同規則:
    [*.py]
    restrict: "使用類型注解(Type Hints)"[*.js]
    restrict: "遵循 Airbnb JavaScript 風格指南"
    
4.2 正則表達式匹配
  • 使用正則表達式精準匹配路徑:
    ignore-regex: ^.*/legacy/.*\.js$
    
4.3 繼承規則
  • 引用其他規則文件(需確認 Cursor 是否支持):
    extend: .team_rules
    

5. 示例文件

# .cursorrules# 忽略測試文件和配置文件
ignore: **/*.test.js
ignore: **/config/*.json# 限制生成規則
restrict: "使用 ES6+ 語法"
restrict: "避免使用 var"# 保護關鍵文件
protected: src/utils/encryption.js# 針對 Python 文件的規則
[*.py]
suggest: "優先使用 f-string 格式化字符串"

6. 注意事項

  1. 文件編碼:確保使用 UTF-8 編碼。
  2. 緩存問題:修改 .cursorrules 后,可能需要重啟 Cursor 或清除緩存。
  3. 版本兼容性:不同版本的 Cursor 可能支持不同的規則,建議查看官方文檔。

如果需要更具體的規則或驗證當前版本的語法,建議參考 Cursor 的官方文檔:Cursor Documentation。


結束語
Flutter是一個由Google開發的開源UI工具包,它可以讓您在不同平臺上創建高質量、美觀的應用程序,而無需編寫大量平臺特定的代碼。我將學習和深入研究Flutter的方方面面。從基礎知識到高級技巧,從UI設計到性能優化,歡飲關注一起討論學習,共同進入Flutter的精彩世界!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/75471.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/75471.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/75471.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

黑馬點評項目總結

redis的key設計規范 推薦規范: 業務前綴數據名稱唯一id 比如表示文章點贊的用戶集合: blog:like:${blogId} 刷新token有效期(攔截器實現) 使用雙重攔截器解耦登錄鑒權攔截和刷新有效期 RefreshTokenInterceptor: 攔截所有請求 只負責token續期 沒有token則放行 Component p…

Java 大數據在智能安防入侵檢測系統中的多源數據融合與分析技術(171)

💖親愛的朋友們,熱烈歡迎來到 青云交的博客!能與諸位在此相逢,我倍感榮幸。在這飛速更迭的時代,我們都渴望一方心靈凈土,而 我的博客 正是這樣溫暖的所在。這里為你呈上趣味與實用兼具的知識,也…

ARM架構+CODESYS:解鎖嵌入式邊緣計算的實時控制新范式

工業自動化、物聯網和邊緣計算的快速發展,ARM架構的邊緣計算機憑借其低功耗、高性能和靈活擴展性,成為智能制造與物聯網應用的核心載體。這類設備不僅支持Node-RED等可視化數據流工具,還能運行CODESYS工業控制平臺,滿足復雜場景下…

配置 UOS/deepin 系統遠程桌面,實現多臺電腦協同辦公

由于開發工作的需要,我的辦公桌上目前有多臺電腦。一臺是 i7 配置的電腦,運行 UOS V20 系統,作為主力辦公電腦,負責處理企業微信、OA 等任務,并偶爾進行代碼編譯和驗證軟件在 UOS V20 系統下的兼容性;另一臺…

1g內存電腦sqlite能支持多少并發

1. SQLite的并發機制 寫操作:默認使用串行鎖,同一時間僅允許一個寫操作(其他寫/讀需等待)。讀操作:支持多并發讀取,但受內存、磁盤I/O和配置限制。 2. 關鍵限制因素 (1)內存資源 …

時間數據的可視化

目錄 【實驗目的】 【實驗原理】 【實驗環境】 【實驗步驟】 【實驗總結】 【實驗目的】 掌握時間數據在大數據中的應用 掌握時間數據可視化圖表表示 利用Python程序實現堆疊柱形圖可視化 【實驗原理】 時間是一個非常重要的維度與屬性。時間序列數據存在于社會的各個…

Linux紅帽:RHCSA認證知識講解(十)使用 tar創建歸檔和壓縮文件

Linux紅帽:RHCSA認證知識講解(十)使用 tar創建歸檔和壓縮文件 前言一、歸檔與壓縮的基本概念1.1 歸檔與壓縮的區別 二、使用tar創建歸檔文件2.1 tar命令格式2.2 示例操作 三、使用tar進行壓縮3.2 命令格式3.3 示例操作 前言 在紅帽 Linux 系…

制造業數字化轉型:智能招聘系統破解藍領用工匹配難題?

近年來,中國制造業面臨一個看似矛盾的現象:一邊是“用工荒”頻發,工廠招不到足夠的技術工人;另一邊是藍領求職者抱怨“找工作難”,崗位信息不對稱、匹配效率低下。據《數智化平臺推動高質量充分就業報告2024》統計&…

解決網絡異常 repo sync 中斷下載的問題

在使用repo sync下載代碼的時候,經常由于網絡不穩定等因素導致下載失敗,采用循環不斷下載的方法,腳步如下: vim ~/bin/repo_sync #!/bin/bash trap echo "ctrlc force exit"; exit SIGINT ALL_PKGgrep project .repo/m…

《MyBatis CRUD實戰與核心配置詳解:從基礎操作到高級應用》

一、使用MyBatis完成CRUD 準備工作 創建module(Maven的普通Java模塊):mybatis-002-crud pom.xml 打包方式jar 依賴: mybatis依賴 mysql驅動依賴 junit依賴 logback依賴 mybatis-config.xml放在類的根路徑下 CarMapper.xm…

Java語言如何用AI實現文件報告的自動質檢?

文件報告的質量直接影響工作效率和決策的準確性,然而,傳統的文件質檢方式往往依賴人工審核,效率低下且容易出錯。那么,如何利用AI技術實現文件報告的自動化質檢呢? 問題1:質檢的目標是什么? 文…

es自定義ik分詞器中文詞庫實現熱更新

基于web地址的方式實現ik分詞熱更新。 操作系統:win 11 es version:8.6.2 ik version:8.6.2 1、創建web服務,并提供ik查詢詞庫接口 編寫分詞http url代碼,返回自定義分詞內容分詞詞庫數據來自業務需求,存…

鉑卡梭 智能羽翼 AI 系統:交易科技的未來引擎

突破性的 AI 交易系統 鉑卡梭(Pegasus)近期推出的 InnoFeather AI System(智能羽翼 AI 系統) 代表了金融科技領域的前沿突破。這一系統集成了先進的 機器學習算法、大數據分析 和 實時市場情緒感知,旨在幫助交易者在復雜多變的市場環境中做出更精準的決策。 智能羽翼 AI 系統的…

js中判斷對象是否包含某個屬性(元素)

在JavaScript中,判斷對象是否包含某個屬性(元素)主要有以下幾種方法,根據具體需求選擇合適的方式: 1. 使用 in 運算符 作用:檢查對象自身及原型鏈上是否存在指定屬性。 示例: javascript cons…

Anaconda和Pycharm的區別,以及如何選擇兩者

目錄 主要區別詳細說明如何選擇?Anaconda的使用步驟 主要區別 Anaconda 和 PyCharm 是 Python 開發中常用的兩個工具,但它們的定位和功能完全不同。以下是它們的主要區別: 對比項AnacondaPyCharm類型Python 發行版 包管理工具Python 集成開…

UE小:在Unreal Engine 5中實現多層靜態網格體遮擋拾取

問題描述 當需要拾取被多層靜態網格體遮擋的對象時,若所有網格體碰撞預設為BlockAll,需要通過特殊配置實現穿透檢測。 完整實現方案 1. 創建自定義追蹤通道 進入 ?項目設置(Project Settings) > 碰撞(Collision…

wireshark抓包分析數據怎么看 wireshark使用教程_wireshark怎么看

Wireshark與Sniff Master:網絡抓包工具使用指南 網絡抓包分析是開發測試和網絡故障排查中不可或缺的技能。在眾多抓包工具中,Wireshark無疑是最流行且功能強大的選擇,而Sniff Master作為后起之秀,也因其簡潔高效的特點受到許多專…

密碼學基礎——古典密碼學

目錄 一、定義 特點: 二、發展階段 三、代換密碼 1.單表代換密碼 1.1愷撒密碼 1.2 移位變換 1.3 仿射變換 2.多表代換密碼 維吉尼亞密碼 四、置換密碼 柵欄密碼 一、定義 古典密碼學是指在現代密碼學出現之前,使用較為簡單的數學方法和手工…

【案例分享】江蘇某汽車制造廠水冷式制冷站AI節能優化方案

主要訴求: 對B系統進行AI節能優化:3臺離心機1臺螺桿機板式換熱器 優化前后對比: ? 優化前:根據人工經驗判斷冷機和板換的啟停,PLC固定邏輯調節參數 ?優化后:根據冷負荷對工況進行分類,自動…

vue+springboot 新增操作,前端id傳string,后端接收為long類型,報錯類型不匹配——解決方法

我在做新增功能的時候,做了一個邏輯判斷,當前端沒有傳遞對應的id值時,為新增;有id值時,為修改 問題一、:前端idundefined,和我的需求不符合,我要id為空,不傳值。最后發現…