After months of hearing the question "When are you adding Node.js support to Komodo?" I'm very pleased to announce that Node.js autocomplete and debugging are available in Komodo IDE 7 Alpha 3.
node executable and add library search paths.
Without any configuration, Komodo should find node if it's on your path, and give you autocompletion for everything in the core library. The recursive scanning of node library directories is not quite there yet, so you'll have to manually add the path of each npm module you want to use. Once you have, you'll get autocomplete for those third-party modules as well.
As far as I'm aware, Komodo is the first IDE to provide this feature for Node.
Komodo uses heuristicts (i.e. looking for things like '
require('foo')' or '
We've also added Node debugging!
You can run and step through the code, set breakpoints, examine and edit variables, and all of the things you can do when debugging Python, PHP, Perl, Ruby or Tcl in Komodo.
When starting the debugger, you may be prompted to create a mapped URI for linking the URI provided by the debugger with the file system location (e.g.
file://127.0.0.1/path/to/file --> file://path/to/file), but once you save the mapping things should work fine. Like the recursive code intelligence scanning, we'll fix this so it all happens automatically in future releases.
Stackato integration and movable panes
Along with the Node features, we've also fulfilled a very long standing feature request: the ability to move the tabs in the sidebars and bottom pane around. If you want to put the Toolbox in the left sidebar, and the Debugger in the right - go for it.
There's also integration with our cloud platform, Stackato. That takes a bit more explaining, so I'll make it the subject of it's own upcoming blog post.
Upgrades and support
For those of you who are torn between buying Komodo 6 now vs. waiting for the official Komodo 7 release, you can essentially get both (think of it as "upgrade insurance") by getting the Upgrades & Support subscription. When Komodo 7 is released, you'll be good to go.