Usually, I try not to be judgmental about stuff. I like to keep my mind open and to accept people as the beautifully unique snowflakes they are… or something… 🙂
There’s one thing that irritates me though, and that’s C# developers who constantly reach for the mouse to click the tiny crappy toolbar buttons that for some reason seem to have survived in Microsoft IDEs since 1995 VB4. Yeah I’m looking at you! You’re crap!
There is nothing more annoying than pair programming with someone, who cannot even go to another file without having to scroll up and down in Solution Explorer, looking for that file to double-click. And then comes the time to re-run the current unit test… Sigh!!!
Now, if you have any ambition as a C# developer, I recommend you start out every new installation of Visual Studio by
- Hiding all toolbars (which, unfortunately, cannot easily be done at once – new ones pop up every time you open a new kind of file for the first time).
- Making all tool windows auto-hide (i.e. click the little pin on e.g. Solution Explorer, making it collapse – usually to the right side of the screen).
That will make your work environment resemble the picture on the right (especially if you have a 1337 dark color scheme like mine) – see: no clutter! No stinking buttons to disturb your vision while you’re swinging the code hammer! And, it will serve as an incentive to start using the keyboard some more.
Now, in order to be able to actually work like this, it’s essential that you know how to navigate using the keyboard only. Therefore, here’s a few very basic shortcuts to get you started[1. Assuming of course that you’re using Visual Studio with standard keyboard settings and R# with Visual Studio keyboard scheme]:
- Navigate to any open window in the environment: Ctrl + Tab + arrows while holding Ctrl.
- Jump to file currently being edited in the Solution Explorer: Shift + Alt + L.
- Jump to the R# test runner: Ctrl + Alt + T.
- Pop open the context menu: Shift + F10.
Now, with these in place I think it should be possible to start doing all navigation with the keyboard only. And then, when you get tired pressing Shift + F10 and choosing stuff in the menus, you can start learning the real shortcuts to everything.
Using the keyboard for the majority of all tasks has several advantages – in addition to relieving the strain on the right wrist, arm, and shoulder, you also get the advantage that your navigation and execution of common workflows is sped up, allowing your work pace to better match the pace of your train of thought.
Also, I won’t judge you 🙂
I agree though i’m still working on my mouse habbits. I need a VS cheat-sheet!
A great one is Ctrl U+R: Reruns latest run unittest
I’m using VsVim aswell to get that great vim editor in visual studio, still learning though but some of the navigation you get with vim in codefiles ist just mavoules!
delete to next ‘)’: dt)
copy to next ‘,’: yt,
pase above/Below: P/p
new line above/below: O/o
delete to end of line : d$
goto line 50: 50G
and many more – vim makes 90% of your commands avaible on the home row!
Oh yeah btw, if you use resharper with VS Schema CTRL+SHIFT+T to go to file and CTRL+T to go to type and CTRL+ALT+T to go to symbolt
Yeah, there’s a huge number of shortcuts to learn – the main hurdle to overcome IMO though, is the basic keyboard navigation like I described it – that’s what allows you to stay away from the mouse.
And then, when you start to leave the mouse alone, you can accelerate by learning new shortcuts every time you’re reminded of their existence after having Shift + F10’d.
Tsk tsk.
Way too much fluff on that screenshot.
Tools -> Options -> Text Editor -> All Languages.
Uncheck Navigation bar.
Rejoice.
Uncheck Navigation bar.
Rejoice.
And there was much rejoicing! (awesome tip!!)
Oh and to follow up on the ReSharper tips:
Alt + < key lower left corner) == Go to member in open file.
Oh and to follow up on the ReSharper tips:
Alt + < key in the lower left corner) == Goto member in current file.
🙂
And I furthermore harshly judge the people who leave the Solution Explorer on the right. Just as I advocate moving the start menu to the top, why not keep the solution explorer to the left – where your mouse is 98% of the time?
Well, I used to have my Solution Explorer on the left as well – but if you follow the “no mouse, no worries” philosophy described here, your mouse argument doesn’t hold.
In fact, having them on the right allows you to see more of the code when they’re not collapsed, which is why I like to do just that.
Great post I’ve just removed all the menu bars from my visual studio 🙂
Do anyone know how to run the selected test in the resharper unit test session (after using ctrl+alt+t) without using the mouse?
You can repeat the previous run with Ctrl + U, U – that might be the one you’re looking for 🙂
And then you can finish off with Ctrl + U, Y to run all tests in the current session.