Cezary Wojcik
Keyboard Wizard

July 16, 2013

I'm a big fan of Sublime Text 2 when it comes to web development due to its beautiful and simplistic interface as well as wide range of packages. I hate having to wait for a big IDE such as PHPStorm to load. Recently, I came across Adobe's open source project, Brackets.

Brackets is written using HTML5 and JavaScript. It runs its own Node.js server. This gives Brackets many unique advantages. For example, it can display the site that you are currently working on live (ie you do not have to refresh the page). Brackets highlights the portion of a site you are working on in the editor in the browser. It also automatically switches the pages in the browser based on what file you have open in Brackets.

Another one of the pretty awesome side effects of Bracket's being built using HTML5 and JavaScript is the fact that making your own extensions is really easy since you're probably already familiar with the language. Indeed, I made two of my own extensions.

The first extension I made is called Cleaner. It gets rid of all trailing whitespace, changes all tabs to spaces, and adds a newline at the end of the file if it is not already there. Sublime Text 2 has an option to do that when saving a file, but I wanted to be able to "clean" my code when I choose.

The second extension I made is called Charlimit. I like to make sure that my HTML and JavaScript is less than 80 characters per line. This extension draws a line at 80 characters (by default). This is similar to the way Notepad++ draws a line. Later, I also added a settings dialog that allows changing the color of the line and the character count at which it is drawn.

I used both of these extensions extensively during my trial run of using Brackets. Although Brackets is really nice, I'm probably going to still be using Sublime Text 2 for most of my coding. It has support for more than just HTML, CSS, and JavaScript, is more stable, and looks better. I imagine that the performance of Brackets will improve over time, as will the extension support. Brackets definitely has plenty of promise, however, and I will continue to follow it.