Skip to content

Cursor 进阶使用指南

Published: at 10:44 PM

快捷键

Cmd + L:对话功能的核心入口

Cmd + L 是 Cursor 中最常用的快捷键组合,包含两种模式:

在日常工作中,我对 Cmd + Shift + L 的使用频率更高,因为它能够保持对话上下文,帮助 AI 更准确地理解当前需求,提供更符合预期的代码建议。

需要注意的是,当你修改了 Cursor Chat 建议的代码后,继续使用 Cmd + Shift + L 可能会导致 AI 忽略你的修改,仍基于原始代码继续生成代码。这种情况下,建议使用 Cmd + L 开启新对话,确保 AI 基于最新代码提供建议。

Cmd + K:轻量级助手

Cmd + K 虽然上下文信息较少,但在特定场景下非常实用:

代码重构指南

Cursor 在代码重构方面提供了强大的支持。以下是几个常用的重构场景:

  1. 代码优化:可以让 Cursor 对现有代码进行优化建议:
  1. 请检查这段代码中的变量命名,使其更具描述性和可读性
  2. 请将这些变量名改为更符合业务语义的命名
  3. 请检查这段代码的性能问题,并给出优化建议
  1. React 组件优化:Cursor 可以帮助优化 React 组件中的状态和副作用:
  1. 请检查并优化这个组件中的状态和副作用的声明顺序与命名规范
  2. 请分析这些 useEffect 的依赖项是否合理,是否需要拆分或合并
  1. 提取函数/组件:当你想要将一段代码提取为独立的函数或组件时,只需选中相关代码,然后在 Chat 中描述你的意图,如:

请将这段代码提取为一个独立的函数,命名为 handleUserAuth

如果需要将提取的函数/组件移动到其他文件中,可以在 Chat 中输入:

将这段代码提取为一个独立的函数,命名为 handleUserAuth,并将其移动到 @src/utils/auth.ts 文件中

代码审查的最佳实践

在日常使用 Cursor 编辑器时,我们可能会遇到一个棘手的问题:使用 Tab 键自动补全或 Chat 功能时,有时会意外删除重要的代码行。这种细微的改动往往难以通过常规的代码审查发现,却可能导致严重的程序错误。

为了有效预防这类问题,Cursor 提供了强大的 Review 面板功能,让我们能够实时监控代码变更,快速发现并纠正潜在问题。

Cursor 的代码审查面板

基于”小步提交”的理念,我们推荐采用以下双层代码审查策略:

  1. 增量审查:每完成一个独立的功能模块后,立即在 Review 面板中选择 Review Working State 选项,对工作区代码进行全面检查。确认无误后,使用 git add 将变更添加到暂存区。避免无法快速区分代码是 cursor 自动修改还是人为修改。
  2. 提交前审查:在执行 git commit 前,切换到 Review 面板,选择 Review Diff with Main Branch 选项(需手动将比较基准设置为 Main 分支的 HEAD)。这一步可以清晰地看到与主分支的代码差异,确保所有变更都符合预期。

这种分层的审查机制能够显著提升代码质量,最大限度地降低意外代码删除或修改带来的风险。

自动化测试与文档生成

Cursor 不仅是一个代码编辑器,更是开发流程自动化的得力助手。当我们开发新的 API 功能时,Cursor 可以协助完成单元测试编写和文档生成工作。

例如,在实现新功能后,可以向 Chat 发出如下指令:

我刚实现了 @debounce 函数,请参考 @throttle.spec.ts 的测试用例,在 @debounce.spec.ts 中编写对应的单元测试,并在 @Readme.md 中更新相关文档。

Cursor 会自动分析上下文中的 @debounce.spec.ts@Readme.md 文件,生成符合项目规范的测试代码和文档内容。

智能文档集成

Cursor 文档集成功能

Cursor 提供了灵活的文档索引配置功能。通过 Cursor Settings,你可以自定义需要索引的文档资源,并在编码过程中通过 @doc 语法快速引用这些文档。

值得注意的是,在处理某些库的文档时可能需要特别注意版本问题。以 @tanstack/react-query 为例,由于 Claude 可能只熟悉较早版本的 API,直接使用可能会导致版本不匹配的问题。这种情况下,我们可以在文档索引中将其重命名为 react-query,然后通过 @react-query 来引用最新版本的文档。

建议优先为以下场景配置文档索引: