The Best Sublime Text Plugins for Front End Developers

The Best Sublime Text Plugins for Front End Developers
Sublime Text 3 open on a computer desktop

Every developer has their own tooling and special setup, I know I do. It’s that tooling that can help you become a faster, stronger, and more productive developer.

One of the ways I find new tools is through pairing with other developers. I’ll be working on a problem, and see the person I’m pairing with do some magical thing in a two second flash.

This is the moment I interrupt the pairing session to find out what that tool was, where to get it, and how to use it. This is by no-means the most efficient way of finding new tools, but it’s often when I find the best ones.

With all this in mind, I spent some time polling front end developers here at Shopify, to get a list of all the essential Sublime Text plugins they just can’t live without.

To make things a bit easier, I broke the plugins into the following categories:

1. Installation

Package Control

The first and probably most essential plugin, is Package Control. It enables the easy installation, download, and update of packages or plugins, into Sublime Text. The terms package and plugin are often used interchangeably.

Package control website.

To install Package Control, follow the instructions found on the Package Control website. From there, you can simply type in ctrl+shift+p on Windows, or cmd+shift+p on a Mac to open the Command Palette.

Installing package control in Sublime Text 3.
Installing Package Control.

Once the Command Palette is open, you can then type Install Package, to install a plugin from the Package Control website. You can also type Add Repository, which allows you to add plugins that are not hosted on the Package Control website, by simply using their repository url (make sure not to include .git at the end). And finally, Remove Package, will let you uninstall a plugin from your system by removing it, as well as any assets from the Sublime packages directory.

2. Snippets and code style

Snippets are a great built-in feature of Sublime Text. You can build your own, in addition to using the preinstalled ones, or use a plugin that has a bunch for you like Emmet. The way snippets work is simple; you simply begin typing a keyword that activates a snippet, and press tab to expand the text.

Emmet

Expanding markup with Emmet.
Expanding markup with Emmet.

Emmet is a plugin that enables faster HTML and CSS creation with the use of snippets. It uses abbreviations that expand to valid HTML tags.

For example, to build out a navigation you only need to type the following code:

Which will expand to:

Alignment

Aligning variable definitions with Alignment plugin.
Aligning variable definitions with Alignment.

This plugin helps to easily align multiple selections, or multi-line selections. What that means is you can align multiple selections, or lines, via delimiter such as =. Simply type ctrl + alt + a on Windows, or cmd + ctrl + a on a Mac, to align your selection. To align with : follow this tutorial to setup custom delimiters.

3. Git integration

Most developers use some type of version control. These days, Git seems to be the most popular. Here are a few Git related plugins for Sublime Text that make working with Git a lot easier.

SublimeGit

SublimeGit screenshot.

You used to have to pay for this plugin (that’s how awesome it is), but this past year it was open-sourced. SublimeGit brings Git into Sublime, so you don’t need to go back and forth between the command line and your text editor. It has a huge list of features, which you can find in the SublimeGit docs. To get started quickly, install the plugin and use the Command Palette to launch your Git commands.

GitGutter

GitGutter screenshot.
Modified line, deleted region borders, and inserted line indicators in the Sublime Text gutter.

GitGutter brings some native Atom functionality to Sublime, adding diff hints to the gutter of the sidebar. You can additionally hover on the indicators in the sidebar, to see a diff popup. You can perform a variety of commands on the change, such as copying the content of the diff state, reverting the changes back to the state in Git, jumping to next or previous change, and more.

GitHubinator

GitHubinator opening GitHub blame.
Opening Git blame on Github for selected lines.

Githubinator is a plugin that shows selected text on a remote GitHub or Bitbucket repository. You simply highlight the text you want to search for, right click to open the context menu, and launch the corresponding Github or Bitbucket web page in your default browser. This plugin is amazing if you need to figure out who’s worked on a file previously, or check the Git blame.

GitOpenChangedFiles

GitOpenChangedFiles screencast.

This plugin isn’t coy about what it does; its name says it all. Simply install and run cmd + option + o on a Mac, or ctrl+ shift + o on Windows, and watch this plugin open the corresponding files for you in Sublime Text, with all the files you’ve changed in your branch.

You might also like: The Essential List of Resources for Shopify Theme Development.

4. Linters and syntax highlighting

SublimeLinter

SublimeLinter website.

This is the most popular linter available on Sublime, as it currently sits in the top 25 downloads on Package Manager. Once installed, you’ll also want to install plugins for the various languages that you might code in.

