One feature of Visual Studio that has always bothered me is how it handles Ctrl-Tab. On pretty much every other application I have ever used, Ctrl-Tab (and its inverse, Shift-Ctrl-Tab) has had the function of moving between tabs in sequential order as they appear on-screen. Visual studio, however, presents this little nugget when paging:
The window switching menu that Visual Studio includes uses an Active File History rather than the open tabs themselves for ordering, so whatever file you are actively editing is at the top, the most recently looked at is next, and so on. This might make sense to somebody, and some might find it useful, but to me it is annoying because the order of the files on the Active Files list does not match what I see when I look at the top of the screen.
I looked around and found lots of hacky macros to try to restore this functionality, however (at least in Visual Studio 2010), Microsoft has provided a much simpler solution.
In Visual Studio 2010, go to Tools > Options. Select Environment > Keyboard in the options menu (If Keyboard doesn’t show up, make sure you have Show all settings checked). Filter commands for NextTab (make sure you don’t hit Enter once you type in your search criteria, it still controls the OK button on the page). The action we are looking for is Window.NextTab, which is the behavior we get in most applications. I bind this to Ctrl-Tab, and Window.PreviousTab to Ctrl-Shift-Tab.
The only thing that doesn’t seem to work perfectly at this point, is when I am inside an aspx or cshtml file the binding doesn’t work. If anyone knows a solution to this problem please let me know in the comments!!