拒绝上下文撕裂!Cursor 管理前后端分离项目的最佳实践 (多根工作区+防坑指南)

最近在实习中接手了一个标准的 Java 后端 (Spring Boot) + Vue 前端 分离的项目。作为习惯了使用 Cursor 和 Claude 4.7 进行“Vibecoding”的开发者,我立刻遇到了一个痛点:

如何让 AI 同时理解前端和后端代码,实现跨项目的自动联调,同时又绝对不污染公司的 Git 代码库?

如果你直接用 Cursor 打开存放前后端代码的父文件夹,AI 的上下文会被各种同级无关文件严重污染;如果分别单独打开,AI 又会变成“瞎子”,无法追踪前端 API 请求对应的后端 Controller 逻辑。

经过摸索,我总结出了一套基于 多根工作区 (Multi-root Workspace) + .cursorignore 隐身法 的最佳实践方案,零成本打通全栈任督二脉。


核心方案:构建“多根工作区”

不要去动操作系统的目录链接,也不要粗暴地打开全局父文件夹。VS Code/Cursor 原生支持的多根工作区才是企业级开发的最优解。

它可以把散落在硬盘各处的独立文件夹“拼装”到一个窗口中,既能让 AI 拥有全局视野,又能完美保持各自 Git 仓库的独立性。

实操步骤:

  1. 单独打开后端:在 Cursor 中,先通过 File -> Open Folder 打开后端项目(例如 D:\work\shiqu_crm)。
  2. 挂载前端:点击顶部菜单栏 File -> Add Folder to Workspace...,将前端项目(例如 D:\work\shiqu-crm)也添加进来。
  3. 保存工作区(关键!):点击 File -> Save Workspace As...
    • 避坑指南:千万不要把这个 .code-workspace 文件保存在某个项目的深层目录(比如 src/main/resources)下!
    • 正确姿势:将其保存在前后端项目的平级父目录(例如 D:\work)中,命名为 全栈开发.code-workspace

效果:现在你的侧边栏同时并列了前后端目录。按下 Ctrl + L 呼出 AI,输入 @Codebase,你的 AI 已经同时掌握了两端的源码。而在 Git 面板中,两者的 Commit 和 Push 依然是完全隔离、互不干扰的。


进阶调教:用 .cursorignore 为 AI 戴上护目镜

@Codebase 的检索极其消耗算力和上下文。如果任由它去扫描前端的 node_modules 和后端的 target 编译产物,不仅速度极慢,AI 还会经常“胡言乱语”。

我们需要分别在前端后端的根目录下,各新建一个 .cursorignore 文件。它的作用类似于 .gitignore,专门用来告诉 AI:“这些文件别读,里面没有业务逻辑”。

Java + Vue 全栈 .cursorignore 模板:

# ==============================
# Cursor AI 忽略清单 (Java + Vue)
# ==============================

# 1. 版本控制与IDE配置
.git/
.svn/
.idea/
.vscode/
.settings/
.project
.classpath

# 2. 前端无用依赖与产物
node_modules/
dist/
build/
.npm/
package-lock.json
yarn.lock
pnpm-lock.yaml

# 3. 后端编译产物
target/
out/
*.class
*.jar
*.war
*.ear

# 4. 日志与缓存文件
logs/
*.log
npm-debug.log*
yarn-debug.log*
.eslintcache

# 5. 系统文件
.DS_Store
Thumbs.db

终极防御:如何优雅地对同事“隐身”?

作为实习生/团队新人,随意向公司公共仓库提交自己的 IDE 配置文件是大忌。

刚才我们创建的 .cursorignore 位于项目根目录,会被 Git 识别为未追踪的新文件。如何做到自己用得爽,又不对同事的代码库产生任何影响?

使用 Git 的隐形披风:.git/info/exclude

在项目中找到隐藏的 .git 文件夹。

进入 info 目录,打开 exclude 文件(如果没有就新建一个无后缀的文件)。

在文件最末尾添加一行:

.cursorignore

保存后,Git 就会在本地彻底无视 .cursorignore 的存在。

总结

通过 “多根工作区”聚合代码 + .cursorignore 过滤噪音 + .git/info/exclude 完美隐身,我们可以在不改变任何物理文件结构、不污染任何团队规范的前提下,榨干 Claude 4.7 等大模型在全栈项目中的潜力。

下次当你需要“新增一个字段”时,试试直接告诉 AI:“请帮我把这个字段从后端的 Entity 层、Mapper 层,一路贯穿写到前端的 Vue 表单组件里”。体验过这种真正的全栈 Vibecoding 后,你就再也回不去了。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