2007 / June 25th/ Using TextMate’s TODO bundle
If you use TextMate, you should really think about using the TODO bundle more often. It’s a pretty simple, low-maintenance bundle that adds tremendous value to your code.
Setting TODO, FIXME, and CHANGELOG
Using the bundle is pretty easy. In any language, just type in a quick comment with the prefix TODO, FIXME or CHANGED like so:
def view
# TODO: different display for different types of clips: active, processing, etc
@clip = Clip.find(params[:id])
# TODO: Make a real related clips dealieo
@related_clips = Clip.find(:all, :limit => 6, :conditions => ["clips.status = 'processed'"])
end
Using this syntax lets you keep pushing ahead at full steam and leave the hard stuff for later. For example, in the above example I wanted to get a quick functional prototype out the door. It wasn’t mandatory that the Related Clips actually be related: it was only mandatory that there was content present.
You can also use the keywords FIXME or CHANGED throughout your code, like so:
def view
# FIXME: This totally breaks if an invalid ID is given
@clip = Clip.find(params[:id])
# CHANGED: @related_clips now uses a model method related_clips
@related_clips = Clip.related_clips(params[:id])
end
This lets others working on the code let you know that you know something is broken and/or changed, but you just don’t have time to get to it.
Getting the information back
Well, that’s all fine and well.. but how do you know what needs to be fixed/changed/done ? Just hit Ctr+Shift+T and TextMate will pop up with a pretty little list, hyperlinked and all
Ctrl + Shift + T brings up a list of all your todo’s
I use this bundle practically every time I open up Textmate. It allows me to keep on a focused track of development, while still keeping a lot of “ooh, I need to do that sometime” kind of tasks on the radar.
20 Comments
Make a Comment
don’t be afraid, it’s just text

Warpspire is the place that web professional Kyle Neath writes about the web. 


June 25th | #
Yet another reason for me to purchase a Mac. :)
June 25th | #
Great stuff–I had some issues with it picking up TODO’s in plugins in Rails, but it’s real easy to ignore folders. Here’s the example I found
June 25th | #
“I’m an Apple trapped inside a PC.”
Kyle how use textmate in PC?!
June 25th | #
Oh my god Kyle you are my savior. I have a feeling this will become about as useful as the subversion plugin. Thank you!!
June 26th | #
Sorry, can’t be a miracle worker ;)
June 26th | #
Hey Kyle, I’m the maintainer of the
TODObundle. Nice article!As it happens I just made a major update to the Bundle which will ship with the next build of TextMate. A little birdie told me that we will see a new build in a few days.
My commit message: [CHANGED] Major update to the TODO List Bundle. More beautiful output with sortable lists and progress showing scanning folder.
I have uploaded a on my website at http://public.serenity.de/todo.jpg.
Thanks for spreading the word and have fun using TextMate,
Soryu.
June 26th | #
PS: the missing word there was “screenshot”, which hyperlinked via markdown to an image… which you stripped of course. silly me, did not actually want to include the image in the post. regards.
June 26th | #
I love TxM and the TODO bundle. It’s also possible to add your own tags if the default TODO, FIXME, and CHANGED don’t embody your own style. As of the current version of the TODO bundle, you can edit the “TODO Markers” preferences in the Bundle Editor by adding new tags and the associated colors and regexp patterns. Just follow the example of how the existing tags are configured. When in doubt, check out the TODO bundle’s help command.
Also, great job on the redesign! I might be wrong, but it looks like you might be using the golden mean for your column ratios.
June 26th | #
Cool feature. I never have used the TODO bundle with TextMate and didn’t know that is what it was for. Instead I was compiling my own list. Looks like I’ve been wasting quite a bit of time…
June 27th | #
Thanks for the tip. I’ll definitely make use of this tomorrow. Every now and then I learn something completely new and can’t-live-without about TextMate - it’s probably one of my best software purchases.
July 5th | #
Thanks for sharing this. I’ll probably be using this a lot in my workflow now. Textmate is great.
July 27th | #
http://www.nabble.com/TODO-bundle-has-hardcoded-dependencies-to-RADAR-tag-t4135819.html
I too changed my radar preferences now I need to figure out how to put it back to what it was ; doh
- I thought i did a cut and paste to save the original but it looks like that did not work.
If somebody can tell me what i need to put back into radar pref that would be awesome
But indeed # TODO: is awesome
thanks
July 28th | #
Thank you for this extremely helpful Textmate hint. I’m just getting into Rails development and this will definitely speed up iterations.
August 12th | #
Thanks for the 101, I think I might start using this.
October 7th | #
For those asking about TextMate for PC there is now an Editor called E TextEditor. I’ve not used TextMate but I’m told E is pretty close to it and on top of that it does support the TextMate bundles so you can also use things like the TODOs.
There is still some work to do (!) on it but I’ve already switched from RadRails and finding it very productive. A great gift for those coders that don’t have Macs for whatever reason.
October 8th | #
I have also been using E TextEditor on a PC.
It is an amazing program - very fast.
The TextMate bundles including TODO work on E TextEditor.
I have used NetBeans and Komodo Edit and find E Text Editor much faster and more productive.
December 30th | #
[…] Using the To-Do Bundle […]
March 10th | #
Yes I too have a Mac at home with Textmate, and a works PC with ‘E’. E is definitely an excellent PC equivalent to Textmate, and very good value at less than £20. The only thing I miss on the PC is the integration with FTP that I get on the Mac with Transmit, but on the plus side, E works very well if using Tortoise SVN.
E has also bombed a couple of times in typical PC fashion, but its still a very early release.
March 15th | #
hello.
March 21st | #
TextMate for PC = http://www.e-texteditor.com/