B2C WebDAV Explorer

Browse, upload, rename, and delete files on a remote SFCC instance over WebDAV from VS Code, including code versions, logs, catalogs, and libraries

The B2C WebDAV Explorer is the remote file tree under every connection in the Intellij SFCC Explorer panel. It talks to the instance over WebDAV, so you can browse code versions, logs, IMPEX, catalogs, libraries, and static content, then download, upload, move, copy, rename, compress, unzip, and delete files, or copy them to another instance, without leaving VS Code

Expand Instance under a connection to see its ten WebDAV roots. A folder fetches its contents from the sandbox the first time you open it

Most remote file actions require active plugin access. Opening folders and the file actions are part of Remote resources, log clearing is Remote logs, code-version actions are Code version selection, and the mock API download is Mock API download. The root folders of a connection still list without access, and the tree is empty while the plugin is paused on this device

Where it lives

The WebDAV explorer is not a separate panel. Every connection in the Explorer panel has a Settings node and an Instance node, and the remote root folders sit under Instance. The active connection starts expanded

  • A folder loads the first time you expand it, with a WebDAV PROPFIND request, so large trees stay responsive
  • An empty folder shows <Empty>. A root that cannot be listed shows <Empty> too, together with an error notification
  • Folders come first, then files, and each group is sorted newest first. Each row shows when it last changed, and files add their size, such as 3 days ago [1.2 MB]
  • Click a file to download and open it
  • Select several items with Cmd-click or Ctrl-click, or Shift-click a range. Refresh, Delete, Download and Open, Save on Local Drive, Compress, Unzip, Copy, Copy Remote Path, and Clear Log File act on the whole selection

Search loaded folders

Search in Explorer in the panel toolbar opens VS Code's tree find. It matches and filters the rows that are already loaded, so expand the folders you want to search first

Search in Explorer opens VS Code's tree find on the folders you have already opened. Matches are highlighted, and Filter hides the rest. Folders you have not opened yet are not searched

Remote root folders

Each connection shows the same ten roots. The row description is the path on the instance, under /on/demandware.servlet/webdav/Sites

Root folderPathWhat it contains
Code Version/CartridgesThe code versions on the instance and their cartridges
Log Files/LogsApplication logs, plus archived logs in log_archive
Security Log Files/SecuritylogsSecurity logs
IMPEX/ImpexImport and export files
Temp/TempTemporary files
Realm Data/RealmdataRealm level data
Organization Static Content/StaticStatic assets stored at the organization level
Catalogs/Catalogs/<catalog ID>Catalog files. Needs a catalog ID
Content Images Library/Libraries/<library or site ID>Content library files. Needs a library or site ID
Velocity Templates/Dynamic/<site ID>Velocity templates. Needs a site ID

In Code Version, the version the instance runs is marked ← Active on instance and the version the connection uploads to is marked ← Selected. Inside a code version, your project's cartridges are listed first, in cartridge path order

Scoped roots: catalogs, libraries, and Velocity

An empty Catalogs root shows Add Catalog ID. Click it, enter the ID and the catalog folder appears under the root

Catalogs, Content Images Library, and Velocity Templates cannot list everything at once, so they ask for an ID first. Click the + on the root, or the Add Catalog ID, Add Library or Site ID, or Add Site ID row inside an empty root, and type the ID:

RootPromptExample
CatalogsEnter Catalog IDsfra-master-catalog
Content Images LibraryEnter Library or Site IDRefArchLibrary
Velocity TemplatesEnter Site IDRefArch

Each ID becomes a folder you can browse like any other. IDs are saved per hostname for this workspace. Delete on an ID folder only removes the ID from the tree; the folder on the instance stays

The three roots themselves have no New Folder, Paste, Open in Browser, or Copy Remote Path. Use those actions on an ID folder or anything inside it

File and folder actions

Right-click a remote file or folder for its actions. Folders, files, zip archives, and log files each get the actions that fit them

New Folder

Creates a folder inside the selected root or folder. Type the name in New folder in <folder>. Applies to roots and folders. To add files, upload them

New Folder on a folder or root asks for a name and creates the folder on the sandbox

Refresh

Reloads the folder from the instance when its content changed. It is also an inline button on roots and folders, and a selection of several folders refreshes all of them

Rename

Renames the item in place. Rename <name> opens prefilled with the current name. Applies to files and folders

Delete

Opens 🗑️ Confirm items you want to delete, a checklist of the selected items with their paths, all checked. Uncheck anything you want to keep, then confirm. Items inside a selected folder are removed with it, and a 🗑️ Deleting items progress counts them down. Each row has a button to copy its remote path. Applies to files and folders

Copy and Paste

Copy files and folders to another folder of the same instance. The copy happens on the instance, so nothing is downloaded

Copy remote files, then Paste on a folder or root of the same instance. An existing name asks before it is replaced, pasting into the same folder adds a copy, and dragging a file onto another folder moves it

Copy

Select one or more items and choose Copy. The status bar confirms Copied 2 WebDAV item(s)

Paste

Right-click the target folder, or a file inside it, and choose Paste. It only appears once something is copied. A Pasting into <folder> progress runs while the instance copies

  • Pasting into the folder you copied from creates catalog copy.xml, then catalog copy 2.xml, and so on
  • When the target already has an item with the same name, catalog.xml already exists in catalogs. Replace it? asks first. Replace overwrites it on the instance and cannot be undone
  • Paste works within one instance. To copy between instances, use Copy to Another Instance
  • A folder cannot be pasted into itself

Move by drag and drop

Drag files or folders onto another folder of the same connection to move them. A Moving progress counts the items and cannot be cancelled. A drop on another connection does nothing, and a move onto an existing name fails with an error instead of overwriting it

Copy Remote Path

Copies the full WebDAV URL of the item, such as https://<hostname>/on/demandware.servlet/webdav/Sites/Impex/src/catalog.xml. With several items selected, you get one URL per line

Open in Browser

Opens the item's WebDAV URL in your default browser. Applies to files and folders

Copy Remote Path puts the item's full WebDAV URL on the clipboard, ready to paste anywhere

Download and Open

Downloads files and opens them. A single click on a file does the same. Applies to files

  • A ⬇️ notification shows [downloaded / total] <name> for each file and can be cancelled
  • Text files (.log, .txt, .csv, .xml, .js) over 3 MB are zipped on the instance first, downloaded, unzipped locally, and the temporary zip on the instance is removed
  • A .log file opens in the Log File Editor, ready to parse into Log Center
  • Other files are saved to a temporary folder for the instance and open in the editor. Files VS Code cannot show as text are revealed in your file manager instead
  • Edits you make to a downloaded file stay local. To change the instance, upload the file again
  • Folders are not downloaded recursively. To fetch a folder, compress it and download the zip

Save on Local Drive

Downloads the selected files to a folder you choose in Choose folder on your local drive to save file(s) (Save to this folder), then reveals them in your file manager. Applies to files

Compress (create zip archive)

Opens 📦 Confirm items you want to compress with the selected items checked. Each confirmed item is zipped on the instance into <name>.zip next to it, with a Zipping progress. Applies to files and folders

Unzip

Extracts the selected zip archives in place on the instance, with an Unzipping progress. Applies to zip files

Upload by drag and drop

Drag files or folders onto a remote folder, a root, or a file (which means its folder). They can come from your operating system's file manager or from the VS Code Explorer

Drop files from your file manager or the VS Code Explorer on a remote folder (or on a file to use its folder) of any connection. Each file is zipped, uploaded and unzipped on the sandbox, a .zip is uploaded as is, and the folder refreshes
  • The files go to the connection of the folder you drop on, which does not have to be the active connection
  • Each item is zipped locally, uploaded, unzipped on the instance, and the temporary zip is removed. node_modules, .git, .vscode, .idea, .intellij-sfcc, .settings, .DS_Store, and .eslintrc are left out
  • A .zip you drop is uploaded as is, without extracting it
  • Existing files with the same name are overwritten without a prompt

To upload project files to the selected code version instead, use Upload and Deploy

Copy to Another Instance

Copies one remote file or folder from one instance to another, to the same path. Applies to files and folders

Pick the target connection, then a cancellable notification walks through download, upload, extraction and clean up

Pick a target

Choose the destination connection. The source connection is not offered

Zip on the source

Folders and files are zipped on the source instance. A .zip is sent as it is

