想让MarsCode精准理解你的意图,而不是靠猜测,关键就在于消除那种“AI指令式”的表达。你完全不必说“请重构函数”,只要把你在控制台看到的红色报错、被Code Review打回的评论、或者合并后CI失败的那行日志,原样粘贴进搜索框就行——比如,“src/api/user.ts第17行fetchUserById返回undefined导致页面崩溃”。这才是真正能触发上下文锚点的有效信号。

把控制台第一行红字直接塞进搜索框
打开浏览器开发者工具,直接切换到Console标签页,盯住最顶部那条红色错误——注意,不是warning,也不是堆栈末尾那条,就是第一条。全选、复制、粘贴到MarsCode搜索框最开头。
这一步不能省略。MarsCode优先匹配报错关键词来激活上下文锚点。如果你只写“用户数据加载失败”,它会默认扫描整个API层,范围太大,容易偏离目标。但如果你写成“TypeError: Cannot read property 'name' of undefined”,它立刻就能锁定useUserStore()里那段解构赋值。
一个小技巧:把报错后面的括号内容(比如“(at src/composables/useUserStore.ts:17:22)”)删掉,只保留核心错误描述。然后,用中文冒号接上你接下来的操作。
用Git提交信息当提示词骨架
方法一:在VS Code里按Ctrl+Shift+G打开源代码管理,点击最近一次提交,查看Commit Message正文,把里面带具体文件和行为的那句复制下来,前面加“修复”二字。比如同事提交写了“临时删了token校验,否则登录页无限重定向”,你就搜索:“修复登录页因token校验缺失导致无限重定向”。
方法二:右键当前分支,选择“Compare with Branch…”,选上一次稳定版本,在差异列表里找被删除的if判断或被注释的校验逻辑。把那行代码的关键变量名和操作动词组合成问题,例如:“修复useAuth.ts中removeToken调用后未清空localStorage导致下次登录残留旧态”。
照搬Code Review里的原话,一个标点都不能改
第一步:打开GitHub或GitLab页面,进入最近一次PR,下滑到Comments区域,找至少两条以上带具体位置的评论。
第二步:挑出其中一条包含文件路径、行号和函数/变量名的评论,例如:“src/utils/format.ts第89行:formatDate应统一用Intl.DateTimeFormat,避免moment依赖”。
第三步:把整句话原封不动复制进搜索框,删掉句号,结尾不加问号——MarsCode对句末标点敏感,加了问号会被识别为通用问答而非重构指令。
这一步最容易翻车:有人会自作聪明改成“请将formatDate改为Intl.DateTimeFormat”,但这样一来,原始语境里的技术实体约束就丢了,模型会忽略第89行这个关键的定位信息,结果就变成了一个泛泛的“改代码”请求。
