The Great Windows Code Editor Hunt: Komodo Edit

Komodo edit logo
Komodo edit logo
Komodo edit logo

Second up on my list of code editors to review is Komodo Edit. No we’re not talking about the paid IDE but the free version.

The Good

Komodo Edit is developed on the Mozilla platform which means it’s a cross-platform code editor just like Firefox is a cross-platform web browser. As I said when I started there is an extra point for any editor that is cross-platform since I do end up spending some time each week on Mac and Linux. Add that to the price tag of FREE and you’ve got a decent editor to try.

Editing code in Komodo Edit
Editing code in Komodo Edit

Komodo has lots of options for configuration. Prefer a different colours scheme? Yeah you’re only a few clicks away from having a multitude of choices. Need to change how indentation works on files? Again a click or two and you’re all changed up. Use Emacs key bindings evidently Komodo Edit supports that as well, though I don’t use them so I have no clue on how well it supports them.

Another point in for Komodo Edit is the amazing extensions. When I needed proper colour coding for HAML in a project I just opened up the extension manager typed in HAML installed, and restarted Komodo Edit and I was ready to go. Need jQuery support, no problem search your extensions.

pick your poison with addons
pick your poison with addons

When I started this whole quest I also made a project browser a requirement for a code editor to be considered. Komodo Edit has a great project browser. It’s easy to navigate and clear.

The Bad

Edit: Checkout the response from ActiveState in the comments to some of my ‘Bad’ points.

While building on the Mozilla platform gave Komodo edit a leg up by making it easy for developers to extend it, there are also some downsides. Who hasn’t given up on Firefox after you’ve been using it for a year or so and it just takes forever to get up and running? I mean my 95-year-old grandmother has done three laps around the walking track before Firefox has loaded. Komodo suffers from this as well. It seems to me that Komodo Edit is just as slow to start as Firefox is on a given system. I have Komodo Edit installed on two systems. One is a bit new and Firefox is still snappy and so is Komodo Edit. The other systems is pretty powerful but has been around on the same install of Windows for a bit and both Firefox and Komodo Edit give you enough time to go get groceries while they start. Never seems to matter if it’s warm or cold, they’re just slow.

komodo is slower than dreamweaver
komodo is slower than dreamweaver

While I said this is a code editor hunt I know some people might take issue with including Komodo Edit here. Really Komodo Edit is an IDE. Start a new Ruby on Rails project from within Komodo and you get a bunch of extra ‘helper’ files and stuff it thinks you need. While this might help a new developer it also hinders them long-term. So the extra crap is a point against Komodo Edit.

Again in the beginning I said that I gave points to an editor that was cross-platform and while Komod Edit is the Linux install is less than desireable. I was never able to get the launch icon to show up properly in my Ubutnu Netbook Remix properly. Sure there is probably some place I need to put the .desktop file but as I said last week it should just work. I should have to go hunt around for how to make it work. Komodo Edit needs to work on their install process in Linux.

While the project browser is great on Komodo Edit it also sucks. At different times I’ve had issues creating new files in the project window. This has happened while working on both WordPress and Ruby on Rails projects. I was also never able to find a way to open and close the project browser from the keyboard. While this isn’t really an issue on my dual 22′ screen desktop it is annoying on my 10′ netbook. You can close it from a button at the top of the tool bar but that is less than desireable.

Komodo Edit also adds a project file to each project. If this was it’s only fault then it would hardly be a big one but combine that with some of the others above and it’s just a pain in the ass to add yet another thing to my .gitignore file.

Conclusion

The biggest point here is how long it takes to open. Cold or warm even Dreamweaver would win a start-up race and be on its second beer by the time Komodo Edit gets to the finish line. The slowness is something I’m just not willing to suffer.

The few other big things are the fact that working on projects in Komodo can separate you from your code as it throws all it’s IDE features at a project. The the lack of a great keyboard navigation so you always have to go back to your mouse, and the less than desirable install on other platforms just put the whole package over the top. It’s something to try if you’re looking for a code editor but it’s on my list of products I wish were a bit better, then I could use them regularly.

