Open your project in a MistLock-managed development container with one click.
Proof of concept. The environment configuration is copied from the local example/mist/ folder instead of being downloaded.
Requirements
Docker running on the host.
Dev Containers (installed automatically as a dependency).
The mistlock-engine repository opened as the workspace folder.
Usage
Run MistLock: Reopen using MistLock from the Command Palette, or click MistLock in the status bar.
The extension:
Copies example/mist/ to example/mist-tmp/.
Opens example/mist-tmp/ in the current window.
Runs Dev Containers: Reopen in Container, which opens /workspaces/example-app inside the container.
Development
npm install
npm run compile # type-check and bundle to dist/
npm run package # build mistlock-<version>.vsix
The extension is a UI extension (extensionKind: ["ui"]): it must run on the same side as Dev Containers, or extensionDependencies fails with "depends on the 'Dev Containers' extension, which is not loaded". From a WSL window, install the VSIX with Extensions: Install from VSIX… or the Windows code.cmd — not the WSL code CLI, which installs it on the WSL server.