CursorClaudeCursor 设置Cursor 配置Cursor 用法Cursor Rules

Cursor 设置完整指南 - 快捷键、模型、Rules、隐私、自定义

Cursor 设置项繁多,本文系统讲清模型设置、快捷键、Cursor Rules、隐私模式、Codebase Index、Maven 等项目配置、禁用功能、VS Code 设置导入等关键配置。

· 阅读约 19 分钟

Cursor 设置 是新用户最容易忽视、又最影响使用效率的部分。同样一份 Cursor,有人配置完之后写代码像有了第二大脑,有人天天被 Tab 弹窗烦死还到处找不到入口。本文把 Cursor 的设置体系拆成 8 个板块讲清:模型、快捷键、Rules、隐私、索引、语言配置、禁用项、VS Code 迁移。

前提说明:Cursor 版本迭代非常快,UI 入口和字段名可能变动,本文里的路径以当前主流版本为准,实际以官方为准

Cursor 设置入口

Cursor 的设置有两类入口,常常被混淆。

入口 1:Settings UI(Cursor 自家的图形界面)

Cmd-Comma (Mac) / Ctrl-Comma (Windows/Linux)

或者点左下角齿轮图标 → Settings。打开的是 Cursor 专属设置面板,管理:

  • 模型选择
  • API key
  • Cursor Tab / Composer / Agent 开关
  • Privacy Mode
  • Codebase Index
  • Rules

入口 2:VS Code 风格 settings.json

Cmd-Shift-P (Mac) / Ctrl-Shift-P (Windows/Linux)
→ "Preferences: Open User Settings (JSON)"

打开的是底层 JSON 配置,跟 VS Code 几乎一样。Cursor 在 VS Code 基础上额外加了 cursor.* 命名空间的配置项。

用户级 vs 项目级

层级路径适合
用户级~/Library/Application Support/Cursor/User/settings.json (Mac) / %APPDATA%\Cursor\User\settings.json (Win)全局偏好
项目级项目根目录下 .vscode/settings.json这个项目专属
项目级 Rules项目根目录下 .cursorrules.cursor/rules/AI 行为约束

项目级覆盖用户级,这是 VS Code 的常识。


模型设置

Default Model 怎么切

Settings → Models → Default Model: [下拉] → Claude Sonnet 4.6

Default Model 影响 Cmd-K、Cmd-L、Composer 默认调用的模型。Cursor Tab 不受这里影响(Tab 用 Cursor 自研模型,详见 Cursor Tab 是什么)。

启用 / 禁用具体模型

Settings → Models → 模型列表
  - Claude Sonnet 4.6  [开关]
  - Claude Opus 4.6    [开关]
  - Claude Haiku 4.6   [开关]
  - GPT-4o             [开关]
  - Gemini Pro         [开关]

关掉的模型不会出现在 Chat 底部的选择器里,减少误选。

Cursor Pro vs API Key 区别

Cursor ProBYOK (API Key)
谁付费你订阅 Cursor你直接付 Anthropic / OpenAI
配额Cursor 定义的快/慢请求API 平台的 token 配额
高级功能全部解锁部分功能可能受限
隐私受 Cursor 政策受模型平台政策
国内便利度支付难,网络要稳API key 可中转,更灵活

国内开发者两种方式的详细操作见 Cursor 国内使用 Claude

各模型在 Cmd-K / Chat / Composer 里的可用性

模型Cmd-KChatComposer / Agent
Claude Opus 4.6是(Pro)
Claude Sonnet 4.6
Claude Haiku可能受限
GPT-4 / 4o
Gemini部分版本支持
cursor-small

具体能不能在 Agent 里用,以你账号档位 + 当前版本为准。


快捷键设置

默认快捷键速查表

操作MacWindows/Linux
接受 Tab 补全TabTab
拒绝 Tab 补全EscEsc
内联改代码Cmd-KCtrl-K
打开 Chat 侧栏Cmd-LCtrl-L
打开 ComposerCmd-ICtrl-I
把选区发到 ChatCmd-Shift-LCtrl-Shift-L
添加文件到 Chat 上下文Cmd-Shift-P → “Add to Chat”Ctrl-Shift-P → “Add to Chat”
重新生成Cmd-Shift-R (在 Chat 里)Ctrl-Shift-R
接受 Composer 全部改动Cmd-EnterCtrl-Enter
命令面板Cmd-Shift-PCtrl-Shift-P
切换 sidebarCmd-BCtrl-B
集成终端Cmd-`Ctrl-`

