Use this guide after installing and licensing the plugin. You will configure one development connection and verify remote access before deploying code.
Have these details ready
- Your project repository with its cartridge sources.
- The development sandbox hostname and intended code version.
- A sandbox account, or your team's encrypted credentials file and matching secret key.
- The site and cartridge path for your project. Configure API clients or certificates when your sandbox or selected features need them.
Connect your project
Open the project
Open the repository root in your IDE and let indexing finish. Confirm that your cartridge sources are included in the project.
Set up credentials
Open View → Tool Windows → B2C Credentials. Create or import the credentials file, then check that the sandbox account is available.
Create the connection
Open B2C Explorer from View → Tool Windows. Use its connection controls to add a sandbox, enter the hostname, and select the stored account. Add API client or certificate settings only if required, then save.
Select the development target
Choose the connection using Select Connection in the toolbar. Refresh code versions and select your team's development version. Check the site scope and keep Auto Upload off while verifying the setup.
Check remote and local files
Expand a remote folder in B2C Explorer and confirm that its files are listed. Check the active connection and code version in the toolbar, then open a local cartridge script or ISML template and try completion.
Deploy your first change
After verification, follow Deployment for a deliberate first upload and check the result in B2C Sync Log. The toolbar's selected code version is your target; activating a code version on the server is a separate action.
Use Cartridge Management if local cartridges or overrides do not match the storefront. Confirm the selected site and cartridge path before changing mappings.
If setup fails
| What you see | Next check |
|---|---|
| The account selector is empty | Open B2C Credentials, import or sync the file, and confirm the account exists. |
| Remote access is rejected | Check the account, host access key, and sandbox permissions. |
| The host cannot be reached | Check the hostname and your organization's VPN or network requirements. |
| WebDAV works but API actions fail | Verify the selected API client and its permissions for that action. |
| Cartridges or completion are missing | Check the project root, source folders, and indexing status. |
Toolbar and Status
Find the active connection, code version, deployment, and upload controls.
Connections
Connection fields, target switching, and team imports.
The following section is only needed if the visual pipeline editor has scrolling or zoom performance issues.
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.