I recently started rewriting all of my PhD tools in CoffeeScript from ActionScript. I’m loving the python-like syntax and I’m very happy with the language as well as the ecosystem around CoffeeScript and node.js. Tools are an important part of the experience so I’ve played around with several editors/IDE’s for writing CoffeeScript. Here is a quick comparison.
- Nice clean interface written for the Mac
- Syntax highlighting that works in both .coffee and CakeFile
- Instant startup/shutdown and low resource usage. I can code on battery for 4+ hours on my MacBook Pro.
- Preview mode for HTML.
- Hackable. I already upgraded the 3rd party mode file. I have thoughts on plugins for running unit tests and reporting code coverage.
- Only subversion integration. Personally, I never use the source code integration built into editors and IDE’s so this is not a problem for me. But EVERYONE uses git for CoffeeScript. I just started using GitHub for Mac. I’ll see how that goes but I can always use the command line.
- No code folding. Again, not a feature that I miss too much because I can put each class into a different file. The navigator is also a decent substitute.
- NodeUnit support built in. Nice!!!
- Keystrokes that make sense to me. Ctrl-Y means yank this line. It’s the only one of the three that does that.
- Still beta quality
- The syntax highlighter doesn’t like multi-line comments “###”…”###” to have any “#” inside. Until they fix this, I’m not going to use it again.
- My .idea folder got corrupted several times and each time it lost my configuration foo for running nodeunit tests.
- Heavyweight. It’s essentially the IntelliJ IDE with java editing (and a bunch of other functionality) removed.
I started writing CoffeeScript in TextMate and I still pull up .coffee files for a quick look in TextMate so this is my backup.
- Syntax highlighting that works. I think TextMate’s is the basis for the Coda one that I use.
- Folder as a project. I like this concept and you can sorta do this in Coda but it’s nice to open one project/folder with tabs for all of the files that are part of that project but still be able to open separate windows for other files that I randomly need to edit. If you right-click…open in Coda, it’ll create another tab in the “workspace” that you are working in even if the file has nothing to do with that project.
- None really other than it missing some of the Pros of Coda.