用途:借助 agent-browser 通过 Chrome DevTools Protocol(CDP)连接并自动化 VS Code Insiders 及其 Copilot Chat 扩展,实现类似网页的“快照—交互”工作流,用于扩展开发与调试。
前提条件:需安装 agent-browser(项目 devDependencies 中,运行 npm install,或用 npx agent-browser / npm install -g agent-browser);需 code-insiders,扩展使用 58 个提案 API,目标 vscode ^1.110.0-20260223,VS Code Stable 无法激活;扩展须先编译,npm run compile 一次性构建或 npm run watch 迭代。
核心流程:编译扩展;以 --extensionDevelopmentPath="$PWD" --remote-debugging-port=9223 --user-data-dir="$PWD/.vscode-ext-debug" 启动 VS Code Insiders;用 agent-browser connect 9223 连接(可重试);agent-browser tab 确认目标;snapshot -i 发现元素;用元素 ref 交互;状态变化后重新快照。截图用 agent-browser screenshot <path>,建议存于 .vscode-ext-debug/screenshots/ 的时间戳子目录。
Monaco 编辑器交互:type @ref 最可靠;focus 后 keyboard type / keyboard inserttext 可用;press 逐键始终可用。click、fill、execCommand、设置 textarea.value 均无效。可用 eval 查询 .view-line 验证文本,或用 JS 鼠标事件聚焦。
限制与注意:CSS 选择器(如 .interactive-input-part、.monaco-editor、.view-line)属内部实现,版本更新可能失效;必须使用持久化 --user-data-dir,否则认证状态丢失导致 Copilot 不可用;代码改动后需重新编译并重启 VS Code;结束时用 agent-browser close 并终止调试实例。macOS 截图可能需屏幕录制权限。