The official Salesforce VS Code extension for B2C Commerce developer experience.
Sandbox explorer · Cartridge code sync · WebDAV · Content libraries · SCAPI browser · B2C Script debugger
Install · Documentation · Source & Issues · Changelog
From the command line:
code --install-extension Salesforce.b2c-vs-extensionOr in VS Code: Extensions → search "B2C DX" → Install.
For VSCodium / Cursor / Eclipse Theia, install from Open VSX.
End-user documentation — installation, configuration, and feature tour — lives at:
https://salesforcecommercecloud.github.io/b2c-developer-tooling/vscode-extension/
This repo is the publishing surface for the extension. Development happens in the development monorepo:
https://github.com/SalesforceCommerceCloud/b2c-developer-tooling
What lives here:
- The marketplace landing page (this README), Apache-2.0 license, and governance files (CODE_OF_CONDUCT, CONTRIBUTING, SECURITY, CODEOWNERS).
- A mirrored CHANGELOG.
- Per-version
releases/*.jsonmarkers (and areleases/latest.jsonpointer) recording the monorepo tag and the VSIX's sha256. - The GitHub Actions workflows that turn each release into a published extension.
What does not live here: the extension's source code, build tooling, tests, or developer docs. Those live in the monorepo.
Nothing published from this repo is built here. The only artifact that crosses the boundary is the VSIX, which is built and cryptographically attested (SLSA build provenance) in the monorepo. Every workflow here re-verifies that provenance before acting, so a tampered or foreign VSIX cannot reach the marketplaces.
- The monorepo cuts a stable release of
b2c-vs-extension, builds the VSIX, attaches it to a GitHub release on the monorepo, and attests its build provenance. - This repo detects the release itself — no credential or GitHub App is needed.
.github/workflows/poll-monorepo-release.ymlruns on a schedule (and on demand), reads the monorepo's public releases using only this repo's ownGITHUB_TOKEN, and selects the highest stableb2c-vs-extensionversion. When it finds one not already handled, it wakes.github/workflows/receive-monorepo-release.yml(via an internalrepository_dispatch), which downloads the VSIX, verifies its sha256 and build provenance, and opens a release PR titledRelease b2c-vs-extension X.Y.Zthat updatesCHANGELOG.mdand thereleases/*.jsonmarkers. - A maintainer reviews and merges the PR (this is the manual gate before anything reaches the marketplaces).
- On merge,
.github/workflows/release-on-merge.ymlreads the marker, downloads the VSIX, re-verifies sha256 + provenance, and creates a release on this repo — then triggerspublish-vscode.ymlandpublish-openvsx.yml. - Each publish workflow runs in the protected
publishenvironment (where the marketplace tokens live), verifies provenance one final time, and thenvsce publish/ovsx publishto the VS Code Marketplace and Open VSX.
File them in the monorepo: https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/issues
Issues opened directly on this repo will be redirected.
Report vulnerabilities to security@salesforce.com. See SECURITY.md.
Apache-2.0. See license.txt.