发布于: 9/14/2024
Cursor Rules 使开发者能够根据特定需求定制 AI 编程,提高生产力和代码质量。了解如何设置全局和项目特定规则以优化您的编码体验。
Cursor 规则:自定义 AI 行为以实现个性化编码
在 AI 辅助编码领域,Cursor 引入了一项革命性功能,称为 Cursor 规则。这一强大功能允许开发者微调 AI 的行为,创造更加个性化和高效的编码体验。让我们深入了解 Cursor 规则是什么,以及为什么它们对现代开发工作流程至关重要。
什么是 Cursor 规则?
Cursor 规则是为 Cursor 中的 AI 助手设置的自定义指令,指导其在解释代码、生成建议和回答查询时的行为。Cursor 规则主要有两种类型:
- 全局规则:在 Cursor 设置中的
General
>Rules for AI
下设置。 - 项目特定规则:在项目根目录的
.cursorrules
文件中定义。
这些规则允许您根据自己的编码风格和项目需求定制 AI 的行为。
如何使用 Cursor 规则
设置全局规则
- 打开 Cursor 设置
- 导航至
General
>Rules for AI
- 在提供的文本区域输入您的自定义指令
- 点击"保存"以应用您的全局规则
- 记得启用
include .cursorrules file
以应用项目特定规则。
全局规则示例
1. Bug Fixes:
- Analyze the problem thoroughly before suggesting fixes
- Provide precise, targeted solutions
- Explain the root cause of the bug
2. Keep It Simple:
- Prioritize readability and maintainability
- Avoid over-engineering solutions
- Use standard libraries and patterns when possible
3. Code Changes:
- Propose a clear plan before making changes
- Apply all modifications to a single file at once
- Do not alter unrelated files
Remember to always consider the context and specific requirements of each project.
创建项目特定规则
- 在项目根目录创建一个
.cursorrules
文件 - 将您的自定义指令添加到此文件中
.cursorrules
示例:
You are an expert in TypeScript, Node.js, Next.js App Router, React, Shadcn UI, Radix UI and Tailwind.
Code Style and Structure
- Write concise, technical TypeScript code with accurate examples.
- Use functional and declarative programming patterns; avoid classes.
- Prefer iteration and modularization over code duplication.
- Use descriptive variable names with auxiliary verbs (e.g., isLoading, hasError).
- Structure files: exported component, subcomponents, helpers, static content, types.
Naming Conventions
- Use lowercase with dashes for directories (e.g., components/auth-wizard).
- Favor named exports for components.
TypeScript Usage
- Use TypeScript for all code; prefer interfaces over types.
- Avoid enums; use maps instead.
- Use functional components with TypeScript interfaces.
Syntax and Formatting
- Use the "function" keyword for pure functions.
- Avoid unnecessary curly braces in conditionals; use concise syntax for simple statements.
- Use declarative JSX.
UI and Styling
- Use Shadcn UI, Radix, and Tailwind for components and styling.
- Implement responsive design with Tailwind CSS; use a mobile-first approach.
Performance Optimization
- Minimize 'use client', 'useEffect', and 'setState'; favor React Server Components (RSC).
- Wrap client components in Suspense with fallback.
- Use dynamic loading for non-critical components.
- Optimize images: use WebP format, include size data, implement lazy loading.
Key Conventions
- Use 'nuqs' for URL search parameter state management.
- Optimize Web Vitals (LCP, CLS, FID).
- Limit 'use client':
- Favor server components and Next.js SSR.
- Use only for Web API access in small components.
- Avoid for data fetching or state management.
Follow Next.js docs for Data Fetching, Rendering, and Routing.
来自 Pontus Abrahamsson 和 Cursor Directory
为什么 Cursor 规则很重要?
-
理解项目上下文:为 AI 提供关于您项目结构、技术和特定需求的关键信息。
-
自适应行为:根据 AI 的表现调整其响应,允许您随时间微调其行为。
-
错误纠正:澄清误解并引导 AI 避免常见错误,提高其建议和代码生成的准确性。
Cursor 规则入门
对于 Cursor 新手,以下是一些帮助您编写有效 Cursor 规则的提示:
-
从简单开始:从反映您即时需求或常见编码实践的基本指令开始。
-
具体明确:清晰地陈述您的偏好或要求。例如,"使用 2 个空格进行缩进"比"使用适当的缩进"更有效。
-
使用自然语言:用简单的英语编写规则。AI 设计为理解自然语言指令。
-
优先考虑重要规则:首先列出最关键的规则,因为它们对 AI 的行为影响最大。
-
迭代和完善:随着您更多地使用 Cursor,您会发现 AI 可以更有帮助的领域。相应地更新您的规则。
Cursor 规则初学者常见问题
问:我的 Cursor 规则应该有多详细?
答:从几个关键规则开始,随着您变得熟练逐渐添加更多。争取在提供足够指导和避免过于限制性指令之间取得平衡。
问:我可以使用 Cursor 规则来执行编码标准吗?
答:当然可以!Cursor 规则是确保项目或团队间一致编码标准的绝佳方式。
问:Cursor 规则会影响 AI 提供多样化解决方案的能力吗?
答:虽然规则会指导 AI,但不会完全限制其创造力。AI 仍会在您设定的边界内提供各种解决方案。
问:我应该多久更新一次 Cursor 规则?
答:定期审查和更新您的规则,尤其是在开始新项目或采用新编码实践时。
问:Cursor 规则可以帮助处理特定框架或库吗?
答:是的!您可以创建针对特定技术的规则。例如:"使用 React hooks 而不是类组件"或"遵循 Vue.js 3 组合 API 模式"。
编写 Cursor 规则的最佳实践
-
保持一致性:确保您的规则之间不相互矛盾。
-
涵盖多个方面:涉及编码风格、文档、错误处理和性能考虑。
-
包含项目特定上下文:提及重要的项目细节,如主要编程语言、框架或独特的架构决策。
-
平衡灵活性和严格性:允许 AI 在遵守您的核心原则的同时提出创新解决方案的空间。
-
使用示例:在可能的情况下,提供简短的代码片段来说明您的首选做法。
推荐资源
为了进一步增强您对 Cursor 规则的理解和使用,我们推荐探索以下资源:
-
Cursor 社区规则分享帖:一个有价值的论坛帖子,Cursor 用户在此分享和讨论他们的自定义规则,为制定有效的 AI 指令提供灵感和实际示例。
-
Cursor Directory:由社区策划的 Cursor 规则、代码片段和最佳实践的广泛集合。这个资源对于发现高级技巧和了解 AI 辅助编码的最新趋势特别有用。
这些资源可以帮助您完善 Cursor 规则并发现优化 AI 驱动开发工作流程的新方法。
-
Cursor 官方文档中关于 AI 规则的部分:直接来自 Cursor 团队的权威来源,用于理解和实施 Cursor 规则。这份文档提供了创建有效 AI 指令和充分利用 Cursor AI 功能的全面指导。
-
基础 AI 规则:我正在运行的内容(Reddit 讨论):一个社区驱动的关于 Cursor 有效基础 AI 规则的讨论,提供了实用见解和 AI 指令的真实示例。
我们建议探索这个资源,以获取您自己的 Cursor 规则灵感,并了解其他开发者如何利用 AI 改进他们的编码工作流程。