The Great Windows Code Editor Hunt

code editor article imag
code editor article imag
code editor article imag

I’m a web designer/programmer so I spend a good portion of a day in a code editor (at least if it’s a good day). I’m pretty particular about what code editor I use and what features it needs so I’m on a hunt for a great code editor for Windows. My plan is to use a code editor for at least 2 weeks to really get a handle on exactly how it works and to get as familiar as possible with all of the shortcuts.

The Requirements

So lets start by figuring out exactly what I’m looking for. I’m not going to list the normal things like syntax highlighting that are just required to even get into my list for testing.

  1. Code Completion of Some Fashion: I need code completion of some fashion. Whether that’s adding the end tag automagically upon completion of the beginning tag or if it’s hinting at the next tag to close. I’m not picky really on which way it works. Extra point for tab style tag and block code completion.
  2. Project Browser: The code editor needs to have a project browser (Sorry VI) even if it’s not included out of the box there needs to be a plugin to make it work.
  3. Dark Theme: It’s a personal preference but I need a darker theme to look at all day. My eyes hurt if I get stuck looking at something super white all day. Light greys or browns all work just can’t be white. And you need to make it easy to switch the theme with some template of some fashion. I’m not opposed to having to build a template if none exists already but it better be easy to do.
  4. Lite Weight: I don’t want to wait forever to open a file. I willing to wait on the first cold start of the day but after that you better be quick.
  5. Good Looking: If I have to look at and work with you all day you better be pretty, well pretty enough. I’ve seen a few editors that just look really freaking ugly. I’ll admit I’m a bit vain and I require a UI that looks good and works.

Nice to Have

  1. Snippet Management and Completion: I end up working across 3 different OS’s so while I like snippets built-in I find they’re never on the system I need them on. I’d like it but it’s not a deal breaker.
  2. No Project File: I’d love not to have a .whatever project file added to projects but if the rest of the application rocks then I’ll deal with adding it to my .gitignore file.
  3. Editing of Live Files: My workflow has me building all my sites locally and doing all my testing for browsers there. I don’t need to edit live files on a server often so I don’t have much call for publish on save but if you have it I’ll give you a point.
  4. Cross-platform: I end of doing a bit of work on Windows, Mac, and Linux so I’d love something I can learn and use across all platforms as my main development platform.
  5. Spell Checking: I write all my blog posts in a text editor so spell checking would be great but not a need. I use After the Deadline on by blog before posts go out and will continue to do so even if the editor has spell checking.

The Contenders

So I’ve got some contenders already. Some I’ve used and some I’m planning to try.

  1. Dreamweaver: I get it with CS4 Design Premium so I figure I’ll go over why I’m not using it (yeah that was a spoiler). Read Review
  2. Komodo Edit: Not the paid IDE but the free Komodo Edit. It appeals because it’s cross-platform and free is a good price. Read Review
  3. gedit: It’s the right price and on my two main platforms for development (Windows, Linux) so it’s in.
  4. InType: Heard lots about how it’s like Textmate for Windows. Textmate is the cat’s ass according to some programmers I know so I figured I’d be up for trying it. Read Review
  5. E Text Editor: Another Textmate for Windows I hear. I actually tried it a few months back and for some reason that escapes me right now I have no idea why I’m not using it still. So if I can get it running again on the trial I’ll review it.
  6. Notepad++: It’s a staple of any programmers “I’ve tried it” stable so now I’ll try to be its lover for a bit.
  7. PSPad: I’ve been told that real programmers on Windows are using Notepadd++ or PSPad so it’s in.
  8. Sublime: Suggested below and reviewed.

What’s Missing

Am I missing something in my list? Is there a code editor that you just love and hasn’t cropped up on my radar? Let me know. I don’t promise to use it but I promise to at least visit the site and see if it could be a contender.

The Best Windows Ruby on Rails Setup Part 2

Episode 2 - The Best Windows Ruby on Rails Setup, Part 2
Episode 2 - The Best Windows Ruby on Rails Setup, Part 2

