views:

1199

answers:

28

I love using an IDE, because I get some great productivity gains. However, I have a couple reasons to stop using a mouse with an IDE:

  1. To code faster - It definitely slows down my coding when my typing is interrupted with all of the constant point and clicking.
  2. To relieve pain - I've never had pain from the keyboard, but I get tendinitis from the mouse.

I've got my cheat sheet for my IDE printed out and now I'm ready.

  • What's the best way get off the mouse?
  • Are there any hurdles that I'm going to run into?
  • Are there any tips for specific IDEs (Visual Studio, Eclipse, etc.) ?
+8  A: 

Unplug it.

If your mouse is completely gone then you will be forced to learn how to live without it and therefore will become productive without it.

Andrew Hare
I had to plug my mouse back in to make this comment.
Even Mien
@TheOtherScott, hilarious (though you could tab to the Add Comment button and use the space bar to activate it)
Lieven
Ah, but this isn't your IDE, now is it? :)
Andrew Hare
I just had to try how many tabs I would need to come here, but just with tabs it isn't possible.... it tabs from link -> edit -> picture of andrew hare -> andrew hare -> theotherscott -> lieven -> andrew Hare -> next comment link,...
Peter
Peter is correct - you cannot tab to the "add comment" link.
Andrew Hare
Just retraced my steps. The "Add Comment" box was open. From there on you can tab to the Add Comment button. My mistake.
Lieven
Windows has accessibility options to work without a mouse (Mouse Keys it is called). I'm sure other OSes have similar options. In windows you do need a number pad, though, so laptop use is rather limited.
Yishai
For sure! Unplug it! But you'll never get rid of it totally! Impossible!
DaDa
"Ah, but this isn't your IDE, now is it?" I'm running emacs, you insensitive clod
Dan
"I had to plug my mouse back in to make this comment." - good! Going without a keyboard will keep you off Stack Overflow, thus making you more productive by forcing you to stay in your IDE and code. :)
Ricket
+5  A: 

Anytime you're about to use the mouse, forcibly stop yourself and look up the keyboard shortcut for that operation. Do that a few times per operation and soon your muscle memory will kick in and you won't even have to think about it anymore.

Mark Pim
+1 Exactly what I do to "force" myself to use the keyboard.
Lieven
+3  A: 

Get a trackball.

Otávio Décio
I've used trackballs and other ergonomic pointing devices, but they all cause me pain.
Even Mien
Try this: http://www.amazon.com/Pain-Free-Revolutionary-Stopping-Chronic/dp/0553379887 (not a joke, it works)
Otávio Décio
A: 

Hide your mouse - at least one arm's length away - then you can always get it back in an emergency

Paul Shannon
A: 

Switch to emacs.

Yuval A
+19  A: 

Move it to the wrong side (eg if you are right handed then put it on the left of the keyboard). That way, you can still use it if necessary, but you should find you aren't using it unecessarily.

If changing sides isn't enough to confuse your brain, then moving it to a place where it is accessible but you have to think before reaching for it. As long as you can't reach for the mouse without thinking about it, then you will find that it is easier to use keyboard shortcuts instead. Essentially you want the mouse to be an option but the keyboard to be a better/easier/more convenient one!

As for pitfalls, well you may find that if you have to test any interfaces (web based or dektop) that you need to revert back to using the mouse. Also I find that if I have to work outside of the IDE, then it is just not as efficient to do without the mouse. Often we use WOrd for specifications and documentation, and trying to get away with using that without a mouse, is tricky (in my experience).

Another potential source of annoyance, is when switching between applications (Eclipse, VS, etc), you find that they often use different keyboard shortcuts, and so it can take a while to get back up to speed again, or you have to spend some time reconfiguring the shortcuts to be consistent.

chillysapien
This is what I do, but for another reason: I find it unlogical that you rotate your arm outward to work with a mouse, I have the mouse-pad between keyboard and myself. This feels natural, and switches between mouse ans keyboard smoother.
Stijn Sanders
"I admit it, you are better than I am. Then why are you smiling? Because I know something you don't know. And what is that? I... am not left-handed." Actually, I did this several years ago (after building a resistance to iocane powder), and I am now ambidextrous with a mouse.
Even Mien
I am not left-handed either!
Michael Myers
Then putting the mouse upside-down could be an option
soulmerge
Or if you are on a laptop, take away the mouse and use the touchpad. Or, for any type of computer, make the mouse/touchpad real inconvenient - turn down the sensitivity so it takes a long time to travel across the screen to do what you want. Unfortunately these are great training tips where keyboard replacements for whatever you're trying to discourage exist, but then when you go to do something momentarily that REQUIRES a mouse you're just super annoyed...
Ricket
+1  A: 

