Cartridge Management

Link cartridges and modules into your project from the VS Code UI, with no dw.json or settings to maintain

Cartridge management in Intellij SFCC is entirely UI-driven. You link folders into the project from the Cartridges view and the Explorer right-click menu. There is no dw.json, no setting, and no cartridge-path string to edit manually.

Linking Cartridges

The plugin tries to detect all three types automatically with Find Cartridges. Every type can also be linked manually from the VS Code Explorer right-click menu, which is the surest way to add B2C and Global modules the scan does not surface.

Two ways to add folders, and together they cover everything: let the plugin scan, or link one manually.

Find Cartridges automatically

Run Find Cartridges from the Cartridges view, or the welcome button when the view is empty. The plugin scans the workspace, skips node_modules, .git, .vscode, and .intellij-sfcc, and opens a multi-select list of every cartridge, B2C module, and global module it found. Pick the ones to link and confirm. Duplicates are flagged so you do not link the same cartridge twice, and you can ignore any folder to keep it out of future scans.

Right-click a folder in the Explorer and choose the matching B2C - Link as ... command, one per type, listed in Three Cartridge Types below. Use this for module folders the scan does not surface, or to link one folder explicitly.

What Linking Unlocks

Linking is what makes a folder real to the plugin. Once it is linked, you get:

  • require() resolution that is cartridge-aware across everything you linked.
  • Override detection along the cartridge path, with one-click jumps between versions.
  • Generated dw.* types built from the metadata in your linked cartridges.
  • Navigation - go to definition, find references, and symbol search span the linked set.

Three Cartridge Types

The plugin recognizes three kinds of linkable folders, each with its own icon in the Cartridges view. It tells them apart by what the folder contains:

Cartridgecartridge

A standard SFCC cartridge with controllers, templates, scripts, and metadata.

How to spot it: a folder with a cartridge/ subfolder inside.

Add it: right-click the folder and choose B2C - Link as Cartridge.

B2C Moduleb2c-module

A reusable module loaded by its name, with its own entry file.

How to spot it: a folder with a main.js or main.ts, and no cartridge/ subfolder.

Add it: right-click the folder and choose B2C - Link as B2C Module.

Global Moduleglobal-module

A modules/ folder any cartridge can require by name. SFRA's server framework lives here.

How to spot it: a modules/ folder that contains a server.js.

Add it: right-click the folder and choose B2C - Link as Global Modules.

B2C - Link as Cartridge expects the folder to contain a cartridge/ subfolder. If it does not, the plugin tells you so instead of linking it.

The Cartridges View

The Cartridges section in the Intellij SFCC sidebar lists everything you have linked, each with the icon for its type and a count badge in the header.

  • Order follows your active connection. When you are connected to an instance, the list is reconciled against that site's cartridge path, so what you see mirrors how the server resolves overrides. With no active connection, the list is alphabetical.
  • Search in Cartridges filters the tree by name or path.

Unlinking and Ignoring

These actions only change what the plugin tracks. Nothing on disk is deleted, moved, or edited.

The difference is what the next scan does:

ActionWhereWhat it doesNext scan
UnlinkCartridges view, or Show Linked CartridgesDrops it from the project.Shows up again
IgnoreFind Cartridges list, or Show Linked CartridgesDrops it and remembers to skip it.Stays hidden
Show Ignored CartridgesCartridges view menuReview the ignore list and restore any folder to the project.-
Show Linked CartridgesCartridges view menuSearchable list of everything linked, with unlink and ignore on each row.-

Duplicates are caught for you. When a scan finds a cartridge whose name is already linked, it tags the extra one 🚨 Duplicate and leaves it unchecked, so you never link two cartridges with the same name by accident. Ignore the copy you do not want, and it stays hidden on every future scan.

Creating a New Cartridge

To scaffold a fresh cartridge, run B2C - New Cartridge... from the Command Palette or the Explorer right-click menu. The plugin creates the folder with a cartridge/ directory, a .project file, and a <name>.properties file, then links it for you.

Where Linked Cartridges Are Stored

Linked and ignored cartridges live in VS Code workspace state, scoped to the current project. That has three practical consequences:

  • Nothing to commit. There is no dw.json key or settings entry, so your linking choices never appear in version control.
  • Per developer. A teammate who opens the same repository runs Find Cartridges once to link their own copy. It takes seconds.
  • Independent of deployment. This list drives editor intelligence only. How code uploads, and which cartridge path the server runs, is governed by your connection and the instance, not by what you link here.

On this page