Liquid for JetBrains IDEs
First-class Liquid support for every JetBrains IDE, from WebStorm to RubyMine. Built for Shopify theme development, and just as at home in a Jekyll codebase.
Start your free 14-day trial Then $12, once · no subscription
Liquid, as your IDE sees it
Every token below is coloured by the same lexer that ships inside the plugin — the same four states, the same keyword tables, the same fold regions. Switch themes, collapse a block, read the edge cases.
Try the arrows in the gutter. They mark exactly what the editor
folds — every paired tag, from if and for through
schema and paginate to the new block,
partial and doc — plus
{% comment %} blocks.
Use cases
New — announced at DotDev 2026
Ready for Shopify's new theme architecture
Shopify's theme developer preview moves page structure out of JSON templates and back into Liquid. We shipped support the week it was announced — highlighting, folding, bracket matching, autocomplete and live templates for every new tag.
{% partial 'product-grid' %}
{% for product in collection.products %}
{% block 'product-card', block.settings.product: product %}
<h2>{{ product.title }}</h2>
{% endblock %}
{% endfor %}
{% endpartial %}
These tags are a Shopify developer preview, so the syntax may still shift. We track it as it changes.
Works with your JetBrains IDE
- IntelliJ IDEA
- WebStorm
- PhpStorm
- PyCharm
- RubyMine
- GoLand
- RustRover
- CLion
- Rider
- DataGrip
- DataSpell
- Android Studio
What you get
Syntax highlighting
Proper highlighting for Liquid tags, filters, and expressions inside .liquid and .html files.
Jump to definition
⌘-click (or Ctrl-click) on an {% include %}, {% render %}, or {% section %} path to open the referenced template instantly.
Template-aware editing
Bracket matching and indentation that understands Liquid blocks.
Code folding
Collapse {% if %}, {% for %}, {% case %}, and comment sections to keep long themes readable.
Live templates
Type a short abbreviation and Tab to expand it into a full Liquid tag — conditionals, loops, assignments, and renders.
Autocomplete that knows Liquid
Tags, filters and Shopify objects offered in the right place — filters only after a |, object properties after a ., with parameter info and quick docs. Coverage of Shopify’s filter set is still growing.
Mixed languages, understood
Each language in a file gets real editor support — the HTML around the tags, and JSON, CSS or JS inside them. To the IDE, {% schema %}{ "gap": 16 }{% endschema %} is genuine JSON.
Lightweight
No bloat. Install it, restart, get back to writing templates.
Fourteen days free, then pay once
Every install starts with a free 14-day trial — the whole plugin, nothing held back. Keep it and you buy it a single time on the JetBrains Marketplace — a perpetual licence, so all future updates are included. No subscription and no renewal.
JetBrains handles licensing and billing. The exact terms for each licence type are on the Marketplace listing.
Help & FAQ
Which IDEs are supported?
Twelve of them: IntelliJ IDEA, WebStorm, PhpStorm, PyCharm, RubyMine, GoLand, RustRover, CLion, Rider, DataGrip, DataSpell, and Android Studio. The plugin depends only on the platform, language, and XML modules, so it installs on any IntelliJ-based IDE that ships them.
Is it available?
Yes. It’s on the JetBrains Marketplace — open Settings → Plugins → Marketplace, search for Liquid for Shopify & Jekyll, and click Install.
What does it cost?
$12 for an individual, or $24 per seat for an organisation — a one-time purchase with a perpetual licence and every update included. There’s a 14-day free trial, and it’s never a subscription.
Which file extensions does it recognise?
Out of the box, the plugin handles .liquid files. You can also associate .html or any custom extension with the Liquid file type via Settings → Editor → File Types.
Does it work with Shopify themes?
Yes. Shopify themes are the primary target — sections, snippets, and layouts are all recognised. Jekyll and other Liquid-based site generators work too.
Where can I report a bug or request a feature?
Email hello@obra.studio with as much detail as you can: IDE version, plugin version, and a minimal template that reproduces the issue.