ISML Support

Full language support for ISML templates

Intellij SFCC provides first-class support for ISML (Internet Store Markup Language) - the template language used in SFCC storefronts.

Syntax Highlighting

Rich syntax highlighting for all ISML constructs:

  • ISML tags - <isif>, <isloop>, <isinclude>, <isset>, etc.
  • Expression language - ${...} expressions with DW API awareness
  • HTML integration - standard HTML highlighting alongside ISML
  • Embedded scripts - <isscript> blocks with full JavaScript highlighting

Code Inspections

The plugin runs real-time inspections on your ISML templates:

Template Navigation

Navigate between templates with ease:

  • Ctrl+Click on <isinclude template="..."> to jump to the included template
  • Ctrl+Click on <isdecorate template="..."> to open the decorator
  • Find Usages on any template to see where it's included from
  • Go to Declaration on pdict properties to find the controller that sets them

Formatting

Auto-format ISML files with the built-in formatter:

<isif condition="${pdict.showProducts}">
<isloop items="${pdict.products}" var="product" status="loopstate">
<div class="product-tile">
<h2>${product.name}</h2>
<span>${product.price}</span>
</div>
</isloop>
</isif>
<isif condition="${pdict.showProducts}">
    <isloop items="${pdict.products}" var="product" status="loopstate">
        <div class="product-tile">
            <h2>${product.name}</h2>
            <span>${product.price}</span>
        </div>
    </isloop>
</isif>

Configure ISML formatting rules in Settings → Editor → Code Style → ISML.

Live Templates

Use built-in live templates to quickly scaffold ISML patterns:

AbbreviationExpands To
isif<isif condition="${}">...</isif>
isloop<isloop items="${}" var="" status="">...</isloop>
isinc<isinclude template="" />
isset<isset name="" value="" scope="page" />
isdec<isdecorate template="">...</isdecorate>
isscr<isscript>...</isscript>

On this page