In Intellij SFCC we don't rely on dw.json to manage connections
That file is obsolete and not a safe way to manage sandbox access. The extension keeps connection metadata in workspace state and references credentials separately, so secrets never have to live in a project file
A connection defines the active SFCC instance used by upload, logs, debugging, route lookup, MCP tools, and remote WebDAV actions. In VS Code, the Explorer panel stores connection metadata in workspace state and rebinds accounts and API clients from the Credentials manager on startup, so the active sandbox is always wired to live credentials
Connection Manager
The connection manager lives in the Intellij SFCC activity-bar container, inside the Explorer panel. Use it to add connections, create connection groups, change code versions, browse remote folders over WebDAV, and activate the connection that should drive IDE actions
In the tree, grouped sandboxes and standalone sandboxes share the same workflow:
- Groups keep environments such as
STGandDEVunder a shared project or customer label - Active connection marks the sandbox used by upload, logs, debugger, route lookup, MCP tools, and WebDAV commands
- Child actions such as
SettingsandInstancestay under the selected connection so operational actions remain scoped - Status bar state mirrors the active connection, selected code version, and site scope
What a Connection Stores
Each connection is a self-contained target. It references credentials rather than embedding secrets, so the same account or API client can be reused across many sandboxes
- Name and hostname identify the instance. Edit them with Edit Connection on the connection row
- Settings holds the account, code version, SCAPI / OCAPI API clients, the self-signed certificate, and the Connection Cartridges
- Auto Upload and B2C Scope are stored per connection and switched from the status bar
- Group membership places the connection under a group in the tree
Auto upload is toggled from the status bar for the active connection. When it is on, the file watcher uploads cartridge changes to the sandbox as you save. See Upload and Deploy for deployment targets and watcher behavior
Connection Groups
Groups organize related sandboxes under one label, for example a client name or an environment tier
- Create a group with Add Group in the Explorer panel toolbar, then drag connections into it. Drop a connection on empty space in the tree to take it out of its group
- Reorder connections and groups with Move Up and Move Down
- Use Edit Connection Group to rename a group. Remove Connection Group deletes the group after a confirmation and moves its connections to the top level, so no connection is lost
Adding a Connection
Add credentials first
Open Credentials and add the account this connection should use. A connection needs a credentials file and at least one account, and it stores only references to them
Start New Connection
Use Add B2C Connection from the Explorer panel toolbar, the welcome view of an empty Explorer, the status bar, or the Command Palette
Answer the four steps
New Connection 1/4 to 4/4 ask for the name, the hostname, the account, and the code version. The hostname step offers your existing hostnames plus PIG and Sandbox templates, and accepts a pasted URL
Switching Connections
Switch the active connection in three ways:
Run Select Active Connection from the Command Palette (Ctrl+Shift+P)
Use Focus Active Connection in the Explorer panel toolbar to scroll the tree to the current target when you have many connections
Code Versions
Each connection tracks a target code version, shown as a child node in the tree
- Change Code Version lists the code versions present on the instance and lets you pick the one upload and debug should target
- Switch to Active Code Version on Instance aligns the connection with the version currently activated in Business Manager
The selected code version is mirrored in the status bar alongside the active connection. See Code Version for creating and deleting code versions
Certificate Authentication
Instances that require a client certificate, typically staging instances with two-factor authentication, can authenticate WebDAV traffic with a PKCS#12 certificate. Turn it on with Use Certificate Authentication on the Self-Signed Certificate row under Settings, then set the Secure Hostname, File Path (p12), and Password / Passphrase rows
See Self-Signed Certificate for what each value does and how requests use it
Import and Export
Move connections between machines or share a setup with your team. Exports carry references only, never secrets
- Export connections lets you choose a scope: all connections, the current selection, a specific group, or a hand-picked set
- Import Connections reads an exported JSON file. Accounts and API clients missing from Credentials are created as references, so add their passwords and client secrets afterwards
- When an import would collide with an existing connection, you choose Override, Create Copies, or Omit for the duplicates
Connection exports contain account usernames and API client IDs as references. Passwords, access keys, and client secrets stay in the credentials flow. Self-signed certificate settings are not exported, so set them again after an import
Sync to a JSON File
Some external tooling still expects a dw.json style file. The extension can keep one or more JSON files in sync with the active connection instead of treating them as the source of truth
- Right-click a JSON file in the VS Code Explorer and choose Sync Active B2C Connection to JSON file to link it
- Map fields such as Hostname, Username, Password, Code Version, Client Id, and Client Secret onto the field names the file uses. Client Id and Client Secret come from the connection's Data API client
- Use Show JSON files used to synchronize the active connection in the Explorer panel toolbar to open, link, or unlink files
Synced files contain the password and client secret in plain text. Keep them out of version control
This keeps the extension as the single connection manager while still feeding tools that read a JSON config
WebDAV and API Access
Today every remote action of a connection runs over WebDAV: code upload and deployment, the B2C WebDAV Explorer, code versions, and logs. Make sure your sandbox allows:
- WebDAV access on port
443for the connection hostname, or for the secure hostname when certificate authentication is on - The connection's account, authenticated with its password or a WebDAV access key for the hostname
OCAPI and SCAPI features are not available in the VS Code extension yet and are planned for upcoming updates. You can already link Shop and Data API clients under SCAPI / OCAPI, so connections are ready when they ship
If your organization uses a VPN or firewall, ensure VS Code can reach your sandbox hostname on port 443
B2C WebDAV Explorer
Every connection has an Instance node with a full remote file explorer for the sandbox: code versions, logs, IMPEX, catalogs, libraries, and more. Download, upload by drag and drop, copy and paste, move, rename, compress, unzip, delete, and copy to another instance without leaving VS Code
How It Uses Credentials
Connections reference accounts and API clients created in Credentials. If a referenced account or API client is missing, connection actions can still display metadata, but remote actions that require authentication will fail until the credentials are restored