Cursor 101

发布于: 9/14/2024

Cursor Rules 使开发者能够根据特定需求定制 AI 编程,提高生产力和代码质量。了解如何设置全局和项目特定规则以优化您的编码体验。

Cursor 规则:自定义 AI 行为以实现个性化编码

在 AI 辅助编码领域,Cursor 引入了一项革命性功能,称为 Cursor 规则。这一强大功能允许开发者微调 AI 的行为,创造更加个性化和高效的编码体验。让我们深入了解 Cursor 规则是什么,以及为什么它们对现代开发工作流程至关重要。

什么是 Cursor 规则?

Cursor 规则是为 Cursor 中的 AI 助手设置的自定义指令,指导其在解释代码、生成建议和回答查询时的行为。Cursor 规则主要有两种类型:

  1. 全局规则:在 Cursor 设置中的 General > Rules for AI 下设置。
  2. 项目特定规则:在项目根目录的 .cursorrules 文件中定义。

这些规则允许您根据自己的编码风格和项目需求定制 AI 的行为。

如何使用 Cursor 规则

设置全局规则

  1. 打开 Cursor 设置
  2. 导航至 General > Rules for AI
  3. 在提供的文本区域输入您的自定义指令
  4. 点击"保存"以应用您的全局规则
  5. 记得启用 include .cursorrules file 以应用项目特定规则。

Cursor 全局 AI 规则

全局规则示例

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.

创建项目特定规则

  1. 在项目根目录创建一个 .cursorrules 文件
  2. 将您的自定义指令添加到此文件中

.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 AbrahamssonCursor Directory

为什么 Cursor 规则很重要?

  1. 理解项目上下文:为 AI 提供关于您项目结构、技术和特定需求的关键信息。

  2. 自适应行为:根据 AI 的表现调整其响应,允许您随时间微调其行为。

  3. 错误纠正:澄清误解并引导 AI 避免常见错误,提高其建议和代码生成的准确性。

Cursor 规则入门

对于 Cursor 新手,以下是一些帮助您编写有效 Cursor 规则的提示:

  1. 从简单开始:从反映您即时需求或常见编码实践的基本指令开始。

  2. 具体明确:清晰地陈述您的偏好或要求。例如,"使用 2 个空格进行缩进"比"使用适当的缩进"更有效。

  3. 使用自然语言:用简单的英语编写规则。AI 设计为理解自然语言指令。

  4. 优先考虑重要规则:首先列出最关键的规则,因为它们对 AI 的行为影响最大。

  5. 迭代和完善:随着您更多地使用 Cursor,您会发现 AI 可以更有帮助的领域。相应地更新您的规则。

Cursor 规则初学者常见问题

问:我的 Cursor 规则应该有多详细?

答:从几个关键规则开始,随着您变得熟练逐渐添加更多。争取在提供足够指导和避免过于限制性指令之间取得平衡。

问:我可以使用 Cursor 规则来执行编码标准吗?

答:当然可以!Cursor 规则是确保项目或团队间一致编码标准的绝佳方式。

问:Cursor 规则会影响 AI 提供多样化解决方案的能力吗?

答:虽然规则会指导 AI,但不会完全限制其创造力。AI 仍会在您设定的边界内提供各种解决方案。

问:我应该多久更新一次 Cursor 规则?

答:定期审查和更新您的规则,尤其是在开始新项目或采用新编码实践时。

问:Cursor 规则可以帮助处理特定框架或库吗?

答:是的!您可以创建针对特定技术的规则。例如:"使用 React hooks 而不是类组件"或"遵循 Vue.js 3 组合 API 模式"。

编写 Cursor 规则的最佳实践

  1. 保持一致性:确保您的规则之间不相互矛盾。

  2. 涵盖多个方面:涉及编码风格、文档、错误处理和性能考虑。

  3. 包含项目特定上下文:提及重要的项目细节,如主要编程语言、框架或独特的架构决策。

  4. 平衡灵活性和严格性:允许 AI 在遵守您的核心原则的同时提出创新解决方案的空间。

  5. 使用示例:在可能的情况下,提供简短的代码片段来说明您的首选做法。

推荐资源

为了进一步增强您对 Cursor 规则的理解和使用,我们推荐探索以下资源:

  • Cursor 社区规则分享帖:一个有价值的论坛帖子,Cursor 用户在此分享和讨论他们的自定义规则,为制定有效的 AI 指令提供灵感和实际示例。

  • Cursor Directory:由社区策划的 Cursor 规则、代码片段和最佳实践的广泛集合。这个资源对于发现高级技巧和了解 AI 辅助编码的最新趋势特别有用。

这些资源可以帮助您完善 Cursor 规则并发现优化 AI 驱动开发工作流程的新方法。

我们建议探索这个资源,以获取您自己的 Cursor 规则灵感,并了解其他开发者如何利用 AI 改进他们的编码工作流程。