用途:在开发 VS Code 本身时,从源码启动一个已登录(Copilot、GitHub 等)的 Code OSS 实例,用 @playwright/cli 经 CDP 做 UI 自动化,并可选通过 dap-cli 在渲染进程、扩展宿主或主进程设断点;支持同时运行多实例而不冲突。
主要能力:启动器把已认证的 user-data-dir 克隆到临时目录,为各调试面选取空闲端口并以 JSON 输出。克隆默认精简,排除 workspaceStorage、History、缓存 VSIX、日志、Chromium 缓存等;保留 WebStorage、Cookies、Preferences、machineid 及 User/globalStorage(含 state.vscdb),认证令牌存于系统钥匙串自动跟随。每次启动使用独立的 --user-data-dir 与 --extensions-dir,不改动原 profile,并强制设置 files.simpleDialog.enable: true 以便自动化。
使用方式:脚本位于本 SKILL.md 同级的 scripts/launch.sh,按安装位置解析路径。示例:"$LAUNCH"、"$LAUNCH" --agents、"$LAUNCH" -- <workspace-path>、--source-user-data-dir <path>、--repo <vscode-repo-root>、--clone-extensions、--full。脚本前台完成预启动后分离运行,待 CDP 就绪(约 90 秒内)打印一行 JSON,含 pid、cdpPort、extHostPort、mainPort、agentHostPort、userDataDir、extensionsDir、sharedDataDir、runDir、logFile、repo、agents。用 jq 解析即可,无需重试。随后用 npx @playwright/cli -s=$PW_SESSION attach --cdp=http://127.0.0.1:$CDP 连接,并始终传唯一 -s= 会话名。Monaco 输入需用 scripts/monaco-paste.sh 粘贴,fill/type 无效。
适用场景:VS Code 源码开发、UI 自动化测试、多智能体并行驱动各自实例。
限制:需 macOS 或 Linux,依赖 rsync、curl、nohup、Node;需已安装 node_modules 并完成 npm run compile 或 npm run watch 的完整构建;需已认证的 Code OSS profile(默认 ~/.vscode-oss-dev)。调试需 dap-cli。macOS 上超过约 2–3 个并发实例可能因 Crashpad 报 mach_port_request_notification 失败。若提示未登录,需请用户登录。其他细节资料未提供。