Open the nearest drawer and shove it in and close the drawer. That way, when you really do need it it'll be inconvenient to use it!!!

Also, if you're using multiple IDEs it pays to configure key bindings that are common across them, so that you can switch between them easily.

Sean
A: 

Move it far enough away that it's inconvenient to use, while your cheat sheet is close enough to easily lookup whenever you are in doubt about how to do something. I would not suggest unplugging it, since it is a useful tool for some operations, such as moving files around. I find drag and drop in some sort of tree like file system view is much easier than the alternatives. The majority of editing operations though, are quickly accomplished via key strokes once you remember them.

Robin
+5  A: 

Learn the keyboard short cuts :)

Also some editors are better suited for mouse free operation. I use ViEmu with Visual Studio which has helped me reduce, but not eliminate the need for using the mouse.

Brian Rasmussen
+1  A: 

Change your keys to Emacs setup , Learn the Keyboard Shortcuts. I rarely use the mouse, if ever, in eclipse. i find it alot easier to just use emacs key short cuts.

Nuno Furtado
+2  A: 
  • Use the command line whenever you can (Install Powershell)
  • Switch to vim or emacs for code editing (or use ViEmu if you really need the intellisense)
  • If you develop web applications and/or spend a lot of time on the web, get the Vimperator or Firemacs extensions
  • Learn keyboard shortcuts for everything else.
  • ???
  • Profit!!! (from your increased productivity)
brianpeiris
+1  A: 

When I contracted for an investment bank in NYC, there was this guy who didn't use a mouse. He was a java/kdb dev and just used vim. I used to think it was the strangest thing that he didn't have a mouse attached to his computer, but damn.. that guy was productive. Probably the most productive guy I've ever worked with.

So yea, if you really want to go that route you could try using vim, or something similar. You'll lose the features you're used to in your IDE, but it worked for him...

Winston Smith
or maybe he won't lose the features he's used to in his ide at all if he's an eclipse guy: http://eclim.sourceforge.net/
whaley
+3  A: 

Hide the mouse under a copy of your cheat sheet.

John Nolan
+4  A: 

Your real question is about pain and productivity, the mouse is just a by-product of your circumstances. I would rephrase the question to reflect your real purpose.

Check out the wrist braces. I've heard from people that it makes a huge difference.

For VS, check out Sara Ford's blog.

Search her blog for plenty of other tips and tricks.

Erich Mirabal
I wear wrist braces, and they help somewhat. Thanks for the blog to check out.
Even Mien
+2  A: 

For visual studio I use the ViEmu plugin that allows you to use vi commands in visual studio. It's a bit difficult to get the hang of it but once you're done you'll only be using the mouse on the designer.

Conrad
+1  A: 
  1. Become a better typer. As a slow typer, I find myself going to the mouse so I dont have to type. If I were more efficient at typing, I would be less inclined to use the mouse.

  2. If you are using a laptop and a mouse, remove the mouse and leave the trackpad as your only option. That will be so painful that you will be forced to learn more keyboard shortcuts.

Mike Ohlsen
+1 I'm also working on actually learning to type.
Even Mien
+1  A: 

Get a webcam and eye-tracking software. Then you can fix bugs just by looking at them. It makes you feel all-powerful.

izb
Maybe I can just pair program with Barbara Eden :)
Even Mien
+1  A: 

Some very good answers above.

I spent a while injured with RSI and mousing was an issue. I already used shortcuts a LOT. But coding using strictly the keyboard was definitely slower, especially when it comes to navigating around the code.

As I was using vi at the time, I would primarily move around the screen by doing searches for text at the location I wanted to go to; this is very fast, assuming you pick unambiguous text. Leaving line-numbers on and then going to the line number is another way to rapidly navigating. Judicious use of code folding (available in many IDEs) helps, too.

