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:
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.
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.
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 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:
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.
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 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 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.
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
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.
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.
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.
Adds syntax highlighting as well as tab/code completion, for Sass and SCSS files.
5. Editor enhancements
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.
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 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 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 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 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 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.
These themes (there are four) bring Material Design to your text editor. The Material Theme also has custom icon support with A File Icon.
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!