I’m a big fan of anything that can make me work faster – working on an agile project can be at quite a hectic pace and anything that can save me a couple of minutes, especially if its something I do often is a good thing.
I spoke at our last community day about Behaviour Driven Development and why I thought it really fitted with agile processes. After the session a colleague commented on my use of the keyboard and even went as far as to say he was impressed that I hadn’t used the mouse at all when demo-ing the code I was talking about. Now a compliment is a compliment and I’ll take it, but I actually remember thinking at the time that I was being really clumsy and slow – I think my nerves got to me a bit talking in front of 40 or so people, and everyone knows that you can’t type when someone’s watching!
But it got me thinking that as I’ve been using ReSharper for about a year or so now that was I starting to take it for granted that everyone else had too.
So, I thought I’d expand on that a little and compile a short list of tools that I use on a daily basis that makes my life easier and quicker. There’s generally a learning curve involved in each one, even just adjusting your mindset to not reach for the mouse! This isn’t entirely altruistic, as I’m really looking for suggestions on more!
When you really get into the keyboard mindset, you want to start using it for every application. This tool enables you to launch any application without the need to reach for the mouse, so your fingers are ready to go as soon as it fires up! Alt+Enter is the default shortcut. Type “firefox” and hit Enter to launch the next tool… (after a few times, Launchy predicts what you want as you type, so I can now launch Firefox with just an “f”).
So everyone knows that Firefox is awesome, but for me its the extensions that make it totally indispensable. Here’s a few that I use:
I don’t know how anyone can be a web developer without it. No more hours spent tweaking CSS files and hitting F5 to find that you have no idea what you’re actually doing and that you really don’t understand CSS. I can now muck in with the iDevs (although there is an argument for saying that a little knowledge in the wrong hands is a dangerous thing!)
A keyboard navigation extension for Firefox. Who said that you had to use the mouse when browsing the web?! Just hit “h” and watch numbers appear by every link on the page. Type your number, hit enter and away you go.
Not really an extension as such but gives you the ability to search Google from any page within Firefox. Ctrl+K to jump straight to it, and a cheeky Alt+Enter opens the results in a new tab. Nice.
So, if we start to string them together – you’ve got an Alt+Space, an f for Firefox and Enter in Launchy, a Ctrl+K, enter your search term and hit enter. How often do you search Google in a day? Even shaving 10 seconds off this is going to save years in your life! (I have not actually worked this out).
UPDATE! Woah! – in the space of writing this post, I’ve just learnt that there’s an even quicker way through Lanuchy :
Alt+Enter, “google”, Tab, “Search term”, Enter and there you go – even quicker. And once you’ve done this once, Launchy is predicting that you want Google after “goo” so you don’t even have to type it out in full.
If, like me, you use Delicious to manage you bookmarks, you can use the Delicious Bookmarks extension to access them directly through Firefox. No more manual synchronisation between laptops – you can even hide the standard bookmarks menu to ensure that all links are stored in the cloud. And there’s lots of nice keyboard shortcuts to jump to and tag new links.
If you’re a web developer and spend a lot of time repeating the same repetitive tasks over and over again to test your site, use this to automate anything possible. On my current project, I often have to launch the site and log in before I can test some functionality, so I have a macro that does this for me.
I no longer have to wait for the application to spin up before I click Log In and manually enter the info, instead I can use the macro to do this for me whilst I get on with something else.
The beauty of these macros is that they can be bookmarked (and it integrates with Delicious) so I can access them from anywhere and by using the keyboard.
On my current project we use the MSTest automated test tools that are integrated within Visual Studio. Whilst I believe that one testing framework is fairly similar to another, I really dislike the Test View and other test management windows that you get with MSTest. Test Driven.Net integrates with MSTest so that you can pop-up a menu using the right-click button or a keyboard shortcut and run the tests directly from where you are. Also the Repeat Test Run option is really good for doing just that, from wherever you are in the solution.
So I’ve saved the best (beast?) till last. If could go on and on about how much I love ReSharper how I could no longer work without it. I’m not going to list out why its awesome as it would take too long, but if this is new to you then I would start by reading this:
and then watching some of this:
I would consider myself an intermediate ReSharper user – able to make someone’s day with a helpful shortcut thrown in when pair programming or just looking over someone’s shoulder, but I’m still far from being a Jedi as they say.
Through working at Conchango, in the last 6 months I’ve had the pleasure of meeting both Oren Eini and Jean-Paul Boodhoo and watching them code first hand and it really is mind blowing stuff. Hopefully this post has had even just a fraction of the impact that those situations had on me in realising what is possible and that constant self improvement is a scary but awesome thing!