Languages and Frameworks
Full support for Windows, Mac and Linux so your editing tool doesn't have to force your development platform. The way it should be. One Komodo IDE license entitles you to usage on all platforms.
Komodo IDE's Database Explorer includes support for MySQL, Oracle and SQLite.
Komodo ships with API Catalogs (that provide auto-complete info) for all of Rails, Drupal, jQuery, YUI, Dojo, ExtJS, Prototype, OpenSocial and more.
Choose from 100+ add-ons and counting. Komodo's built-in and 3rd-party extensions provide support for CakePHP, OpenSocial, Zend Framework, Zen Coding and more.
Source Code Control
Out of the box Source Code Control support for Subversion, Git, Mercurial (hg), Perforce, CVS and Bazaar.
Debugging for Six Languages
Changed Variable Highlighting
- PHP 4.4 - 5.3
- Python 2.4 - 3.2
- Perl 5.8 - 5.14
- Ruby 1.8 - 1.9
- Tcl 8.4 - 8.6
You can easily tell when a variable has been changed. When debugging, Komodo IDE 7 highlights any variables that have changed from the last breakpoint.
Local & Remote
Just click 'Debug | Go' to begin local debugging. Or use Komodo's remote debugging packages to have a separate process break into Komodo's debugger, ie. for debugging a web server script running via 'mod_php', 'mod_perl', a WSGI server, Rails, etc. The process being debugged can even be running on another machine.
Easy to Setup
Debugging is easy to setup. Often your first 'Step In' works out of the box. Komodo just needs to find your interpreter (and it generally can).
A rich set of breakpoint types is available to make tracking down a bug faster: break on file and line, conditional, watch for variable value changes, break on function call, on function return, on exception.
Multi-session support allows you to simultaneous debug multi-process: step through both sides of a Python client calling a REST API implemented in Rails. You can even use Komodo IDE's HTTP Inspector to debug the HTTP traffic.
Multi-threading support allows stepping through and breaking multiple threads. Engineers on Mozilla's build team use Komodo IDE's Python debugger to trace multi-threaded buildbot code.
Built on DBGP
Komodo IDE's debuggers are built on the DBGP protocol co-authored by ActiveState and currently used in many IDEs.
Rx (Regular Expression) Toolkit
HTTP/Ajax Debugging with HTTP Inspector
Inspect, intercept, and tweak browser-server communications. View and edit individual transactions break on requests or responses, and submit modified traffic.
Smarter Auto-complete & Calltips
Write code faster and shorten the learning curve with code completion that guides you as you work.
A quick outline of your code structure and the quickest way to find and jump to a function or class.
Easily navigate and filter source structure in a tree view of code objects.
Go to Definition
Jump to a symbol definition quickly, with a key stroke or with Ctrl+click (Cmd+click on Mac).
The code intelligence system is very extensible. Extensions can provide support for new languages.
Auto-complete and calltip info for a language module (ie. PyWin32, jQuery, YUI, PyQt) can be provided in a standardised XML file that describes the API.
Schema-based XML Auto-complete
An XML catalog file and any of a DTD, XML Schema or Relax NG schema can be given to provide auto-complete for XML dialects.
Support for native operating system input method editors to input Chinese, Japanese, Korean and Indic characters on Western keyboards.
Komodo's Editor sports all the basics and then some: folding, column/block editing, find highlighting, a tabbed editor, split view, multi-window support.
Background Syntax Checking
Out-of-the-box background syntax checking for all core languages. Never waste time on an accidental syntax error again. If you are learning a new language, syntax checking will help you along.
Soft Characters == Less Typing
Type an open quote in your code file and Komodo will insert the close quote for you (a soft character). Type the close quote and Komodo will know that you want two quotes, not three. Likewise for parentheses. It'll save you time.
Abbreviations == Less Typing
Insert common boilerplate snippets and template code with a short abbreviation. Use Komodo's tabstops and interpolation shortcuts to define powerful and re-usable snippets.
Code Formatting == Nicer Code
Komodo supports an extensible system for code formatting. Plugin your favoured code formatter and access it quickly via the 'Format' in the context menu.
Vi/Vim keybindings in a graphical IDE, the perfect combination. Vi emulation so good you'll be tweeting 'I can't believe it's not Vim'.
Hyperlinks, Go To Definition
Jump to the definition of a variable or function with Ctrl+hover and Ctrl+click (Cmd on Mac). Go to definition. Follow URLs. Edit a color in CSS. Define your own handlers.
Smart Auto-indenting, But Not Smart-Alleck
Language-aware smart auto-indenting frees your mind of indentation. However, Komodo doesn't try to be too smart, to avoid unproductive obsessing with whitespace.
Extensible with UDL
Syntax coloring support for new languages can be added via Komodo extensions using the User-Defined Languages (UDL) system. Komodo itself uses this for HTML, RHTML, Django HTML Templates, Smarty, Mason, etc. The excellent 3rd-party SciViews-K extension uses UDL for R syntax support.
Navigation & Search
Find & Replace
Komodo's find & replace system is fast and friendly. It supports full regular expression syntax (with Rx integration), Find/Replace in Files (with confirmation), Find/Replace in Project, multiline search and Unicode support.
Komodo remembers where you've been editing so you can easily jump back to previous positions in your code.
Mark important lines and quickly jump back to them.
Jump to Matching Brace/Tag
Easily jump (or select) to the matching brace, or matching tag in an HTML/XML file.
Projects & Places
The Places sidebar makes navigating your source tree, whether local or remote, simple. It integrates with project files, source code control, Publishing and mirrors actions on the file system so you don't need to leave Komodo IDE for managing your files.
The fastest way to open files. A simple and speedy dialog that helps you find the file you want with minimal keystrokes.
Launch the Stackato interface from the main toolbar to enable development, debugging and deployment to the cloud.
Subversion, Git, Mercurial, ...
... Perforce, CVS, Bazaar. Integration with major source code control systems enables you to perform repository checkouts and updates, file diffs, view commit history, revert and make multi-file commits--all from within Komodo IDE.
Live updating tree view of an XML or HTML document.
Quickly access databases in order to view tables and database schemas, perform custom queries or view and edit table rows. Database Explorer supports SQLite out of the box, with available extensions for MySQL and Oracle.
Sometimes editing locally makes more sense than editing remotely. With Komodo IDE's Publishing system, you can easily keep local and remote directories in sync.
Interactive Shells for Python, Ruby, Perl and Tcl
Try out and test code in the interactive shell.
Easy spell checking of your text documents.
Integrated running of tests for many popular frameworks: PHPUnit, Perl TAP, Python unittest, and Ruby's rake test.
Perl Dev Kit
Integration with ActiveState's Perl Dev Kit (PDK), a suite of tools for creating and deploying applications in Perl. Create Perl executables from within Komodo IDE.
Tcl Dev Kit
Integration with ActiveState's Tcl Dev Kit (TDK), a suite of tools for the professional Tcl developer.
Easily find and insert recipes from the ActiveState Code Recipes site (home of the popular Python Cookbook) with the Recipes Add-on.
Extensible / Customizable
Firefox-style Extension System
Komodo has long included an add-ons system based on Firefox's. It is a robust system that allows deep extension of Komodo. The Komodo Add-ons site includes many useful extensions. Among them:
- Zen Coding provides a dialect for high-speed HTML, XML, XSL authoring.
- MoreKomodo adds a number of useful features.
- SciViews-K 'transforms Komodo into an R editor and GUI.'
Komodo is highly customizable via an extensive preferences system and attention to many years of quality user feedback.
Out-of-the box keybindings, including Vi keybindings, are a good start. Almost any action in Komodo is a command that can be given a keybinding. As well, any Macro, Snippet or Run Command in the Toolbox can be given a keybinding.
Syntax Color Schemes
Syntax coloring is fully customisable. Schemes ('.ksf' files) are simple text files that can be dragged onto Komodo to install. There are many available.