Text editors are one of the most basic must-have tools in the arsenal of every developer. However, whether you choose Vim, Atom or Sublime Text, one thing is certain: you will need plugins to get the functionality you want.
It doesn’t even matter if you’re a web developer or Python coder. If you want to enhance your text editor to be a comfortable tool for coding? You’ll need to download and install plugins or extensions.
When it comes to Sublime Text, there’s a good reason for its popularity among its peers. It packs quite a few built-in features that make this lightweight cross-platform tool loved by many despite its license cost.
The features Sublime Text 3 (the latest commercial version) offers developers include GoTo definition, a command pallet, split editing and a list of handy preset keyboard shortcuts. However, if you need more than markdown support and spell checking for text? You’re going to have to turn to plugins (also known as packages) for your Sublime Text.
It’s worth noting that our list of our favorite Sublime Text plugins is fairly versatile and is (mostly) random in order. Our list of the top seventeen Sublime Text packages has something for everyone with both general packages and extensions aimed at developers in specific languages or stacks.
Top 17 Sublime Text Plugins
Before you can install any packages to extend the functionality of Sublime text, you will need a package manager. This makes Package Control the most essential plugin for Sublime Text.
As the name suggests, Package Control lets you install, download and update packages in Sublime Text. It includes a list of over 2,500 packages available for installation. Not only that, but you can add any GitHub or BitBucket repository as a package.
Package Control will also automatically update packages installed to minimize the time you spend on maintenance. That way you can focus on the actual coding and package update hunting for Sublime Text.
2. TabNine (by Codota)
Our own AI-powered predictive code completion solution has its own Sublime Text plugin available. It replaces the native Sublime Text auto completion feature with a far more comprehensive solution.
TabNine indexes your entire project by reading your .gitignore or others, and determines which files to index. With that data, it can predict long file names before you type them by leveraging a mnemonic completion engine with near-instant suggestions as you type.
If you’re a frontend developer odds are you are familiar with Emmet regardless of the editor or IDE you use in your day to day coding. Emmet streamlines work with HTML and CSS, in essence helping you type a lot less. It lets you use abbreviations that automatically deflate into fully functional code. You can then interact with the resulting code snippets to add tags and make other changes.
As expected, Emmet is available as a downloadable Sublime Text package from the Package Control extension.
Though this plugin is quite out-of-date and was originally created for Sublime Text 2, it continues to maintain a steady stream of downloads on packagecontrol.io
Alignment is a useful tool for aligning multiple sections or multi-line sections. It’s a simple keybind package that aligns your selection when you type ctrl + alt + a on Windows, or cmd + ctrl + a on a Mac. Of course, you can assign different delimiters to save keystrokes and time.
When installed and run, JSHint opens in a new window where it displays potential errors and problems in your code. If you want to see it in action, you can play around with the web-based version on the JSHint website.
Provides enhancements to the operations on the Sidebar of Files and Folders for Sublime Text. Among other functions, it sets delete at “Move to Trash”, adds an “Open with…” option, as well as a plethora of actions you can perform on files and folders without closing Sublime Text to perform actions on files.
It’s worth noting that SideBarEnhancements is not only one of the top downloaded packages, but is also well maintained on GitHub.
SublimeLinter is a plugin for Sublime Text that provides a framework for linting code. One of the most downloaded packages available for Sublime Text (up there in the top 25), SublimeLinter does not actually lint all by itself. To perform linting on your code, you’ll also need to install the package suitable for the language or languages you code in.
Though it may sound like a small change to your workflow, automatic completion of filenames in your code can save you quite a lot of time and typing. Once installed, all you need to do is type Ctrl+Space when trying to link to a file. AutoFileName will then bring up a list of files and directories that you can easily browse through and select.
To make things even more efficient, you can customize AutoFilename to automatically appear upon pressing / . Even fewer keystrokes!
GitGutter is a Sublime Text plug-in that shows information about files in a git repository in a way that draws inspiration from Atom.
As the name indicates, it will show you Gutter Icons to indicate inserted, modified or deleted lines. Hovering over the icons will bring up a Diff Popup with details about modified lines. You can then navigate between changes and perform commands on each change.
Does exactly what the name says by adding a color picker dialog so you can insert or change color references in your code with ease. To open the color picker, simply type cmd+shift+c on a Mac, or ctrl+shift+c on Windows or Linux. The default setting is to insert the hexcode in uppercase, but you can customize it to insert lowercase in the package settings.
Who touched your files and what did they do? The who is less critical than the changes made, which is where the FileDiffs plugin package comes in handy.
Instead of manually digging through the git repository history or (Gods forbid!) the content of files, you can use FileDiffs. It will show you the differences between the current file, or selection(s) in the current file, and clipboard, another file, or unsaved changes. FileDiffs can also be configured to work with external diff tools in Sublime Text.
When you work with code, brackets and tags can be an endless source for bugs and compilation errors. This makes Bracket Highlighter a must-have plugin package for most Sublime Text users.
Bracket Highlighter matches a variety of opening and closing brackets such as:
<tag></tag>, as well as custom brackets and tags.
It’s worth noting that the Emmet plugin mentioned above does add some bracket highlighting features. That said, if you’re looking for a more customizable and comprehensive tool – Bracket Highlighter is your plugin package.
GitHubunator is a package that will allow you to select text in a Sublime Text file, and see the highlighted lines on a remote GitHub or BitBucket repository. All you need to do is highlight the text you want to search for, then right click to open the context menu. You can then launch the corresponding Github or Bitbucket web page in your default browser.
ChangeQuotes converts single to double or double to single quotes while attempting to preserve correct escaping. To run it, place the cursor anywhere inside the quoted text then open the command palette to run it.
Finding the right theme and syntax highlighting style is a matter or trial and error. For those who want to look beyond the default themes built into Sublime Text, Themr is the plugin you seek. It allows you to quickly and easily cycle forward, backward, or randomly through your available UI themes using the command palette or keyboard shortcuts.
You can also add new themes and keep them organized and saved as presets. You can even assign keyboard shortcuts to quickly access your favorite themes.
A small but necessary plugin for most web developers is LiveReload. Instead of having to refresh your browser every time you make a tiny change to a file in order to see results? LiveReload will simply sync with your browser of choice and instantly display the updated results.
Last but not least, a Sublime Text plugin that optimizes the usage of terminal features. This useful plugin creates the keyboard shortcuts and menu entries you can use to quickly open a terminal no matter where you are. So for example, you can run terminal at the position of the file currently edited, or jump to the project root folder.
This list is by no means comprehensive. In fact, at the time of writing, there are just over 5,000 packages available for download from packagecontrol.io alone! So there’s no doubt that we’ve left out a few plugins and extensions you simply can’t live without. Which is it?