Configuration
Configure Intellij SFCC for your JetBrains IDE
Sandbox Connection
Configure your SFCC sandbox connection to enable deployment, log streaming, and data management.
Connection Settings
Navigate to Settings → Tools → Intellij SFCC → Connections and fill in:
| Setting | Description | Example |
|---|---|---|
| Hostname | Your sandbox hostname | dev01-na01-example.demandware.net |
| Username | Business Manager username | admin |
| Password | Business Manager password | •••••••• |
| Code Version | Active code version | version1 |
Never commit your credentials to version control. The plugin stores them securely in the IDE's credential manager.
Client ID Authentication
For enhanced security, configure API client credentials:
Create an API Client
In Business Manager, go to Administration → Site Development → Open Commerce API Settings and create a new API client.
Configure Permissions
Grant the client the necessary permissions for code deployment and data access.
Enter Client Credentials
In the plugin settings, switch to Client ID authentication and enter your Client ID and Client Secret.
Cartridge Path
The plugin reads your cartridge path configuration from:
Add a cartridge-path property to your dw.json:
{
"hostname": "dev01-na01-example.demandware.net",
"username": "admin",
"password": "password",
"code-version": "version1",
"cartridge-path": "app_storefront_custom:app_storefront_base"
}The plugin can also read the cartridge path directly from Business Manager via Administration → Sites → Manage Sites → [Your Site] → Settings.
Plugin Settings
General
| Setting | Default | Description |
|---|---|---|
| Auto-upload on save | true | Automatically upload files to the sandbox when saved |
| Upload delay | 300ms | Debounce delay before triggering upload |
| Show upload notifications | true | Display notifications after each upload |
| Exclude patterns | node_modules, .git | Glob patterns to exclude from upload |
ISML
| Setting | Default | Description |
|---|---|---|
| Enable ISML inspections | true | Run ISML-specific code inspections |
| Highlight custom tags | true | Highlight custom ISML tags |
| Template resolution | Cartridge path | How to resolve template includes |
Script
| Setting | Default | Description |
|---|---|---|
| Enable DW API completion | true | Autocomplete for dw.* API classes |
| Resolve require paths | true | Resolve CommonJS require paths across cartridges |
| Enable hook navigation | true | Navigate to hook implementations from dw.json |
Pipeline Editor Performance
If the pipeline editor scrolls slowly, trackpad gestures feel delayed, or pinch-to-zoom is not smooth, disable remote JCEF for the IDE:
-Djcef.remote.enabled=falseThis option makes JetBrains use the local in-process JCEF browser path instead of the remote JCEF bridge. That is faster for the pipeline editor because the editor is a canvas-heavy web UI that depends on continuous wheel, trackpad, and gesture input. Remote JCEF adds an extra process/RPC boundary between the IDE's Swing UI and Chromium. In practice, that boundary can make high-frequency scroll and zoom events less smooth.
This matches the lower-level behavior described by the platform documentation: JetBrains embeds JCEF as a Swing browser component, while Chromium Embedded Framework's off-screen/input-forwarding path requires the host application to repaint buffers and forward mouse, keyboard, and focus events. CEF also notes that off-screen rendering can perform worse than a windowed browser.
The Intellij SFCC plugin already asks JetBrains to create the pipeline editor as a windowed JCEF browser. This VM option is still needed on affected IDE builds because remote JCEF is a global IDE mode: once it is enabled, JetBrains can ignore per-browser requests to disable off-screen rendering.
Configure the VM Option
The preferred IDE menu path is the same on macOS, Windows, and Linux:
Open Custom VM Options
In the IDE menu, open Help → Edit Custom VM Options.
Restart the IDE
Save the file, fully restart the JetBrains IDE, and reopen the pipeline editor.
Edit the custom VM options file only. Do not edit the VM options file inside the IDE installation directory; JetBrains replaces that file during updates, and editing the macOS application bundle can break its signature.
If Help → Edit Custom VM Options does not open, use the fallback that matches how the IDE was installed:
| Install type | What to do |
|---|---|
| JetBrains Toolbox | Open Toolbox App → IDE settings → Settings → Configuration → Java Virtual Machine options → Edit.... Add -Djcef.remote.enabled=false, save, and restart the IDE. |
| Standalone macOS | Edit the custom VM options file in ~/Library/Application Support/JetBrains/<Product><Version>/. The file is usually named like idea.vmoptions, webstorm.vmoptions, or phpstorm.vmoptions. |
| Standalone Windows | Edit the custom VM options file in %APPDATA%\JetBrains\<Product><Version>\. For 64-bit IDEs the file is usually named like idea64.exe.vmoptions, webstorm64.exe.vmoptions, or phpstorm64.exe.vmoptions. |
| Standalone Linux | Edit the custom VM options file in ~/.config/JetBrains/<Product><Version>/. For 64-bit IDEs the file is usually named like idea64.vmoptions, webstorm64.vmoptions, or phpstorm64.vmoptions. |
If the file does not exist yet, create it in that custom configuration directory and put this line in the file:
-Djcef.remote.enabled=falseRestart the IDE completely after saving. The option is read only during IDE startup.
In JetBrains sandbox or EAP test launches, the built-in Edit Custom VM Options action can be unavailable because the launcher did not provide a writable custom VM options file. In that case, use the manual path above or configure the option in the launcher that starts the sandbox IDE.
Pros and Cons
Pros:
- Smooth trackpad scrolling and pinch-to-zoom in the pipeline editor.
- Lower input latency for canvas-heavy pipeline graphs.
- Keeps the editor closer to native Chromium behavior.
Cons:
- The option affects all embedded JCEF browser views in that IDE process, not only Intellij SFCC.
- It disables JetBrains' remote/out-of-process JCEF mode for that IDE run.
- If a future JetBrains build requires remote JCEF for a specific embedded-browser feature, remove the option and restart the IDE.
Sources: JetBrains JVM options, JetBrains Embedded Browser (JCEF), CEF off-screen rendering notes.
All settings are stored per-project. You can have different configurations for different SFCC projects.