melbournedeveloper-build-extension
1
总安装量
1
周安装量
#49232
全站排名
安装命令
npx skills add https://smithery.ai
Agent 安装分布
claude-code
1
Skill 文档
Build VSCode Extensions
This repo has two VSCode extension components:
| Component | Location | What it is |
|---|---|---|
| dart_node_vsix | packages/dart_node_vsix/ |
The SDK package â Dart bindings for the VSCode extension API (commands, tree views, webviews, status bar, etc.) |
| too_many_cooks | examples/too_many_cooks_vscode_extension/ |
A concrete extension built with that SDK â multi-agent coordination UI |
too-many-cooks extension
Full build (MCP server + extension + .vsix package):
bash examples/too_many_cooks_vscode_extension/build.sh
This does:
- Compiles MCP server:
dart compile jsâadd_preamble.dartâserver_node.js - Compiles extension:
dart compile jsâwrap-extension.jsbridge âout/lib/extension.js - Packages:
vsce packageâ.vsixfile
Test (runs Mocha tests under a real VSCode instance):
cd examples/too_many_cooks_vscode_extension && npm run pretest && npm test
On headless Linux, prefix with xvfb-run -a.
Install into VSCode:
code --install-extension examples/too_many_cooks_vscode_extension/*.vsix
dart_node_vsix SDK package
Test the SDK (Dart tests compiled to JS, run in VSCode):
cd packages/dart_node_vsix && npm install && npm run compile && npm test
What it provides â Dart bindings for:
commands,window,workspace,statusBarTreeView,Webview,OutputChannelExtensionContext,DisposableMochatest API bindings- JS interop helpers (
Promise,EventEmitter)
Architecture
Both use the same pattern: Dart â dart compile js â wrapper script â VSCode-compatible JS module.
The wrapper scripts (scripts/wrap-extension.js, scripts/wrap-tests.js) bridge dart2js output to VSCode’s CommonJS require/module.exports system and inject polyfills (navigator, self) needed by dart2js async scheduling.