Welcome to MSDN Blogs Sign in | Join | Help

Visual Studio Key Bindings : why do we do change them?

Every new release of Visual Studio comes with changed key bindings. Excuse me, “better” key bindings, as the designers would have you believe.

I don't buy it. I still use the VC2 key binding set, because for me F8 is Step Into. We should never have switched to F11, and the person who made this call (Jim, why don't you have a blog?) has been admitting that was a huge mistake for a few years now. I am almost alone among the debugger team for still using F8, but I will continue to do so while the key continues to exist on my keyboard.

I was prompted to post this from recent VS 2005 beta usability testing where several users were complaining about this, and one even thought the product was broken because 'it didnt work' due to the binding changes.

What do you, the users, really think? Should we change the key bindings to make them better, or should we just leave them well alone? We do at least allow you to switch to older, 'classic' sets, which even includes Brief nowadays, and you can fully customize the keys if you have the inclination. Its the default behavior that bugs me.

Published Thursday, June 17, 2004 9:56 AM by andypennell

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

Thursday, June 17, 2004 10:42 AM by Darrell

# re: Visual Studio Key Bindings : why do we do change them?

Change them to make them better, but always let us pick a previous version or customize our own set and save them.
Thursday, June 17, 2004 10:49 AM by Eric Wilson

# re: Visual Studio Key Bindings : why do we do change them?

Don't change them. My thoughts is that when you say "for the better", you really just mean, "some developer on the team likes it this way, so we changed it". There is no real/worse in terms of keyboard bindings, so just pick something and stick with it. (I don't mean that really; There are of couse WORSE bindings. You could try to change ctl+c to something other than copy for example:( But the bindings that exist in the current product are fine as is).

For example, in VS.NET the build key changed from F7 to ctl+atl+b. I've never come up with a reasonable explaintion for why. If your developers need something to do, have them bind the "Go back" command in VS.NET to my third mouse key like in IE:)
Thursday, June 17, 2004 12:38 PM by xge

# re: Visual Studio Key Bindings : why do we do change them?

Imagine what the world would be like if every year the keyboard key arrangement 'improves' and users can also switch to the previous version.
Someone else's keyboard would be like a encryption machine to me then.
Thursday, June 17, 2004 1:23 PM by Panos Theofanopoulos

# re: Visual Studio Key Bindings : why do we do change them?

Make possible to step into string.Join (or any other BCL class method) and put the default binding to anything you like
Thursday, June 17, 2004 4:05 PM by Geoff Appleby

# re: Visual Studio Key Bindings : why do we do change them?

I don't think it really matters. So long as i can easily find out what they are, and i can customise whatever i'm not happy with, then it's all sorted.

I personally detest the multi-key bindings, like the ctrl-k series. So i override them with something that's easier to press. So as a result, the comment selection (ctrl-k, ctrl-c) becomes F4, and uncomment (ctrl-k, ctrl-u) becomes shift-F4. Compile current project is F2. I'm happy enough with just being able to do that - whether it's F8 or F11 for stepping doesn't matter, it's still only one keypress.

--Geoff
Thursday, June 17, 2004 5:10 PM by Scott Allen

# re: Visual Studio Key Bindings : why do we do change them?

Could you define better? I was completely puzzled as to why the "Build" key mapping changed to Ctrl+Shift+B moving from VS6 to VS7. To me, that was a step backward :) I'm still curious what the reasoning was behind that?
Thursday, June 17, 2004 5:21 PM by anon

# re: Visual Studio Key Bindings : why do we do change them?

I was under the impression that the most recent iteration of key combos is a mix of classic VB and VC defaults. Is this the case?
Thursday, June 17, 2004 8:13 PM by Carole Snyder

# re: Visual Studio Key Bindings : why do we do change them?

re, Geoff comments above, I have a new love for mult-key bindings, that came from working with VS.NET. I believe it's a vast improvement from using Control+Shift together, and even Control+Alt, which I find a nuisence. I try not to mess with the most common commands. For instance, F4 is Properties, and always will be.

Coincidentally, I recently went through this last winter, when I noticed the shortcuts had radically changed with a new build of our product. At the time it really bothered me, but soon after, I realized that the new shortcuts were easier and more logical, albeit harder to remember. Now that I'm banished to an earlier version for personal use, I miss the new and improved shortcuts.

Luckily, VS.NET allows you to assign your own shortcuts...but, when it's a major change, probably no one bothers.
Thursday, June 17, 2004 8:16 PM by Michael Giagnocavo

# re: Visual Studio Key Bindings : why do we do change them?

I was one of those users in the usability test complaining (and hastily I fired a bug when show whitespace didn't work... duh).

When they explained to me that the C# profile bindings were changing because they were going to end up better overall, I was very happy. I don't mind having to learn something new, so long there's a REAL benefit and it's not just for fun.

The big thing is letting users know *WHY*. Otherwise they'll just complain to no end about how MS tries to maliciously break things <g> -- and they won't get any benefit from the change.
Thursday, June 17, 2004 10:47 PM by Mikhail Arkhipov (MSFT)

# re: Visual Studio Key Bindings : why do we do change them?

I am using VC2 mappings as well as Ctrl+Ins for copy, Shift+Ins for paste and Shift+Del for cut. I dread the day Windows stops supporting them. Long live Windows 2.0!

And I use numpad for arrows.
Friday, June 18, 2004 1:36 AM by Stu Smith

# re: Visual Studio Key Bindings : why do we do change them?

(Comments based on VC7 / 7.1 so if fixed in Whdbey then nevermind).

Ctrl-Shift-B is just weird -- compile is one of the most common operations you do, so F7 is much better.

Personally I like the multi-key sequences Ctrl-K Ctrl-whatever) for operations you might use once or twice a day (comment/uncomment block). They're much easier to type than a Ctrl-Shift, and much easier to remember.

One specific gripe is build project, Alt-B-U. Given that VS doesn't stop after the first failing project, this one starts to be used a fair amount on a large solution. So I'd say it deserves a simpler default key binding.

I think that the defaults do have to be 99% correct -- if too many developers feel they're forced to change them, when you go to a different developer's machine to help out you find that nothing works.

And while I'm on the subject, why isn't the keyboard mapping dialog resizable? It shows only 4.5 lines of commands, and has a horizontal scrollbar.
Friday, June 18, 2004 6:04 AM by Ron

# re: Visual Studio Key Bindings : why do we do change them?

anon: "I was under the impression that the most recent iteration of key combos is a mix of classic VB and VC defaults. Is this the case?"

Not to my view, but perhaps I just didn't use that many key bindings in VB6. For example, VB6 still used F8 as Step Into.

Stu: "I think that the defaults do have to be 99% correct..."

I would agree with the caveat that 99% actually refers to the most common actions (subjective, I know). I guess it really depends on what's changing.
Friday, June 18, 2004 9:17 AM by Christian Harlass

# re: Visual Studio Key Bindings : why do we do change them?

Please make sure provide the old key bindungs too. I have to work with both VC6 and VC7 - would drive me totally mad to learn every few hours/days the other schema again.

How about showing a list of available commands when hitting the first key of a multi-key command (such as Ctrl-K) ?
Friday, June 18, 2004 12:45 PM by JoeN's Blog

# So why did the C# keybindings change?

Friday, June 18, 2004 9:48 AM by joen

# re: Visual Studio Key Bindings : why do we do change them?

I was responsible for the new keyboard bindings for C# in VS 2005 and I've come out of hiding :-).

I posted a blog that describes the throught process behind it if you are interested.

http://blogs.msdn.com/joen/archive/2004/06/10/153245.aspx
Friday, June 18, 2004 10:14 AM by Omer van Kloeten

# re: Visual Studio Key Bindings : why do we do change them?

You should break key bindings only when you change the environment completely.
I accept changing key bindings from VS6 to VS7, since it's a whole new era, with .NET combining VB, VC, and the rest of the tools in VS6.
When Microsoft invents the next thing, I would accept key binding changes.

If you want to make the key bindings better, change them, but let the user change them back. New users could use the new scheme, and old users could use the old scheme.

And I'd like to hear exactly why it's better this way than the way it used to be.
Friday, June 18, 2004 12:41 PM by Keith Wedinger

# re: Visual Studio Key Bindings : why do we do change them?

Offer export/import of settings!!!! When I do decide to move from VS.NET 2003 to 2005, I must resort to registry trickery and moving files around under "Documents and Settings" to keep my configuration.

If I can export/import my current settings, you could change the defaults to whatever you like and I would not care less because I would be able to get my desired settings via import.
Friday, June 18, 2004 1:15 PM by onurbyk

# re: Visual Studio Key Bindings : why do we do change them?

i get the term "for the better". i think developers are not as forward compatible as programs. And visual studio is not on early times. we're talking about version 8. It will be hard but it will be.

by the way, is there a tool for migrating vs customization settings among computers?
Saturday, June 19, 2004 12:08 PM by Orion Adrian

# re: Visual Studio Key Bindings : why do we do change them?

I would also like a tool to do Import/Export of settings, however I'd like the reverse. I'd like to be able to export the settings from 2005 and import them into 2003.

Orion Adrian
Tuesday, June 22, 2004 8:04 AM by Rik Heywood

# re: Visual Studio Key Bindings : why do we do change them?

Leave the key bindings alone, provide backwards compatibility and improve the UI for changing key bindings so it isn't so painful to do.

Ctrl+Alt+B - What the hell was that! I got serious RSI because of that until I changed it back to F7.
Tuesday, June 22, 2004 7:22 PM by TrackBack

#
Knowing .NET


Knowing .NET
Monday, June 28, 2004 10:11 AM by Don Griffin

# re: Visual Studio Key Bindings : why do we do change them?

Changing the default key bindings forces people into fragmented groups with incompatible bindings. Once a key is bound to a function, it should NEVER be changed unless that function is removed from the product. As it sits, half the developers in our team cannot drive the other half's IDE because of this constant state of change. Some have VC6 binds, others older and others keep with the defaults.

Bottom line: there is no such thing as a "better" key binding. The good/bad-ness of these arbitrary choices are all in the eye of the beholder. What one person uses all the time, another may never use (like myself vs. the .NET IDE default binding for F7). So, one should replace the fruitless search for "better" with the fully possible search for "consistent". Relearning or reconfiguring (even if the dlg were made useable) is a COMPLETE WASTE of everyone's time and energy.
Tuesday, August 03, 2004 11:44 AM by GregM

# re: Visual Studio Key Bindings : why do we do change them?

As long as I can export my emacs-based keybindings from VC6 into whatever, I will be happy. I still don't have all my VC6 bindings up and running in 7.1, because it takes so long to find them, especially since they got rid of the very useful grouping of commands, and forced you into searching. (one of many 7.1 annoyances, along with removing the column select mode, which I use many times per day in VC6, and no, the replacement is nowhere near the same.)
Thursday, November 29, 2007 9:43 AM by Pompous Guy

# re: Visual Studio Key Bindings : why do we do change them?

Regarding key bindings. You MUST do [whatever it is I want you to do] because [flimsy reason].

Please IMMEDIATELY carry out my orders.

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker