As a developer, one tool stands above the rest as the most essential — the almighty text editor. I’ve been a long time user of Panic’s fantastic code editor for Mac, Coda. It packs a lot of features and is a great all around editor. That said, I find its extensibility lacking. It doesn’t have as many plugins as other editors. And Coda 2 broke one of my favorite plugins, Emmet. So about a month ago, I switched to my second-favorite editor, the one most of my coworkers use — Sublime Text.

Sublime Text is very extensible. But out of the box, it doesn’t match up against Coda’s main selling point: it’s super amazing sidebar that consist of a full-featured file-browser, FTP client, and snippet manager. You will never be able to fully replicate it in Sublime Text 1. My goal was much less ambitious — to make the Sublime Text sidebar tolerable. In addition, I wanted to make it easy to create snippets and sync my text editor settings between machines. Using the powerful package manager, Package Control, I set out to make Sublime Text as much like Coda as I could. Here are the five essential plugins I’ve been using. (Note that I am using Sublime Text 3.)

1. Emmet

I’m starting with Emmet because it’s the primary factor in my switch to Sublime Text. Emmet takes some of the redundancy out of writing markup by allowing you to write shorthand syntax which expands into HTML. For example, this:

div.page>ul>li*3>a

becomes:

<div class="page">
	<ul>
		<li><a href=""></a></li>
		<li><a href=""></a></li>
		<li><a href=""></a></li>
	</ul>
</div>

This is extremely convenient when you need to build out a lot of HTML. It includes some cool CSS shorthand as well.

2. AdvancedNewFile

This package offers a quick input field for creating a new file at some path within your project. It works a lot like the bash command mkdir and will appeal to folks who prefer keeping their hands on the keyboard. Granted, this is a departure from the stated goal of making Sublime Text a little more like Coda, which favors a mouse-based approach. But at the same time, it makes Sublime Text work with the filesystem better—something Coda is pretty good at.

3. SideBarEnhancements

This package adds some extra oomph to Sublime’s sidebar by expanding on the options in the context menu. If you want to the power to right click your way to productivity, then this package is for you. Move, rename, open with, move to trash, copy/paste files—these are some of the file actions available in your sidebar. This package is essential if you want a Coda-esque sidebar in Sublime Text.

4. SnippetMaker

Snippets in Sublime Text are written in a particular syntax and added by saving files to the filesystem. This is the sort of tedious tasks that computers were meant to do for you. SnippetMaker automates this tedium. Highlight some code you have written then run SnippetMaker. With very little resistance, it will create for you a snippet based on your selection. While it doesn’t give you a good way to organize your snippets, it does make it easy to add and edit them. In practice, I haven’t needed organization, so I don’t mind that my snippets are all sitting in one location together.

5. Package Syncing

One package to rule them all. Package Syncing does what it says on the tin by allowing you to sync your packages and settings across different computers. This is great because you can invest some time setting up Sublime Text once, just how you like it, and carry over those settings to your laptop, work computer, etc. This is akin to Coda’s “Panic Sync” feature, which lets you sync some data and settings between Coda installations.

This is not a review

I’m not pitting these applications against each other. I’m a fan of both of these editors. I’m trying Sublime Text because, at the time of this writing, Emmet doesn’t work well in Coda 2.5. But I like many things about Coda and wanted to replicate some of its features in Sublime Text as best as I could. If you are on a Mac and you are using either one of these editors, you have made a solid choice as far as I’m concerned.


  1. I’m actually offloading the majority of file browsing and FTP access to Panic’s Transmit, which I reluctantly call an FTP client even though it is so much more.  ↩