用途:帮助开发者开发和测试 Datamates VS Code 扩展。工作流为:在扩展或 MCP 引擎仓库中修改代码,经 rspack watch 自动构建,部署到 Docker code-server 容器,再用 Playwright MCP 验证改动,并通过热重载快速迭代。
架构:两个关联仓库,vscode-dbt-power-user 为扩展本体。扩展以卷挂载方式进入容器(不使用 VSIX):仓库只读挂载到 /home/coder/extension-src,再通过符号链接接入 code-server 扩展目录。
部署:运行 yarn docker:deploy,会检查 docker-setup/.env、用 yarn rspack build 构建、重建镜像并启动容器、等待 http://localhost:3001 就绪,随后进入 watch 模式;此命令前台阻塞,后台运行后可查看输出。
验证:用 Playwright MCP 打开 http://localhost:3001/?folder=/home/coder/project,等待约 8 秒,处理信任对话框,打开底部面板并点击 Datamates 标签(可能藏在 Additional Views 溢出菜单中),检查 iframe 内 UI;引擎日志在 Output 面板选择 Datamate 频道查看。
热重载:保存代码后 watcher 自动重编译(约 350-400ms),在 code-server 中通过 browser_navigate 重新访问该 URL 刷新,不要用命令面板的 Reload Window。
限制与注意事项:容器以 --auth none 运行,不要将 3001 端口暴露到公网;端口冲突先执行 yarn docker:stop;任何重建后必须 docker compose up --build -d 而非 restart,否则会命中过期缓存;符号链接目录名须带版本后缀,否则会被 code-server 标记为 removed;.sql 文件可能先以 MS SQL 而非 Jinja SQL 打开,需重开或手动切换语言模式;多 worktree 需用 -p 指定不同项目名和端口。另提供测试夹具、altimate-code 二进制替换与沙箱契约等细节。