怎么改快捷键(keybindings.json)

跟 VS Code 完全同源:

Cmd-Shift-P / Ctrl-Shift-P → "Preferences: Open Keyboard Shortcuts (JSON)"

打开 keybindings.json,典型片段:

[
  {
    "key": "cmd+k cmd+i",
    "command": "cursor.composer.open",
    "when": "editorTextFocus"
  },
  {
    "key": "ctrl+shift+l",
    "command": "cursor.chat.addSelectionToChat",
    "when": "editorHasSelection"
  }
]

改成 IntelliJ / Vim 习惯

IntelliJ keymap 插件:

Extensions → 搜 "IntelliJ IDEA Keybindings" → Install

VS Code Marketplace 的 IntelliJ keybindings 插件在 Cursor 里直接能装,装完所有 IDE 快捷键变成 IntelliJ 风格,但 Cursor 自家的 AI 快捷键(Cmd-KCmd-LCmd-I)需要再 review 一遍,有些会被 IntelliJ map 覆盖。

Vim 模式:

Extensions → 搜 "Vim" (VSCodeVim) → Install

注意 Vim 插件可能跟 Cursor 的 Esc 退出 Tab 补全冲突,先按 Esc 是退出 Tab 预览,再按 Esc 才进入 Vim normal 模式


Cursor Rules

Rules 是 Cursor 最被低估的功能。它的本质是在每次 AI 调用前自动塞进 system prompt 的上下文,影响 Claude / GPT 的行为。

用户级 Rules

Settings → Rules → User Rules

写在这儿的内容对所有项目生效。适合放:

  • 你的编程偏好(“用 TypeScript 严格模式”、“不要写注释除非函数复杂”)
  • 通用的禁忌(“不要无理由用 any”、“测试用 vitest 不要用 jest”)

项目级 Rules

两种写法,新版推荐第二种。

写法 A(旧):项目根目录建 .cursorrules 文件

# .cursorrules

这是一个 Next.js 15 + TypeScript + Tailwind 项目。
- 组件用 function 不要用 class
- API route 用 app router 的 route.ts 写
- 数据库是 PostgreSQL,通过 Prisma 访问
- 不要在 client component 里调 process.env

写法 B(新):.cursor/rules/ 目录下放多个 .mdc 文件

.cursor/
  rules/
    typescript.mdc       # TypeScript 相关
    api.mdc              # API 设计
    db.mdc               # 数据库相关

每个 .mdc 文件可以用 frontmatter 控制何时生效:

---
description: 数据库访问规则
globs: ["**/db/**/*.ts", "**/prisma/**/*.ts"]
---

- 所有 Prisma 查询必须 select 字段,不要返回整表
- 写入用 transaction 包裹

Rules 写作建议

:每条 Rule 一句话能讲清楚就一句话,不要写小作文。 可验证:“代码必须通过 eslint” 比 “代码要好看” 强一万倍。 不要矛盾:User Rules 写”用 TypeScript”,项目 Rules 写”这是 JS 项目”——会让 AI 抓瞎。 用反例:“不要用 default export” 比 “用 named export” 更管用,因为默认行为是 default export。 别太长:Rules 总长度建议 < 1500 token,太长会挤掉用户实际的请求上下文。

与 Claude Code CLAUDE.md 的呼应

Claude Code 用项目根目录的 CLAUDE.md 做项目记忆。Cursor 的 .cursorrules / .cursor/rules/CLAUDE.md两套独立机制,但你完全可以让它们内容一致——把 CLAUDE.md 软链或复制成 .cursorrules,这样两个工具看的是同一份项目宪法,行为一致性大幅提升。


隐私 / Privacy Mode

数据是否会被训练

Cursor 政策(以官方为准):

  • Privacy Mode 关:可能用于改进 Cursor 服务(Cursor 文档明示是否含训练)
  • Privacy Mode 开:不持久化、不用于训练

开启方式

Settings → Privacy → Privacy Mode: Enabled

Business / Enterprise 套餐默认开启。

