Navigation
Jump from template paths and custom tags to their files, hover ISML tags for docs, and outline a template's structure and variables
The ISML language server connects a template to the rest of your project - so you can move from an include to its target, from a custom tag to its module, and see a template's structure at a glance.
Template & Custom-Tag Links
Template references are turned into clickable document links: Ctrl/Cmd-click a template="…" value - on <isinclude>, <isdecorate>, <iscomponent>, and friends - to open the referenced template.
<isinclude template="checkout/billing" />
<!-- ^ Ctrl/Cmd+click opens checkout/billing.isml -->Custom tags are linked the same way: clicking an <ismodule>-defined tag jumps to the template it renders (see Custom Tags & Modules).
When the same template path exists in more than one cartridge, the editor offers a quick-pick so you choose which cartridge's copy to open - matching how the overlay resolves at runtime.
Hover
Hover an ISML tag or attribute to see its documentation. For symbols inside ${ … } and <isscript> blocks you get the full script hover - dw.* signatures and JSDoc - described in Scripting in ISML.
Outline & Breadcrumbs
The server provides document symbols, so the Outline view and the editor breadcrumb bar reflect the template's structure. Beyond the tag hierarchy, the symbols include the variables a template introduces - your <isset> names and <isloop> variables - making it easy to see what a template defines and to jump around large templates.