Vue DevTools 跳转失效?手把手教你在 Mac/Win 上用 Trae/Cursor/Agy 完美替换 VSCode

核心痛点:为什么直接设置 launchEditor 会失败?

很多开发者在使用 TraeCursorAgy 等基于 VSCode 二次开发的 AI 编辑器时,习惯在 Vue 项目中配置:

// vite.config.ts
vueDevTools({
  launchEditor: 'agy', // 或 'trae' / 'cursor'
})

结果往往是:

  1. 无法跳转行列:只能打开文件,光标停在第一行。
  2. 产生废文件:在项目根目录莫名其妙多出一个名为 App.vue:10:5 的空文件。
    根本原因: Vue DevTools 默认按照 VSCode 的标准发送指令:code 文件路径:行号:列号。 而当你把编辑器换成 agytrae 时,这些编辑器的命令行工具(CLI)可能无法像原版 code 命令那样自动识别带有冒号的字符串。它们会将 App.vue:10:5 误认为是一个完整的文件名,从而导致跳转失败并创建了一个名字奇怪的新文件。

image

解决方案:不改配置,“拦截"并"转发”

最优雅的解法是:骗过 DevTools。让它继续调用 code 命令,但我们在系统中埋下一个"钩子",把指令接管过来,并加上显式的跳转参数(如 -g)再转发给 AI 编辑器。

Windows 篇:修改 .cmd 脚本

Windows 用户主要利用环境变量中路径的优先级来完成拦截。

  • 步骤

找到 code.cmd 所在目录(通常在 VSCode 安装目录的 bin 下)。
备份原有的 code.cmdBackCode.cmd 备份就好方便以后回复,随便取个名字。
新建一个 code.cmd,内容如下

@echo off
:: 显式调用 AI 编辑器的路径,并转发所有参数
call "C:\你的路径\Agy\bin\agy.cmd" -g %*
  • 找到 code.cmd 所在目录(通常在 VSCode 安装目录的 bin 下)。
  • 备份原有的 code.cmdBackCode.cmd 备份就好方便以后回复,随便取个名字。
  • 新建一个 code.cmd,内容如下

macOS 篇:路径劫持 (PATH Hijacking)

Mac 下我们通过创建一个高优先级的自定义脚本来接管 code 指令。

第一步:创建拦截脚本 在用户目录下建立一个 bin 文件夹,并写入拦截逻辑

mkdir -p ~/bin
nano ~/bin/code

脚本内容(适配 Agy)

#!/bin/bash
# 获取最后一个参数(即路径:行:列)
TARGET="${@: -1}"
# 显式使用 -g 参数强制 Agy 执行跳转逻辑
/Users/你的用户名/.antigravity/antigravity/bin/agy -g "$TARGET"

注意看脚本路径要改为你自己的

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。