Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>ExpressionEngine PlusNew to Visual Studio Code? Get it now.
ExpressionEngine Plus

ExpressionEngine Plus

moringm

| (0) | Free
ExpressionEngine template language support for VS Code — syntax highlighting, IntelliSense, and snippets without breaking other extensions.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

ExpressionEngine Plus

ExpressionEngine template language support for VS Code — syntax highlighting, IntelliSense, and snippets that work alongside other extensions.

Features

  • Syntax highlighting for EE tags, variables, conditionals, comments, and operators in .html, .xml, and .feed files
  • IntelliSense — completions for globals, exp: tags, and tag parameters
  • Snippets — eeif, eeentries, eeifel, eecomment, and more (type ee to see all)
  • Auto-close tags — typing } after an EE tag pair automatically inserts the closing tag
  • Path completions — file/folder suggestions inside {embed="..."}, {path=...}, and other EE path parameters
  • EE comment toggle — Cmd+/ (Mac) / Ctrl+/ (Windows/Linux) uses {!-- --} when the line contains EE syntax, <!-- --> otherwise
  • Third-party addon support — add an addon.json to your addon folder for custom completions

Why not the original?

The original ExpressionEngine extension registers .html files as a custom expressionengine language, which breaks:

  • Path Intellisense
  • IntelliSense for CSS class names
  • Auto Rename Tag
  • Color Highlight
  • CSS Peek

among others. This extension injects EE syntax into the standard HTML grammar instead, so .html files remain html — all other extensions continue to work normally.

Settings

Setting Default Description
expressionengine.suggest.basic true Enable/disable EE completions
expressionengine.autoClosingTags true Auto-insert closing tags after }
expressionengine.templatesPath ${rootPath} Root path for path completions inside EE tags (embed, path, template, etc.) — set this to your EE templates folder
expressionengine.thirdPartyAddonPath ${rootPath}/httpdocs/system/user/addons/ Path to third-party addons folder for custom completions

Snippets

Prefix Description
eeif {if} block
eeifel {if}/{if:else} block
eeifelseif {if}/{if:elseif}/{if:else} block
eeentries {exp:channel:entries} pair
eenav Channel entries navigation loop
eecomment {!-- --} comment
eelayout {layout} tag
eesetvar {layout:set} variable block
eeembed {embed} tag
eeloginform Member login form
eecommentform Comment form
eecomments Comment entries
eesearch Search results
eecontact Contact form
eerss RSS feed
eevar EE variable
eepath {path} tag
eeurltitle {url_title_path} tag

Credits

Inspired by jrrdnx/expressionengine.

Features

  • Syntax highlighting for EE tags, variables, conditionals, comments, and operators in .html, .xml, and .feed files
  • IntelliSense — completions for globals, exp: tags, and tag parameters
  • Snippets — eeif, eeentries, eeifel, eecomment, and more (type ee to see all)
  • Auto-close tags — typing } after an EE tag pair automatically inserts the closing tag
  • Path completions — file/folder suggestions inside {embed="..."}, {path=...}, and other EE path parameters
  • EE comment toggle — Cmd+/ (Mac) / Ctrl+/ (Windows/Linux) uses {!-- --} when the line contains EE syntax, <!-- --> otherwise
  • Third-party addon support — add an addon.json to your addon folder for custom completions

Why this fork?

The original extension registers .html files as expressionengine language, which breaks:

  • Path Intellisense
  • IntelliSense for CSS class names
  • Auto Rename Tag
  • Color Highlight
  • CSS Peek

among others. This extension injects EE syntax into the standard HTML grammar instead, so .html files remain html — all other extensions continue to work normally.

Settings

Setting Default Description
expressionengine.suggest.basic true Enable/disable EE completions
expressionengine.autoClosingTags true Auto-insert closing tags after }
expressionengine.templatesPath ${rootPath} Root path for path completions inside EE tags (embed, path, template, etc.) — set this to your EE templates folder
expressionengine.thirdPartyAddonPath ${rootPath}/httpdocs/system/user/addons/ Path to third-party addons folder for custom completions

Snippets

Prefix Description
eeif {if} block
eeifel {if}/{if:else} block
eeifelseif {if}/{if:elseif}/{if:else} block
eeentries {exp:channel:entries} pair
eenav Channel entries navigation loop
eecomment {!-- --} comment
eelayout {layout} tag
eesetvar {layout:set} variable block
eeembed {embed} tag
eeloginform Member login form
eecommentform Comment form
eecomments Comment entries
eesearch Search results
eecontact Contact form
eerss RSS feed
eevar EE variable
eepath {path} tag
eeurltitle {url_title_path} tag

Credits

Original extension by Jarrod Nix.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft