帮助用户在本地启动 vscode.dev 并测试 VS Code 工作台与 Agents 窗口。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "vscode-dev-workbench" 技能: 1. 下载 https://raw.githubusercontent.com/microsoft/vscode/main/.github/skills/vscode-dev-workbench/SKILL.md 2. 保存为 ~/.claude/skills/vscode-dev-workbench/SKILL.md 3. 装好后重载技能,告诉我可以用了
请指导我基于本地 microsoft/vscode 源码启动 vscode.dev 开发服务器,并告诉我如何用带有 vscode-quality=dev 的 URL 打开集成浏览器中的工作台。
提供启动步骤、所需命令以及使用指定 URL 打开本地工作台的方法。
我想在本地 vscode.dev 环境里测试 VS Code workbench 的浏览器交互,请给我一套操作流程,包括打开页面、进入资源管理器、打开命令面板并验证基本功能。
输出一套可执行的浏览器测试步骤,用于验证工作台核心交互是否正常。
请说明如何在本地运行 vscode.dev 时接入一个 mock agent host,用来测试 Agents 窗口,并列出需要的配置、启动方式和验证步骤。
给出本地 mock agent host 的接入方案,涵盖配置方法、运行命令和 Agents 窗口验证流程。
The vscode-dev repo is the vscode.dev server. When run locally with ?vscode-quality=dev, it serves the VS Code web workbench (or Agents window at /agents) from the sibling microsoft/vscode checkout. This is the fastest way to validate web-only changes to the workbench without shipping an Insiders build.
vscode-dev and vscode must be sibling folders:
<workRoot>/
vscode/ # microsoft/vscode checkout
vscode-dev/ # microsoft/vscode-dev checkout
If your paths differ, check server/ in vscode-dev for the source root resolution — the /vscode-sources/* route maps to ../vscode.
Critical: Run npm run dev from the folder, NOT from . The repo has no script and will fail with . Terminal tools that simplify/strip leading into separate commands will silently keep the cwd of a previous terminal — always use an absolute or verify with before .
vscode-devvscodevscodedevnpm error Missing script: "dev"cdpushdpwdnpm run devcd /path/to/vscode-dev # NOT /path/to/vscode
npm run dev # runs watch + nodemon; serves https://127.0.0.1:3000
If you're driving this through an agent/terminal tool, prefer:
pushd /absolute/path/to/vscode-dev >/dev/null && pwd && npm run dev
On first start you may see one crash like Cannot find module './indexes' — it's the watcher racing the first build. nodemon restarts automatically once out/ finishes compiling. The server is ready when curl -sk -o /dev/null -w "%{http_code}" https://127.0.0.1:3000/ returns 200.
https://127.0.0.1:3000/?vscode-quality=dev — main workbench, local dev sourceshttps://127.0.0.1:3000/agents?vscode-quality=dev — Agents window, local dev sourceshttps://127.0.0.1:3000/?vscode-version=<commit> — pinned production commit&vscode-log=trace for verbose client loggingUse open_browser_page and the standard browser tools.
The chat input is a Monaco editor — page.keyboard.press('Enter') inserts a newline. To send, click the Send button (a[aria-label^="Send"]) or use the send keybinding.
The service worker caches client assets aggressively. A plain reload can still serve stale modules:
await page.evaluate(async () => {
const regs = await navigator.serviceWorker?.getRegistrations() ?? [];
await Promise.all(regs.map(r => r.unregister()));
const keys = await caches?.keys() ?? [];
await Promise.all(keys.map(k => caches.delete(k)));
});
await page.reload({ waitUntil: 'domcontentloaded' });
The integrated browser panel clamps width, so page.setViewportSize() and CDP setDeviceMetricsOverride narrow the viewport only as far as the panel allows. User-Agent override and touch emulation work fine:
const client = await page.context().newCDPSession(page);
await client.send('Emulation.setUserAgentOverride', {
userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1',
platform: 'iPhone'
});
await client.send('Emulation.setTouchEmulationEnabled', { enabled: true, maxTouchPoints: 5 });
await client.send('Emulation.setDeviceMetricsOverride', {
width: 393, height: 852, deviceScaleFactor: 3, mobile: true,
screenOrientation: { type: 'portraitPrimary', angle: 0 }
});
await page.reload();
For a true mobile viewport, drive a standalone Playwright script with devices['iPhone 14 Pro'] instead of the integrated browser. If a mobile-responsive overlay intercepts pointer events during automation, fall back to { force: true } on click().
…
帮助开发者验证 Azure DevOps 流水线改动,快速排查构建与 YAML 配置问题。
自动启动并操控 VS Code Insiders 与 Copilot Chat,完成界面测试、聊天交互和截图。