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:
- To code faster – It definitely slows down my coding when my typing is interrupted with all of the constant point and clicking.
- 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.) ?
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.
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.
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.
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.
Get a trackball.
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.
- 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)
Hide the mouse under a copy of your cheat sheet.
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.
Get a webcam and eye-tracking software. Then you can fix bugs just by looking at them. It makes you feel all-powerful.
I’ve summed up some shortcuts that will get you working faster with Visual Studio in my blog.
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.
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.
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…
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.
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
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.
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.
MouseFeeds plugin will help you in eclipse:
All these coders and no one suggested to write some code to hide the pointer when the IDE’s window is active??
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.
Hide your mouse – at least one arm’s length away – then you can always get it back in an emergency
Switch to emacs.
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.
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 🙂
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…
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.)
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.
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.)
Pay attention to menu items, they frequently have keyboard short cuts.
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:
- CTRL+SPACE – Content Assist
- CTRL+3 – Open any UI Element in eclipse by typing
- CTRL+SHIFT+T – Open by type (Uses Capital letters to do word searches and * for wild card, for instance NuPoEx would find NullPointerException)
- ALT+SHIFT+R – Rename current selection
- ALT+SHIFT+T – Refactor Menu
And CTRL+SHIFT+L gives you a list of all keyboard shortcuts