43
votes

I wonder if someone managed to enable the Liquid templating engine syntax highlighting in WebStorm IDE, I work a lot on Shopify stores and really like using Webstorm for that purpose. Did anyone managed to get this working?

I found some resources regarding this issue on JetBrain's forum though it didn't quite got me anywhere, there is one dude who suggested using 'tmBundle' and that might work if you do some dark magic.

The thread is: RUBY-7210 and the official plugin request: JetBrain's plugins: Liquid Templating language request

5
OK, I figured something out though it's not a complete solution and I'm far from being happy with it, just followed the advice from "RUBY-7210" thread which suggests to use 'tmBundle' to enable .liquid highlighting. So to do that you can download the following package: github.com/Shopify/liquid-tmbundle go to "webStorm settings > Plugins" and make sure you got "TextMate bundles support" enabled. next go to "Settings > Editor > TextMate Bundles" press the "+" and point to the place of the package you downloaded from gitHub. open a ".liquid" file and walla, got highlighting, a bad one. - Ilia luk
One more thing, make sure in the "settings > Editor > TextMate Bundles" section you change the "TextMate Color Scheme" to your current Scheme by pressing on the default "Mac Classic" and choosing something else, it makes it look a bit better though I'll be really happy if WebStorm could treat this file as normal "HTML" file with this extra 'tmBundle' highlighting. - Ilia luk

5 Answers

127
votes

I've found out that Twig have a very similar syntax to Liquid, enabling the Twig plugin will highlight Liquid syntax and will keep the HTML highlight/autocomplete/emmet functionality working as opposed to the "textMate Liquid bundle".

Go to Settings > Editor > File Types find "Twig" on that list and associate Liquid files with it by adding *.liquid to the registered patterns section.

If you can't find Twig, download the official plugin from the "Browse repositores" or in the "install JetBrains plugin". If you can't find it there then download the plugin and install it manually by pressing "install plugin from disk": https://plugins.jetbrains.com/plugin/7303?pr=

You will also want to associate *.scss.liquid to .scss files, *.css.liquid to .css files and *.js.liquid to .js files so that Twig wouldn't run on those type of files.

The end result works like a charm! it's the best solution yet until some official plugin will come out, hope it helps someone.

8
votes

To follow up on Ilia luk's answer, PHP Storm now has Twig support built in—just enable the plug-in if it isn't already.

3
votes

Adding to the styles for Shopify, since it adds JSON for settings. Enable JSON wrapping between schema tags in

Settings > Editor > Language Injections

Click add/plus button. Then add settings

Language ID = JSON

Places Patterns = + twigCustomStatement("schema")

0
votes

Adding another answer here: RubyMine by JetBrains have Liquid syntax included with the IDE. There is a Liquid plugin that says IntelliJ Ultimate is compatible, but I couldn't get it to work: https://plugins.jetbrains.com/plugin/14388-liquid

0
votes

JetBrains PHPStorm now has a Liquid Plugin available. You have to have PHPStorm version 2020.2 or higher (that took me a while to figure out, I was on 2020.1).