Finally, consider an alternate pointing device. A trackpad sucks for games but can be more accessible for coding, especially if you put it in easy reach of the keys (e.g., if you use a split keyboard, between the two hands). Try switching between two or more styles of device, to avoid injury because of one specific device. And don't ignore wrist pain! Treat it before it gets worse and you end up non-productive for a year or something.

Alex Feinman
+1  A: 
romaintaz
Didn't this machine erase Will Smith's fingerprints in MIB? Seriously, what's the learning curve on something like this?
Chris Nava
Took me about 3 days to be able to type on the DataHand, about 3 weeks to get productive enough that I didn't feel it was holding me up, and about 3 months to reach the speed at which I can type on a normal keyboard, which is probably less long than it took me to reach that typing speed on a normal keyboard so many years ago. Today I probably code faster on the DataHand because I don't have to move my hands from the home row to reach the arrow keys or function keys.
Jan Goyvaerts
+1  A: 

Configure your IDE to use VI or EMACS keyboard controls (and learn them.) Both options allow you do do most tasks without moving your hands of the home row. You'll see your productivity drop during the learning curve but jump way up after as you save a lot of time by not moving your hand of the keyboard to use the mouse.

As a side note, learning to use a terminal based editor is a good skill to have in case you ever need to remotely administer a *nix machine. It will save your bacon some day.

Chris Nava
A: 

I am using IntellijIDEA IDE. There is one very annoying plugin - "Key promoter".
For every mouse-inited action it shows annoying alert with keyboard shortcut which you could use to do the same action.

Well, it took about 2 or 3 weeks for me to stop using mouse at all. It was hard to not turn it off (plugin), but very useful :)

Vugluskr
A: 

IMHO the best answer is combination of two already given answers:

  • Print out the keyboard shortcut cheat sheet of your IDE and tape it to the wall next to the screen.
  • Unplug it. Also this makes a bit harder to procrastinate by switching to SO in the other window...
Laurynas Biveinis
A: 

You may also want to consider doing your coding on a Macbook/Macbook pro. I generally HATE touchpads, but I've had to do some coding on the plane and the new touch-sensitive pads are actually really convenient. For example, you can do things like scrolling with a flick of two singers, and it's a lot more accurate.

It may not be perfect, but it might help with your hands.

I don't think avoiding the mouse completely is practical (you need things like hovers, etc.)

Uri
A: 

MouseFeeds plugin will help you in eclipse: http://www.mousefeed.com/installation

Ninjacoder
A: 

First off, don't try to do everything with a keyboard, start by forcing yourself to use keyboards for the top 3 things that you do all the time. Get the biggest bang for your buck/effort and you will quickly want to use more.

  1. Keep a sheet of paper near by where you write down keyboard short cuts you use. (Alternatively, add this to a company wiki so others can benefit.)

  2. Pay attention to menu items, they frequently have keyboard short cuts.

  3. Find out the keyboard shortcuts that show all other keyboard short cuts.

I use Eclipse all the time, there are several keyboard short cuts that I find invaluable:

  1. CTRL+SPACE - Content Assist
  2. CTRL+3 - Open any UI Element in eclipse by typing
  3. CTRL+SHIFT+T - Open by type (Uses Capital letters to do word searches and * for wild card, for instance NuPoEx would find NullPointerException)
  4. ALT+SHIFT+R - Rename current selection
  5. ALT+SHIFT+T - Refactor Menu

And CTRL+SHIFT+L gives you a list of all keyboard shortcuts

GreenKiwi
+2  A: 

I've summed up some shortcuts that will get you working faster with Visual Studio in my blog.

I recommend you start at this article, that shows you the shortcuts I'd recommend you should get to know first...

Arjan Einbu
+1  A: 

All these coders and no one suggested to write some code to hide the pointer when the IDE's window is active??

Chad Ruppert
+1  A: 

Great question... A co-worker suggested Launchy to me as a way to reduce mouse-use/be more productive. It searches your Start Menu (or non-windows equivalent) for apps, docs, shortcuts, etc. Type alt+spacebar to bring up its prompt where you type what you want to launch. Here are a few examples - what you type depends on other things in your Start Menu.

  • ch for Chrome, f for Firefox
  • ca for Calculator
  • expl for Windows Explorer

A power-user can fiddle with its settings to get more out of it but even basic users will benefit from it. Hope it helps.

gary comtois