企业开启 SSO + Privacy

Admin Dashboard (cursor.com/team)
→ SSO Settings: 配置 SAML / OIDC
→ Privacy Mode: 强制开启
→ Data Retention: 设置保留期

企业级配置完成后:

  • 团队成员登录走 SSO(统一身份管理)
  • 所有人代码自动走 Privacy Mode
  • 离职后访问立即收回

注意 BYOK 模式下数据走自己 API key,不受 Cursor Privacy 限制,要看 Anthropic / 中转服务自己的政策。


Codebase Index

索引是什么

Cursor 启动时会扫描项目文件,生成向量索引,这样 Chat / Composer / Tab 才能”看到”你整个项目。没索引的话 AI 只能看到当前打开的文件。

什么时候要 Rebuild

  • 新打开一个仓库,看到状态 “Not indexed”
  • 大批量删除 / 重命名文件后,索引可能过时
  • 切了分支,文件结构变了
  • AI 老引用不存在的文件,说明索引有脏数据
Settings → Features → Codebase Indexing → Rebuild Index

大仓库索引建议

仓库规模处理
< 1 万文件默认配置即可
1-10 万文件.cursorignore 排除 node_modulesdistbuild*.lock
10 万+拆分子工作区,只 index 必要部分

.cursorignore 示例:

node_modules/
dist/
build/
.next/
coverage/
*.log
*.min.js
*-lock.yaml

特定语言 / 工具配置

让 Cursor 识别 Maven / Gradle 项目结构

Cursor 本身是 VS Code 内核,Java 支持靠扩展。cursor 配置 maven 的步骤:

1. 安装 Extension Pack for Java(微软官方扩展包)
2. 打开 pom.xml 所在目录作为工作区
3. Settings → 搜 "java.configuration.maven"
4. 配置 Maven user settings 路径:

settings.json:

{
  "java.configuration.maven.userSettings": "~/.m2/settings.xml",
  "java.maven.downloadSources": true,
  "java.format.settings.url": "eclipse-formatter.xml"
}

Gradle 类似:装 Gradle for Java 扩展,Cursor 会自动识别 build.gradle

为了让 AI 理解 Maven 多模块项目,在 .cursorrules 里加上:

本仓库是 Maven 多模块项目:
- parent: pom.xml 定义全局依赖管理
- core: 核心业务逻辑,不要在这里写 Spring 配置
- api: Spring Boot 启动模块,接口层
- 测试用 JUnit 5,不要用 JUnit 4 写法

Python 项目 Rules 模板

本项目是 FastAPI + SQLModel:
- Python 版本 3.11+
- 用 ruff 做 lint,不用 flake8
- 用 pytest 不用 unittest
- 异步函数用 async def,数据库访问全异步
- pydantic v2 语法,不要写 v1 的 @validator
- 类型注解严格,函数签名必须标返回类型

settings.json 配套:

{
  "python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
  "python.analysis.typeCheckingMode": "strict",
  "[python]": {
    "editor.defaultFormatter": "charliermarsh.ruff",
    "editor.formatOnSave": true
  }
}

Node 项目 Rules 模板

本项目是 Next.js 15 + TypeScript:
- App Router,不用 pages router
- 服务端组件优先,用 "use client" 标客户端组件
- 状态管理用 zustand
- 表单用 react-hook-form + zod
- API 用 server actions,REST 风格,不要 tRPC

Go 项目 Rules 模板

本项目是 Go 1.22:
- 用 net/http 标准库,不引入 gin / fiber
- 错误处理显式,不要用 panic
- context.Context 必须作为第一个参数
- goroutine 必须配合 context 取消
- 测试用 testing 包,不用 testify

禁用功能 / 性能优化

禁用 Tab(在某些项目里太吵)

全局:

Settings → Features → Cursor Tab → 关闭

只在特定项目里:

项目根 .vscode/settings.json:

{
  "cursor.tab.enabled": false
}

禁用 Codebase Index(超大仓库 / 隐私要求)

Settings → Features → Codebase Indexing → Disable

代价:Chat / Composer 不能跨文件搜代码,只能基于当前打开的文件。

禁用某个 Linter / Agent 工具

Composer / Agent 模式里,Cursor 会自动跑一些工具(ESLint、Prettier、TypeScript Server 等)。如果某个工具一直误报:

