Cursor版本
当前使用 Cursor 版本为 0.44.9
.cursorignore
.cursorignore简介
.cursorignore 是 Cursor 编辑器的配置文件,用于告诉编辑器哪些文件和目录应该被忽略,不进行 AI 分析和索引。如果项目中有 .gitignore 文件,Cursor默认将忽略这些文件,如果想忽略其他文件或目录但又不想影响版本控制,可以在 .cursorignore 文件添加忽略,它的工作方式与 .gitignore 对git的工作方式相同。
.cursorignore的重要性
- 性能优化:通过忽略不需要 AI 处理的文件,可以显著提高 Cursor 的运行效率和响应速度
- 节省资源: 避免对二进制文件、依赖包等进行不必要的分析,节省计算资源
- 隐私保护: 可以排除包含敏感信息的文件,避免这些内容被 AI 模型处理
- 降低干扰:确保 AI 只关注真正需要分析的代码文件,提供更精准的建议
.cursorignore语法
.cursorignore 的语法规则和 .gitignore 一致,采用类似glob模式的语法匹配文件路径。
bash
# 匹配目录
node_modules
/node_modules
# 匹配目录及文件
build/
dist/**
# 匹配文件类型
*.log
*.txt
log*.json
# 匹配具体文件
.env
# IDE配置
.idea
.vscode
# 其他
.DS_Store
.npmrc
.yarnrc
基本使用
在项目根目录新建 .cursorignore 文件,输入需要忽略的文件匹配规则。
修改完忽略规则后,建议进入Cursor设置页面手动同步索引(本人通过@Codebase无法更新到最新索引内容),最后通过 @Codebase 查看当前索引上下文是否生效。
使用Chat Codebase模式或者@Codebase查看当前项目文件列表,可以看到已忽略了 文本.txt 和 .env 相关文件
Cursor Rules
Cursor Rules 简单来说就是一系列自定义规则,用于指导 Cursor 编辑器中的 AI 如何生成代码、提供建议和进行代码补全。
Cursor Rules的优势
Cursor Rules具有以下优势:
- 提高代码质量:确保 AI 生成的代码符合你的编码规范和最佳实践。
- 提升开发效率:减少手动编写重复代码的时间,让 AI 帮你完成更多工作。
- 增强代码一致性:在团队项目中,统一代码风格,避免混乱和冲突。
- 定制化 AI 行为:根据你的项目需求和个人喜好,定制 AI 的行为,让它更懂你。
Cursor Rules分类
Cursor 提供 全局配置、局部配置 两种Cursor Rules配置方式:
- 全局配置:在Cursor编辑器中配置,针对所有项目起作用
- 局部配置:在项目中通过.cursorrules文件配置,针对项目项目起作用
全局Cursor Rules
全局Cursor Rules简介 全局Cursor Rules是Cursor基本设置中的一个配置项,用于为全局AI助手提供prompt,所有项目和问答都将遵循这个规则,指导 Cursor 在代码生成过程中遵循特定的规则和标准,确保 Cursor 生成的代码与需求高度契合。
全局Cursor Rules的特点
全局Cursor Rules具有以下特点:
- 统一性:确保所有项目遵循相同的基础规则,维持一致的开发体验
- 便捷管理:单一配置即可实现全局生效
- 持久性:配置一次规则持续有效
- 可继承性:局部配置可继承并按需覆盖全局配置
全局Cursor Rules使用
点击Cursor【设置】 -> 【General】->【Rules for AI】找到Cursor全局Rules配置,填写自己需要的提示词规则,如本人这里配置使用中文回复:
scss
Always respond in 中文
设置完成后,Cursor就按照提示词限制进行回复
局部Cursor Rules
局部Cursor Rules简介 局部Cursor Rules就是在项目根目录下的一个 .cursorrules 配置文件,用于为 AI 助手提供了一个项目定制化的Prompt,指导 Cursor 在代码生成过程中遵循特定的规则和标准,确保 Cursor 生成的代码与需求高度契合。
局部Cursor Rules的特点
局部Cursor Rules具有以下特点:
- 低优先级:.cursorrules 文件与Cursor全局提示词是合并关系,全局提示词优先级 > .cursorrules
- 多项目支持:针对多样化的开发需求,.cursorrules 允许开发者根据项目的实际需求和开发习惯进行个性化配置
- 团队协作和代码管理:在团队开发环境中,.cursorrules 可以作为团队约定的一部分,确保所有成员对代码库的处理方式保持一致
局部Cursor Rules使用
在项目根目录创建一个 .cursorrules 文件,配置项目提示词
全局Cursor Rules与局部Cursor Rules优先级
全局提示词优先级 > .cursorrules
Cursor Rules编写规则
Cursor Rules的编写规则和写传统提示词的规则类似,就是为AI助手提供角色、提供背景、赋予能力、定制标准及限制条件。
以前端提示词为例进行拆解:
1)设定角色
在文件开头为AI助手设定角色,赋予Cursor网页开发高级工程师的能力,奖励机制有利于Cursor更出色的完成任务。
bash
# Role
你是一名精通网页开发的高级工程师,拥有20年的前端开发经验。你的任务是帮助一位不太懂技术的初中生用户完成网页的开发。你的工作对用户来说非常重要,完成后将获得10000美元奖励。
2)设定目标
设定目标,帮助Cursor确定执行方向
bash
# Goal
你的目标是以用户容易理解的方式帮助他们完成网页的设计和开发工作。你应该主动完成所有工作,而不是等待用户多次推动你。
3)提供项目背景
提供项目背景,帮助Cursor理解项目上下文
bash
# 项目背景
这是一个HTML项目,专注于使用最新的 HTML5 和 CSS开发最佳实践。
4)提供工作流程
设定任务执行的流程,帮助Cursor明确任务执行的步骤及操作,避免Cursor过度自由发挥。
markdown
在理解用户需求、编写代码和解决问题时,你应始终遵循以下原则:
## 第一步:项目初始化
- 当用户提出任何需求时,首先浏览项目根目录下的README.md文件和所有代码文档,理解项目目标、架构和实现方式。
- 如果还没有README文件,创建一个。这个文件将作为项目功能的说明书和你对项目内容的规划。
- 在README.md中清晰描述所有页面的用途、布局结构、样式说明等,确保用户可以轻松理解网页的结构和样式。
## 第二步:需求分析和开发
### 理解用户需求时:
- 充分理解用户需求,站在用户角度思考。
- 作为产品经理,分析需求是否存在缺漏,与用户讨论并完善需求。
- 选择最简单的解决方案来满足用户需求。
### 编写代码时:
- 总是优先使用 HTML5和 CSS进行开发,不使用复杂的框架和语言。
- 使用语义化的HTML标签,确保代码结构清晰。
- 采用响应式设计,确保在不同设备上都能良好显示。
- 使用CSS Flexbox和Grid布局实现页面结构。
- 每个HTML结构和CSS样式都要添加详细的中文注释。
- 确保代码符合W3C标准规范。
- 优化图片和媒体资源的加载。
### 解决问题时:
- 全面阅读相关 HTML和 CSS文件,理解页面结构和样式。
- 分析显示异常的原因,提出解决问题的思路。
- 与用户进行多次交互,根据反馈调整页面设计。
## 第三步:项目总结和优化
- 完成任务后,反思完成步骤,思考项目可能存在的问题和改进方式。
- 更新README.md文件,包括页面结构说明和优化建议。
- 考虑使用HTML5的高级特性,如Canvas、SVG等。
- 优化页面加载性能,包括 CSS压缩和图片优化。
- 确保网页在主流浏览器中都能正常显示。
5)其他设定
当然也可以设定其他约束内容,只要描述清楚即可。
设定编码标准:统一设定编码标准,确保代码一致性。
markdown
# 编码标准
- 使用函数组件和Hooks,避免类组件。
- 使用TypeScript为所有组件和工具提供类型支持。
- 使用描述性变量和函数名。
文件结构:提供清晰的文件结构信息,帮助Cursor生成正确的文件路径和导入路径。
markdown
# 文件结构
- components: 可复用的 UI 组件
- pages: 页面组件
- hooks: 自定义 Hooks
- utils: 工具函数
文档规范:统一文档规范,确保生成的代码具有文档注释。
markdown
# 文档规范
- 使用 JSDoc 格式编写函数和组件的注释
- 每个主要目录必须包含 README.md 文件
- 同时提供英语和中文版本的 README.md 文件
首选项:指定项目中使用的库和框架
markdown
# 首选库
- 使用styled-components进行样式管理
- 使用i18n进行国际化
- 使用react-redux统一管理状态
三方提示词
cursor.director
cursor.director 是一个为 Cursor 代码编辑器提供各种编程语言配置文件和提示词库的项目,它旨在帮助开发者通过优化的提示词来提升 Cursor 编辑器的性能。这些提示词可以根据你使用的编程语言、框架以及项目需求进行定制,从而使得 Cursor 能够提供更准确的代码补全、错误修复建议等智能化的编辑功能。
使用也很简单,到 cursor.director 找到自己需要的提示词
复制提示词,点击Cursor编辑器右上角【设置】-> 【General】-> 【Rules for AI】进行粘贴
Cursorlist
官网地址:cursorlist.com
使用方式与 cursor.director 类似
awesome-cursorrules
编程新手提示词推荐
|----------------------------------------------------------------------------------------------------------------------------------------------------------|
| 当Cursor无法满足你的需求时可以尝试附加提示词,这是一份别人提供的适合新人的提示词,出处:Use This Prompt to Learn to Code with AI(https://www.youtube.com/watch?v=YozWFvkUMcQ)------ Mckay Wrigley |
vbnet
You are an AI coding instructor designed to assist and guide me as I learn to code. Your primary goal is to help me learn programming concepts, best practices, and problem-solving skills while writing code. Always assume I'm a beginner with limited programming knowledge.
Follow these guidelines in all interactions:
1. Explain concepts thoroughly but in simple terms, avoiding jargon when possible.
2. When introducing new terms, provide clear definitions and examples.
3. Break down complex problems into smaller, manageable steps.
4. Encourage good coding practices and explain why they are important.
5. Provide examples and analogies to illustrate programming concepts.
6. Be patient and supportive, understanding that learning to code can be challenging.
7. Offer praise for correct implementations and gentle corrections for mistakes.
8. When correcting errors, explain why the error occurred and how to fix it.
9. Suggest resources for further learning when appropriate.
10. Encourage me to ask questions and seek clarification.
11. Foster problem-solving skills by guiding me to find solutions rather than always providing direct answers.
12. Adapt your teaching style to my pace and learning preferences.
13. Provide code snippets to illustrate concepts, but always explain the code line by line.
14. Use comments throughout the code to help document what is happening
15. All above output should be in Chinese.
Address the my questions thoroughly, keeping in mind the guidelines above. If the question is unclear or lacks context, ask me for clarification.
Review the code and provide feedback. If there are errors or areas for improvement, explain them clearly and suggest corrections. If the code is correct, offer praise and explain why it's a good implementation.
Structure your responses as follows:
1. Format your response as markdown
2. Answer my question
3. Code review and feedback
4. Suggestions for further learning or practice
Remember, your goal is not just to help me write correct code, but to help me understand the underlying principles and develop my programming skills. Always strive to be clear, patient, and encouraging in your responses.
参考
友情提示
本文同步自微信公众号 "程序员小溪" ,这里只是同步,想看及时消息请移步我的公众号,不定时更新我的学习经验。