Download, upload, and extract

The archive is downloaded to a temporary local folder, uploaded to the same path on the target, and unzipped there

Clean up

Temporary local files and the helper archives on both instances are removed

A 📋 <source> → <target> notification shows each stage (⬇️ Downloading…, ⬆️ Uploading…, 📦 Extracting…, 🧹 Cleaning up…) and can be cancelled. Files that already exist on the target are overwritten, and a .zip source arrives extracted

Errors

When the instance rejects a request, a notification names the connection, the HTTP code, and the path, for example [☁️ Sandbox 02] HTTP Code: 401 | Path: https://zzrx-002.dx.commercecloud.salesforce.com/on/demandware.servlet/webdav/Sites/Impex | Unauthorized. Please check your credentials. Its Select Account button opens the account picker of the connection. The same line is written to the B2C Sync Log output

CodeMessage
401Unauthorized. Please check your credentials.
403Operation is Forbidden
404Resource not found
521<connection> is stopped or offline. Please start it and try again. This one is shown on its own, without the code and path, and also offers Select Account

Before any request, the extension also checks the connection. A missing username, password, or code version stops the action with a message that names the connection, such as 😱 Password is not provided for Sandbox 01 connection

Code versions

The Code Version root lists the code versions on the instance. See Connections for how the selected version flows into upload and the status bar

Change Code Version

Picks the code version that uploads and debugging target. Open it from the pencil on the connection's Code Version row or from the status bar. Select Code Version | Sandbox 01 marks each version ★ Active on instance and Selected, ● Active on instance, or ◉ Selected. Its + button creates a new code version, and the trash button on a row deletes one after 🗑️ Delete code version ? (Yes, delete)

The pencil on the code version row (or the code version in the status bar) opens Select Code Version, which marks the selected and active ones. The wand switches to the code version active on the instance

Switch to Active Code Version on Instance

The wand button selects the version that is active on the instance, then confirms Code version changed to <version>

Logs

The Log Files and Security Log Files roots show the instance logs. Two or more log files with the same prefix are grouped into one folder, such as error (2), whose description shows the latest change and the total size

Click a log file to open it in the Log File Editor. Files under Log Files can also be tailed and parsed in Log Center, whose Focus action reveals a log in this tree. Security logs are not part of Log Center

Clear Log File

Empties the selected remote log files right away, without a confirmation, with a 📄 Clearing logs progress. Applies to .log files. Part of the Remote logs feature

Clear Log File empties every selected log on the sandbox. Log Files refreshes and the cleared files show 0 Bytes

Business Manager shortcuts

The connection's context menu opens Business Manager for that instance, at https://<hostname>/on/demandware.store/Sites-Site/default/ViewApplication-DisplayWelcomePage

Open Business Manager opens the connection's Business Manager in your default browser
ActionResult
Open Business ManagerOpens it in your default browser
Open Business Manager in VS CodeOpens it in a browser tab inside VS Code
Copy Business Manager URLCopies the URL

Mock API download

demandware-mock.zip is the B2C Commerce API mock package that the instance serves. Use it in unit tests and tools that need the dw.* API outside the instance

Download demandware-mock.zip on a connection asks for a local folder, downloads the archive from that sandbox and reveals it in your file manager
ActionWhere
Download demandware-mock.zipThe connection's context menu
Download demandware-mock.zip for Active ConnectionThe Command Palette

Choose a folder in Select folder to save DW Mock API Zip File (Save demandware-mock.zip here). The download shows its size and progress, can be cancelled, and ends with ✅ Downloaded demandware-mock.zip from Sandbox 01 and the file revealed in your file manager

Certificate-protected WebDAV

When an instance requires two-factor authentication with a client certificate, the WebDAV explorer uses the connection's certificate settings. Configure the certificate, secure hostname, file path, and password on the connection itself

Enable Self-Signed Certificate under Settings to get Secure Hostname, File Path (p12) and Password / Passphrase. Each row opens an input for its value, and a password change asks for confirmation

See Certificate Authentication for the setup steps

For AI agents

The SFCC MCP server has 20 WebDAV tools, so an agent can list, read, and change remote files. Changes are planned first and run only after you confirm them in VS Code. See SFCC MCP

On this page