Extensions → 找到对应扩展 → Disable (Workspace)

或者在 Rules 里写:

不要尝试运行 ESLint,我们用 oxlint。

禁用遥测 / 自动更新

{
  "telemetry.telemetryLevel": "off",
  "update.mode": "manual"
}

导入 VS Code 设置

新装 Cursor 时,首次启动会问”要不要从 VS Code 导入”。错过这一步的话,手动来:

方法 1:命令面板

Cmd-Shift-P / Ctrl-Shift-P → "Cursor: Import VSCode Settings and Extensions"

Cursor 会把 VS Code 的 settings.json、keybindings.json、扩展列表全部复制过来。

方法 2:手动同步 settings.json

# VS Code 位置
~/Library/Application Support/Code/User/settings.json    # Mac
%APPDATA%\Code\User\settings.json                          # Windows

# Cursor 位置
~/Library/Application Support/Cursor/User/settings.json   # Mac
%APPDATA%\Cursor\User\settings.json                        # Windows

直接复制粘贴。注意 Cursor 自己的 cursor.* 配置项不会在 VS Code 里有,只能保留。

方法 3:Settings Sync

如果你 VS Code 开了 Settings Sync(微软账号同步),Cursor 也支持登录同一个微软账号同步,但需要装 “Settings Sync” 扩展并手动配置(VS Code 内置的同步在 Cursor 里默认是禁用的)。


一组实用的 settings.json 推荐

{
  "editor.fontFamily": "JetBrains Mono, 'Microsoft YaHei Mono', monospace",
  "editor.fontSize": 14,
  "editor.lineHeight": 1.6,
  "editor.tabSize": 2,
  "editor.formatOnSave": true,
  "editor.codeActionsOnSave": {
    "source.fixAll": "explicit",
    "source.organizeImports": "explicit"
  },
  "files.autoSave": "onFocusChange",
  "files.trimTrailingWhitespace": true,
  "files.insertFinalNewline": true,
  "workbench.colorTheme": "Default Dark Modern",
  "workbench.startupEditor": "none",
  "terminal.integrated.defaultProfile.osx": "zsh",
  "terminal.integrated.defaultProfile.windows": "PowerShell",
  "cursor.cmdK.useThemedDiffBackground": true,
  "cursor.diffs.useCharacterLevelDiffs": true,
  "cursor.composer.collapsePaneInputBoxPills": true,
  "cursor.tab.enabled": true,
  "cursor.chat.alwaysSearchWeb": false
}

FAQ

设置改了不生效怎么办

按这个顺序排查:

  1. JSON 语法错误(缺逗号、多逗号)—— Cursor 右下角会有提示
  2. 项目级覆盖了用户级 —— 检查 .vscode/settings.json
  3. 扩展强制覆盖 —— 临时禁用所有扩展看是不是某个扩展的锅
  4. 重启 Cursor

Cursor 设置和 VS Code 设置能同时存在吗

能,两者完全独立,各自的 settings.json 互不影响。

怎么把项目 Rules 同步给团队

.cursorrules.cursor/rules/ 直接 commit 到 git,克隆下来自动生效。注意不要把私人偏好(快捷键、字体)放 Rules,Rules 是给 AI 看的不是给 IDE 看的。

改了 Rules 要不要重启

不用,下一次 AI 调用就会用新的 Rules。

Cursor 设置文件能不能跨设备同步

可以,把 settings.json 和 keybindings.json 放进自己的 dotfiles 仓库,新机器 clone 下来软链到对应位置即可。也可以用 Settings Sync 扩展。

Pro 订阅和 BYOK 能同时用吗

可以。Pro 给”高级模型 + 高级功能”,BYOK 在 Settings 里填 API key 后,可以在某些场景下走自己的 key。具体哪些场景用哪个,Cursor 当前版本可能不允许细粒度切换——以官方为准

Rules 写多了 AI 会不会变笨

会。Rules 加进 system prompt 占 token,token 越多模型注意力越分散。建议 Rules < 1500 token,真正重要的事情放 Rules,细节让 AI 自己看代码。


推荐阅读

Cursor 设置体系版本迭代快,UI 入口和字段名可能跟本文有出入,以 Cursor 官方文档为准。