Skip to content
| Marketplace
Sign in
Visual Studio Code>Debuggers>Baker Link EnvNew to Visual Studio Code? Get it now.
Baker Link Env

Baker Link Env

Baker Link Lab

|
2 installs
| (0) | Free
| Sponsor
Embedded debugging and Dev Container integration for Baker Link Env, powered by probe-rs.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Baker Link Env for VS Code

A Baker Link fork of the probe-rs VS Code extension, based on upstream 0.32.0. This is not the official probe-rs extension.

The extension icon is bundled from icon/icon.png, copied from Baker Link Env's icon/icon.png. It does not depend on files outside this repository.

Development MVP

  • Extension ID: baker-link-lab.baker-link-env.
  • Debug type: baker-link-debug (does not claim the official probe-rs-debug type).
  • Runs in the workspace extension host, inside the Dev Container.
  • Reads and validates per-session connection endpoints in .vscode/launch.json.
  • Uploads one ELF with SHA-256 after preLaunchTask succeeds, before opening DAP.
  • Re-uploads the ELF before forwarding a DAP restart; failed uploads block restart.
  • Provides Baker Link: Check Host Connection, Baker Link: Open Connection Settings, a status bar entry, and a Baker Link Env output channel.
  • Requires a trusted, non-virtual workspace.

Install and try

Requires VS Code >= 1.116.0 and Node >= 22, inherited from upstream.

npm ci
npm test
npm run package

In the Dev Container window, use Extensions: Install from VSIX... and select baker-link-env-0.1.1.vsix. Verify the extension is installed in the container. The publisher ID is reserved in the manifest only; Marketplace registration and publication are not part of this MVP.

Configure .vscode/launch.json (replace my-project with your Cargo binary name):

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "baker-link-debug",
            "request": "launch",
            "name": "Baker Link: Debug",
            "preLaunchTask": "cargo: build",
            "remoteServerMode": false,
            "chip": "RP2040",
            "flashingConfig": {
                "flashingEnabled": true,
                "haltAfterReset": true
            },
            "bakerLink": {
                "dapServer": "host.docker.internal:50001",
                "uploadUrl": "http://host.docker.internal:50002",
                "elf": "${workspaceFolder}/target/thumbv6m-none-eabi/debug/my-project"
            },
            "coreConfigs": [
                {
                    "coreIndex": 0,
                    "programBinary": "bakerlink://my-project/debug",
                    "rttEnabled": true
                }
            ]
        }
    ]
}

Supply a cargo: build task, start Baker Link Env with Run on the host, then press F5. bakerLink.dapServer overrides top-level server for Baker Link artifact sessions. If omitted, server is used, then the built-in default host.docker.internal:50001. bakerLink.uploadUrl defaults to http://host.docker.internal:50002. Explicit invalid endpoints abort debugging. Keep remoteServerMode: false: the HTTP upload and host-side URI resolver are used, not upstream's base64 upload. If bakerLink is omitted, an externally uploaded artifact can still be used without an automatic upload.

Migrating from 0.1.0

Move dapServer and uploadUrl from .bakerlink/connection.json into the bakerLink object of each debug configuration. Keep bakerLink.elf and use "preLaunchTask": "cargo: build" (or your chosen build task). Remove shell-upload tasks referencing .bakerlink/upload-elf.sh, then delete .bakerlink. Version 0.1.1 no longer reads that directory; non-default endpoints must be migrated before upgrading. No jq, curl, or project-local upload script is needed. Artifact transfer is implemented by the extension.

Relative bakerLink.elf paths resolve against the selected workspace folder. For examples/release, set the appropriate build task, ELF path, and artifact URI. Each project/profile identifier accepts 1-80 ASCII letters, digits, - or _. Transfers have a 128 MiB limit and a 30-second timeout and can be cancelled; errors abort debugging. Standard non-artifact probe-rs configurations remain available under the new debug type, with local executable configuration at bakerLink.debuggerExecutable.

Baker Link: Open Connection Settings opens the project's .vscode/launch.json. The connection command selects a workspace and, if needed, a Baker Link debug configuration, using that configuration's endpoints. Use literal endpoint strings for diagnostics; debug launches can use VS Code-substituted variables. The connection command checks TCP reachability only; it does not authenticate the host, verify application readiness, or detect USB probes. The status is a last-check result, not continuous monitoring. Host services have no authentication: restrict them to trusted networks with firewall rules. For Docker, bind to a container-reachable host address, not host loopback; Linux needs host.docker.internal:host-gateway.

No host control API, automatic host startup, or Marketplace publication is added.

Upstream debugger

A VS Code extension for debugging embedded Rust applications using probe-rs, with support for a large range of debug probes and chips, including many variants of ARM Cortex-M, ARM Cortex-A, and RISC-V.

Documentation

Full documentation on Installation, Configuration and supported functionality can be found at the probe-rs webpage and under the visual tour heading

Releasing

Maintainers cut releases via GitHub Releases; the publish workflow runs gated by required approval. See PUBLISH.md for the release procedure and how the publishing pipeline is configured.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft