Increase Productivity with Komodo: an Extensible, Multi-language IDEBy George Fekete
This article is sponsored by Komodo IDE. Thank you for supporting the sponsors who make SitePoint possible!
It’s undeniable that most of a developer’s time is spent inside an editor, writing code. Add to that the time you spend identifying and trying to fix code issues, and it can be more than 40 hours a week.
With this in mind, it’s important to have the ability to customize your coding tools to suit your visual preferences and work style. It’s even more important to find ways to do things efficiently and maximize your productivity. To get to that point, you’ll want to consider a reliable, well-established Integrated Development Environment (IDE) rather than just a code editor.
IDEs are much more than just code editors. They provide a whole development toolset. From code debuggers, integrated version control — supporting the most popular software such as Git, SVN, Mercurial — to unit testing environments, where you can have a framework automatically set up. Bonus points go to any IDE that can really let you make yourself at home, by allowing you to customize the environment to conform to the way you work best.
While most powerful IDEs boast some or all of these features, they’re often restricted to a specific platform or programming language. You’ll typically need to buy a license for each operating system or language you choose to develop in. A costly proposition, but fortunately not one that applies to all IDEs.
Komodo IDE stands out by offering a single license that can be used across all platforms — Windows, OS X and Linux — to develop a wide variety of languages. You don’t need to waste money buying a separate license key for each one, and you don’t need to worry about compatibility or being forced to put up with the particular quirks of one platform. Komodo also offers plenty of customization and extensibility, as well as top-notch version control and debugging services.
In this article I’ll review Komodo IDE version 8, outline its features and advantages, and you’ll learn how this software can help you in writing better code and to become a more productive developer.
For the screenshots displayed below, I used Komodo’s “Abyss” skin after having customized Komodo to my liking.
How Komodo IDE can help you
Its “cross-platform” nature means you can run the software on all major operating systems, OS X, Windows and Linux. This is nice if you work in a team and team members use different operating systems.
These cross-platform capabilities stem from Komodo’s implementation of the Mozilla engine, the same framework that powers equally-cross-platform browser Firefox.
More and more companies are making their software free for the open-source world and for educational institutions and ActiveState, the team behind Komodo IDE, is no different, with a range of licensing options available for individuals/freelancers, companies, and open source projects. Head over to the website and download a free trial.
ActiveState, the company behind Komodo IDE, also offers a free and open-source version of the software, cutting out all the advanced features, leaving you with a powerful, stripped-back code editor.
Key features of Komodo IDE
Komodo IDE has a balanced selection of features, with everything you’d expect from an IDE without becoming bloated.
Besides the editor, the IDE has a debugger, unit testing, a flexible “toolbox”, version control system integration, team collaboration, and powerful code intelligence with autocomplete and intelligent code refactoring.
Komodo has a powerful debugging engine with all the features you’d expect, such as viewing the call stack, breakpoints, remote debugging, and an interactive shell.
To start the debugger go to Debug -> Go/Continue or Debug -> Step In. By default the Debug Options window will appear, where you can configure the debugger environment, like select the programming language, set up environment variables or insert additional arguments.
Currently Komodo supports Perl, Python, PHP, Ruby, XSLT and Tcl programming languages. It will automatically detect the programming language by the currently opened file’s extension.
To open the toolbox go to View -> Tabs & Sidebars -> Toolbox. By default, tools are categorized into three folders: the top level is the global toolbox, and the two additional toolboxes are the shared and project toolbox. You can create as many additional toolbox folders as you wish.
The top level toolbox can be applied to any file you’re working on, the shared toolbox are tools that can be shared with your team members or available in other Komodo installations, and finally the project toolbox contains tools specific and visible to the currently active project.
Code intelligence (or “code completion”) is a must-have feature for every major IDE. Komodo is no exception, and it has a very powerful engine for this feature.
Code intelligence in Komodo IDE isn’t limited to completing your method and property names, it also has code refactoring capabilities and smart code transformations like variable renaming and method extraction.
The code browser and go-to definitions are also part of the IDE’s code intelligence. The code browser lets you navigate the source in a tree view, and clicking on one of the methods or properties will jump to that line in the file. It’s very convenient.
The goal of an IDE is to help you work fast and efficiently. This means every part of the development workflow should have a unified process in the IDE.
Version control is no exception. Sure, you could commit and manage code in the command line, or a 3rd party GUI client, but that would mean you would need to switch windows, leaving the IDE to complete a given action.
Komodo IDE supports all major version control systems, such as Git, Mercurial, Subversion, Bazaar, Perforce and CVS, allowing you to manage version control in the IDE.
Version control is enabled by default, but you can manage it on a project level by clicking on View -> Toolbars -> Source Code Control. Another icon will appear in your toolbar, which lets you perform actions on the repository.
Komodo IDE’s code editor is very solid, with all the features you would expect from an IDE. A nifty feature that stands out is multiple line selection.
It’s really easy to use: Go to the line you want to edit, select the text you want and hit CMD + D (or CTRL + D in Windows), or access the function via the Menu, Edit -> Select -> Multiple Selection – Add. When you start making modifications, they will affect all the selected lines.
Syntax highlighting is now a standard feature for any self-respecting code editor. Komodo IDE supports countless languages. Just click the bottom “File Type” pane to select/deselect multiple languages.
A Minimap panel is displayed in every file you edit, and you can toggle this off on a per-file basis by clicking on View -> View Minimap. This panel shows an overview of file contents, allowing you to have a sense of where you’re currently located, and also to see an overview of file nesting.
Split View is another useful feature, allowing you to open multiple files in a splitscreen view. This is useful if you want to do comparisons between different files, or open multiple file types separately, such as PHP on one pane, HTML or CSS on another.
What I like about the Editor Tabs function is that the tabs behave just like browser tabs. For example, you can create a new file by hitting CMD+N (CTRL+N) (you can configure the default file type). If you accidentally closed a tab, you can bring it back with CMD+SHIFT+T (CTRL+SHIFT+T), and you can close a tab by hitting CMD+W (CTRL+W). You can also manage your open files through the left sidebar “Open Files” widget. This is far more useful if you’re working with a large number of files.
How to customize your editor
Komodo IDE is very flexible when it comes to configuration. Every view, icon, and section can be customized to fit your needs.
I’ll cover the most important ones below.
Customizing the editor
The default configurations are good, but they can be even better with just a couple of minutes of configuration.
In my book, the font size and line-height are the most important to configure first, because you’ll spend a good amount of time looking at code.
Komodo IDE’s default font size and line-height are too small for my taste, so let’s just configure that. Go to Preferences, click on Fonts and Colors and set your font size on the Fonts tab.
Komodo 8 does not have a line-height setting. However, the upcoming Komodo 9 will have this setting. Here’s how to set the line-height in the Komodo IDE 9 Pre-Release: click on the Common Syntax tab within Fonts and Colors and select the bracebad element type. Set your desired size and click OK.
Besides font size and line-height, you can configure every other aspect of your IDE experience.
If you want white space to be visible just click View -> View White Space. If you want line numbers or identation guides, just click View -> View Line Numbers or View -> View Identation Guides. To apply global settings for these options, visit Preferences -> Editor -> General.
The configuration possibilities are endless.
Skins and color schemes
I don’t know about you, but for me a dark theme always relaxes my eyes better than a light background. Fortunately changing themes in Komodo IDE is very easy.
There are two aspects of changing the overall color in the application. First, you can change the Skin which controls the interface of the application (toolbars, code browser, etc.). You can also change the Color Scheme, which controls the code editor itself.
Go to the Preferences, click on Appearance and change the Skin from default to another skin (I chose Abyss), then go to the Fonts and Colors again and select a different scheme from the Color Schemes drop-down.
Every editor-specific configuration can also be modified on a language level too, by clicking on the Language Specific tab.
Syntax highlighting can also be enabled on a file level too. In the file editor, click on the File Type on the bottom and check all the languages that are mixed together in the file.
Shortcuts and key bindings
Shortcuts and key bindings are a powerful way to quickly navigate through different windows.
One of the most powerful, fast shortcuts I use in every IDE is to open files quickly, without searching through the file tree. In Komodo this shortcut is CMD+SHIFT+O on a Mac or CTRL+SHIFT+O on Windows. This function is being completely overhauled in Komodo 9, with a ton of new features and a visual update.
A popup will now be visible; you can just start typing the file’s name and hit Enter to open it instantly.
You can configure every part of keybinding in Komodo. To see a full list of the available shortcuts go to Preferences and click on Editor -> Key Bindings.
On this popup window you can also define key binding schemes, or select from a list of available ones such as Emacs, Vi or Windows.
If you find you need additional functionality, you’ll quickly find Komodo has a wide variety of extensions. You can find extensions for many additional functionalities that aren’t built into the core of Komodo IDE.
To install new extensions go to Tools -> Extensions in the navigation and click on Get Add-ons tab. Here you’ll see a list of all the available extensions for the IDE.
On the Extensions tab you’ll see all the installed extensions, like the DB Explorer, Git plugin, and Breadcrumb section. Here you can disable those extensions you’re not going to use.
Popular Komodo IDE extensions
From the extensions homepage: “If you work on big projects, it’s very hard not to get lost in your code without a decent map. NST provides it, in a manner similar to Komodo Code Browser.”
It provides a new panel for visualizing your source code. Go to View -> Tabs & Sidebars -> Source to enable it.
Side-by-Side Diff is an add-on for the regular diff dialog for seeing changes side-by-side.
When you activate the diff dialog — by going to File -> Source Code Control -> Diff (Compare Files) — you’ll see a drop-down menu called Diff style where you can enable the side-by-side diff view.
Komodo IDE has database explorer capabilities built-in, but it doesn’t have the MySQL driver implemented in it’s core. With this extension you can add this functionality, enabling you to connect to MySQL databases.
Once the extension is installed, go to View -> Tabs & Sidebars -> Databases, click on the “+” sign on the left and create a new database connection for MySQL on the popup window.
This is a really useful extension, it parses the file you currently opened, and shows you if there are todo comments.
A little icon on the status bar will show you if there are any todos, click on it and it will bring up the Todo panel. You can define the search pattern for todo lines in the file.
There are so many extensions for Komodo IDE. To find them, do a search on the Add-ons Manager window.
Other notable extensions include:
- kopy.io: This addon lets you send code from Komodo to its new complementary text storage app, kopy.io.
- Tab Switcher
- Komodo Go
- HTML Tools
- DOM Inspector
For serious development, you can’t beat an Integrated Development Environment. But it’s important to have one that fits in with your workflow as smoothly as possible. Komodo IDE is a very versatile IDE, with many features that aid developers in writing better code, their way. Its cross-platform nature means you can use the operating system (or operating systems) you want, to write in your language of choice, without having to shell out for multiple licenses.
ActiveState is constantly working on advanced features and workflows so you, the developer, don’t need to leave the IDE’s window. That’s the beauty of an IDE, after all.
Komodo is up against tough competition in this market, but it’s constantly evolving, with excellent core features such as the debugger, a very powerful code editor, integrated version control, multi-language support. All these features are as good or better as any popular IDE you can buy today.
Komodo IDE offers a free 21 day trial, which you can download here. Give it a spin and see if it’s the right tool for you.