Code Completion
Intelligent autocomplete for SFCC APIs, ISML tags, and more
Intellij SFCC provides context-aware code completion across all SFCC file types, powered by the JetBrains platform's indexing engine.
DW API Completion
Get full autocomplete for the entire dw.* API surface:
var ProductMgr = require('dw/catalog/ProductMgr');
var product = ProductMgr.getProduct('my-product-id');
product. // ← full completion for Product methods and propertiesThe plugin ships with type stubs for the entire SFCC API. Completions include JSDoc descriptions, parameter types, and return types.
Require Path Resolution
The plugin resolves require() paths across your cartridge path overlay:
// Resolves across cartridge overlay
var base = require('*/cartridge/scripts/helpers/productHelpers');
var guard = require('*/cartridge/scripts/guard');Completion triggers automatically when typing inside require('...') strings, offering:
- Cartridge-relative paths (
*/cartridge/...) - Absolute module paths (
dw/...) - Relative paths (
./,../)
ISML Tag Completion
Full tag completion inside .isml templates:
<isif condition="${pdict.}">
<!-- ↑ completion for pdict properties -->
<isinclude template="" />
<!-- ↑ completion for template paths -->
<isset name="" value="" scope="page" />
</isif>Inside ${} expressions, get completion for:
pdictproperties passed from controllers/pipelines- DW API static methods
- Loop variables from
isloop - Session, request, and response objects
Hook Completion
When registering or calling hooks, the plugin completes hook names from your hooks.json:
{
"hooks": [
{
"name": "app.payment.processor.CREDIT_CARD",
"script": "./cartridge/scripts/hooks/payment/processor/creditCard"
}
]
}Controller Route Completion
Get completion for controller routes when using URLUtils:
var URLUtils = require('dw/web/URLUtils');
URLUtils.url('Account-Show'); // ← completion for all controller routes