Submit A Tip Alternative Tip Form

First Look at Brackets for Linux – The Open Source Editor from Adobe

Adobe’s open source editor has finally come to Linux after months of hard work by the Brackets community.

Whether it ultimately dethrones your favourite editor or solidifies your choice of IDE is hard to tell at the moment, but we’ve given Brackets a quick once over to give you a taste of Adobe’s latest efforts.

What’s Different

Not quite native.

Not quite native.

The first thing you’ll notice when starting Brackets is that it isn’t native. If the sidebar doesn’t give it away, the lack of global menu integration or even a standard GTK contextual menu or menubar certainly will. But don’t let this deter you. Much like Sublime Text, the interface doesn’t always fit in, but what you lose in consistency you gain in features.

Working with JavaScript with Brackets extensions.

Working with JavaScript with Brackets extensions.

And much like Sublime Text, Brackets also comes with extensibility in mind. Extensions can be quickly installed by clicking the second icon in the righthand toolbar (though installing and managing extensions has yet to be implemented in the Linux version). The collection of extensions available is much smaller than Sublime Text at the moment, but the few that are available show off the power of Bracket’s approach to code editing.

For example, the Brackets Todo extension offers a pane to quickly scan for comments marked TODO, FIXME, and a slew of other tags whilst Theseus – a joint research project between the User Interface Design Group at MIT and Adobe Research – lets you debug JavaScript from within Brackets, counting, labelling, and providing backtraces for any called functions.

Quick editing a class and previewing a colour.

Quick editing a class and previewing a colour.

One of the unique features of Brackets is the ability to quickly edit certain elements like CSS classes or JavaScript functions where you actually use them. Rather than hunting down a class buried in thousands of lines of CSS, pressing Ctrl-E will search through the entire “file tree” (everything within the open folder) and present just the applicable classes for editing.

Hovering over certain elements will also show a popup with a colour or image to quickly preview changes without having to reload your browser or hunt down a referenced image.

But when you are working in the browser, you can use Brackets’ “Live Preview” feature (currently limited to Chrome) to load changes automatically when you edit CSS or save an HTML file. This isn’t quite as featureful or seamless as, say, IntelliJ IDEA/WebStorm where you can highlight elements on the page from the editor (an option exists to do the same in Brackets, but hasn’t worked for me yet) and update the page in realtime without having to save, but it’s still faster than switching to the browser and reloading the page by hand.

What Needs Work

The usual caveats apply for languages that traditionally use IDEs like Java, Scala, etc. Though you can use Brackets for syntax highlighting and opening files for these languages, you’ll find the niceties of Eclipse, IntelliJ IDEA, and other IDEs sorely missing.

A non-native menubar isn’t always a bad choice, but for an extensible editor, menus run the risk of becoming unwieldy once you add all your favourite extensions. Having access to items through the HUD or even a Sublime Text-like “Command Palette” would do wonders to simplify keyboard-centric workflows. Though a shortcut remapper extension exists – and works with your other extensions to remap conflicting shortcuts – it isn’t always easy remembering a hand-twisting combo for a rarely-used command.

A native GTK menubar is currently in the backlog, but whether it’ll work with Unity’s global menubar or with the HUD remains to be seen.

Installing extensions is not yet supported on Linux, but it’s currently in the backlog of Bracket’s Trello board as well. In the meantime you can download extensions by hand and unzip them into ~/.Brackets/extensions/user to make them available on restart.

Image handling is nonexistent.

Image handling is nonexistent.

Though Brackets is great for code editing, it won’t be able to open images or other assets nor can you define applications to open these files. “Show in OS” has yet to be implemented in the Linux version either, so you’ll need to open project files in your file manager by hand.

Once the feature is implemented, Brackets’ image handling won’t be much different from Sublime Text – i.e., nonexistent, barring the ability to open it in your file manager – but you can still preview images by hovering over their paths in HTML img src attributes.

Though the Brackets developers have provided deb packages for easy installation on Debian-based OS’s, there are still a few packaging quirks and missing libraries to work out.

If you hurry to the downloads page, install Brackets, and find it won’t launch, you may be hitting one of these missing libraries. As of Sprint 28, the 64-bit version of Brackets won’t be able to find libudev0.so.0, but you can find a solution here in the meantime.

Should I Switch?

‘Brackets is most definitely an upgrade from gEdit’ 

If you’re a web developer using gEdit or other fairly simple editors, Brackets is most definitely an upgrade if you’re looking for a little more assistance or additional features without too much fuss.

If you’re using Sublime Text, WebStorm, or any number of mature editors and IDEs, you’re probably not missing anything your current environment doesn’t already have.

Brackets is progressing quickly with help from both Adobe and the greater Brackets community. Once the larger Linux-related bugs and missing features are fixed a few sprints down the line, it’ll be a much more robust solution for people looking for a free and open source upgrade to the humble text editor.

Download Brackets