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:

SettingDescriptionExample
HostnameYour sandbox hostnamedev01-na01-example.demandware.net
UsernameBusiness Manager usernameadmin
PasswordBusiness Manager password••••••••
Code VersionActive code versionversion1

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

SettingDefaultDescription
Auto-upload on savetrueAutomatically upload files to the sandbox when saved
Upload delay300msDebounce delay before triggering upload
Show upload notificationstrueDisplay notifications after each upload
Exclude patternsnode_modules, .gitGlob patterns to exclude from upload

ISML

SettingDefaultDescription
Enable ISML inspectionstrueRun ISML-specific code inspections
Highlight custom tagstrueHighlight custom ISML tags
Template resolutionCartridge pathHow to resolve template includes

Script

SettingDefaultDescription
Enable DW API completiontrueAutocomplete for dw.* API classes
Resolve require pathstrueResolve CommonJS require paths across cartridges
Enable hook navigationtrueNavigate 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=false

This 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.

Add the JCEF Option

Add the following line on its own line:

-Djcef.remote.enabled=false

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 typeWhat to do
JetBrains ToolboxOpen Toolbox App → IDE settings → Settings → Configuration → Java Virtual Machine options → Edit.... Add -Djcef.remote.enabled=false, save, and restart the IDE.
Standalone macOSEdit 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 WindowsEdit 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 LinuxEdit 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=false

Restart 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.

On this page