Thursday, February 23, 2012

Building your own IDE

So, recently, I've been dabbling a bit in node.js / javascript. This has led me to the conclusion that these monolithic IDE's we use every day, are a Bad Idea (i'm looking at you eclipse). Because of the bloatedness of IDEA/eclipse/netbeans for javascript / HTML development I went back to basics. Basically building my own IDE using smaller, more specialized components. So, my basic setup is as follows:
  • Sublime Text 2 - text editor and syntax highlighting
  • jslint - Lint tool for Javascript code. It's basically a syntax checker, together with a bit of static analysis
  • npm - this is the node package manager. Think maven. It can also run your tests
  • guard - this is a ruby gem I use to watch for file changes. It can execute arbitrary commands whenever a file changes
  • libnotify/notify-send - libnotify is used to make popups on the desktop
Right, so those are the pieces. How do they fit together though? Well, easy. Guard is setup to watch my source/views and tests. Whenever any of these changes, the complete test suite is run using npm, and the output is received as JSON. I then parse the JSON to create a popup on my desktop, which instantenously gives me the results of the unit tests. This works so well that I haven't really touched the browser in the last week to test my javascript code. Here's the code for the test running/popup: Here's my guard file: The popups look really nice. They are also quite customisable (depending on your notify backend). Try
notify-send "Test" test
on your PC to see what it does. Anyway, first post! Here's an example of the popup:

1 comment:

  1. Linux is so marvelous! When I attempt it, I get a decent popup in the upper right corner of my screen. Is there some proportionate for xbox?

    web 2.0 design // Best Website Design

    ReplyDelete