This is the second part to getting a Windows machine set up for Ruby on Rails Development by having Ubuntu running inside Virtualbox. View Part 1 here. Today’s screencast will walk through installing Ruby, rubygems 1.3.5 and Rails with rubygems, and SqLite3 as well as installing my preferred code editor Komodo Edit. Watch the screencast or read below for the written instructions.

Edit

This same procedure has now been tested on Ubuntu 9.10 and works fine.

Play

View Part 1

Installing Ruby

To install Ruby in Ubuntu we can simply install from the built in repository in Ubuntu. You don’t need to compile this from source if you don’t want to.

[bash]sudo apt-get install ruby-full build-essential[/bash]

Now let’s see what version of Ruby we have.

[bash]ruby -v[/bash]

This should return something along the lines of:

[bash]ruby 1.8.7p5000 (2009-02-22) [i686-linux][/bash]

And finally let’s check to make sure the Ruby library is working.

[bash]ruby -ropenssl -rzlib -rreadline -e ‘puts :Hello'[/bash]

Should return

[bash]Hello[/bash]

Installing Ruby Gems

Ruby Gems should be compiled from source using the latest version of Ruby Gems. The first line of bash I run just runs two commands one after the other.

[bash]
mkdir src
cd src
wget http://rubyforge.org/frs/download.php/57643/rubygems-1.3.4.tgz
tar -xzvf rubygems-1.3.4.tgz
cd rubygems-1.3.4
sudo ruby setup.rb
sudo ln -s /usr/bin/gem1.8 /usr/bin/gem
[/bash]

Nothing shows as output form the last command. It creates a symbolic link.

Installing Rails

Now that we have Ruby Gems installed Rails is a very simple thing to install. You should think of Rails to Ruby as you think of jQuery to Javascript. Rails is simply a set of assumptions about how you want to use Ruby that is bundled into a Gem. Install Rails through Ruby Gems with a single line.

[bash]sudo gem install rails[/bash]

Testing Your Rails Installation

Now that we have Ruby on Rails installed properly we should test it just to be sure.

[bash]
cd ~/
mkdir sandbox
cd sandbox
rails test-app
cd test-app
script/server
[/bash]

Now open up Firefox and enter “localhost:3000” into your url bar. You should see the standard Ruby on Rails starting app page.

Edit

As you’ll notice in the screencast Rails works but gives a warning and I wasn’t sure what it was. Thanks to Brian Mayle who helpfully points out the answer in the comments. We still need to install the sqlite3 connector. So run the following two lines and you’ll be right as rain.

[bash]
sudo apt-get install libsqlite3-dev
sudo gem install sqlite3-ruby
[/bash]

Installing Komodo

Finally we’re going to install Komodo Edit which is my preferred code editor for Ruby on Rails projects. I have tried Bluefish, Netbeans and many other but just keep coming back to Komodo Edit as superior for how I work.

Start by downloading Komodo Edit and just directly opening it in the Archive Manager. Drag the resulting folder onto your desktop and jump back into the terminal and run the commands below.

[bash]
cd ~/Desktop/Komodo-Edit-5.2.0-4075-linux-libcpp6-x86
sh install.sh
[/bash]

Now it’s going to ask where you want to install your software. I like to keep things organized so I install all of the custom apps inside my Home folder in a folder called software. Run the following commands to accomplish this.

[bash]
/home/myuser/software/Komodo-Edit-5
[/bash]

Next we have to insert the executable in our PATH variable with the command below.

[bash]
sudo ln -s ‘/home/myuser/Software/Komodo-Edit-5/bin/komodo’ /usr/local/bin/komodo
[/bash]

Now you’ll have a new ‘icon’ on your desktop that says ‘komodo-edit-5.desktop. This is the actual icon to launch the application but first we need to right click on it select ‘Properties/Permission” and check the box that allows executing as a program. You should now see the proper Komodo Edit Icon.

I like to drag this icon into the software folder we created and then from there drag it into the top bar in my Ubuntu installation so I can launch the application easily.

Conclusion

Now we have a working Ruby on Rails development environment with a working code editor. If you have any questions let me know in the comments.

Links used

Play