To do this, just open Package Control to install plugins with the same name. Simply type SublimeLinter-<lintername>, for example SublimeLinter-jshint. You must install linter plugins with SublimeLinter — the version for Sublime Text 3 doesn’t come with them pre-installed.

ChangeQuotes

ChangeQuotes screencast.
Changing double to single quotes, with the Command Palette.

This plugin “converts single and double quotes, and and re-escapes quotes within the string,” according to their docs. Once installed, whenever you want to change quotes, make sure your cursor is inside the quoted text. Open the Command Palette to run ChangeQuotes — there is no need to select the text to change quotes.

Syntax Highlighting

Syntax highlighting of Babel
Syntax highlighting courtesy of Babel.

There are a ton of plugins for syntax highlighting. These are the two major plugins we use at Shopify, that fall outside the existing syntax highlighting that ships with Sublime Text.

SASS 
Adds syntax highlighting as well as tab/code completion, for Sass and SCSS files.

Babel 
Adds syntax definitions for ES6 JavaScript, with React JSX extensions.

Siteleaf Liquid Syntax
Adds liquid syntax highlighting for Liquid as well as some handy snippets.

    5. Editor enhancements

    SidebarEnhancements

    SidebarEnhancements screenshot.
    Left: Before SidebarEnhancements. Right: After SidebarEnhancements.

    SidebarEnhancements provides enhancements to the operations on Sidebar of Files and Folders for Sublime Text. Particularly, it sets delete options as a “Move to trash,” includes an “Open with…”, gives you the ability to move files, and more.

    GhostText

    GhostText screencast.
    Linking CodePen to Sublime Text. 😮

    This is probably one of the coolest plugins I’ve seen in awhile. It allows you to link your Sublime Text editor (with all your plugins 🎉) to text areas in a browser. For example, you could work on a CodePen, but do all the editing in your main text editor. You just need to install the plugin and browser extension. Simply highlight the text area you want to link, and click the browser extension: then magic happens.

    BracketHighlighter

    BracketHighlighter screenshot.
    Bracket highlighting in Sublime Text 3.

    BracketHighlighter does exactly what it says, highlights the brackets in your code. It matches a variety of brackets, such as [], (), {}, ””, ’’, #!xml <tag></tag>, as well as custom brackets if you add them.

    Gutter Color

    Gutter Color screenshot.

    Gutter Color is a great plugin that displays a colored icon for all lines containing a color. What’s nice about this plugin, compared to others, is that the color highlighting is a bit less intrusive, as it only appears in the gutter (instead of behind a highlighted word). It will please the designer in you.

    A File Icon

    A file icon list of icons.

    A File Icon plugin is great for easily scanning what files you have in your project. It simply adds pretty and customizable icons to supported files in your project sidebar. It’s supported by Material and Boxy Themes for customized thematic icons.

    6. Themes and fun

    Since you’ll most likely spend lot of time using your text editor, so it’s nice to make it as visually pleasing as possible. It’s important to know that themes are different from color schemes. A theme is the look of your editor itself, such as the sidebar UI, tabs, modal windows, etc. A color scheme is the background and syntax highlight colors of the main editing area.

    Color Sublime

    Color Sublime screencast.
    Toggling through various color schemes with Color Sublime.

    Color Sublime is a plugin that enables the installation of color schemes to your editor. These color schemes change the syntax highlighting. What’s great about this is you can cycle through a list of schemes, rather than having to install each one and see if you like it.

    Boxy Theme

    Boxy Theme screencast.

    Boxy theme has three main themes for your text editor, all of which look beautiful. It also has add-ons, which allow you to change your fonts too. The Boxy Theme has custom icon support via A File Icon.

    Material Theme

    Material Theme screencast.

    These themes (there are four) bring Material Design to your text editor. The Material Theme also has custom icon support with A File Icon.

    Emoji

    Emoji screenshot.

    Because...why not. This plugin allows you to insert emoji via the Command Palette. Amazing!

    Plugins for all

    There are a ton of plugins you can install to customize your development experience. Hopefully, this article shows you a few new ones that you’ll enjoy. Do what makes sense for you and your job, and whatever will make you more efficient. Happy coding!

    You might also like: The Essential List of Resources for Shopify App Development.

    What Sublime Text plugins do you use? Tell us in the comment section below!

    About the Author

    Tiffany is a Front End Developer Advocate Lead at Shopify. She specializes in front end development, user experience design, accessibility, and is passionate about inspiring young designers and developers. Previously, she was an Ottawa Chapter Lead for Ladies Learning Code and worked as a Front End Developer for Partnerships at Shopify.

    Grow your business with the Shopify Partner Program

    Learn more