有可能改变Ctrl + Tab和Shift + Ctrl + Tab在Visual Studio中的工作方式吗?我已经禁用了弹出式导航器窗口,因为我只想在选项卡控件中的项之间切换。我的问题是切换到下一个和上一个文档所做的不一致。

我所见过的其他使用tab控件打开文档的程序都使用Ctrl + tab从左向右移动,Shift + Ctrl + tab从右向左移动。Visual Studio通过跳转到所选的最后一个选项卡来打破这一点。你永远不知道你会在什么文件上结束,而且它不会以相同的方式出现两次。

这是违反直觉的。这是一种鼓励每个人一次只打开两个文档的微妙方式吗?


假设我打开了几个文件。我在一个工作,我需要看看右边的下一个标签是什么。在地球上的任何一个应用程序中,Ctrl + Tab都可以做到。但是在Visual Studio中,我不知道它会把我带到其他哪个选项卡。如果我只打开两个文档,这就很好。当你转到三个或更多的标签时,所有关于Visual Studio决定将你发送到哪个标签的赌注都结束了。

这样做的问题是,我不应该考虑工具,它应该消失在背景中,而我应该考虑任务。当前的标签行为不断把我从任务中拉出来,使我不得不关注这个工具。


当前回答

Visual Studio 2010已经内置了解决这个问题的方法。

默认情况下,Ctrl+Tab和Ctrl+Shift+Tab被分配给Window。文档,但你可以,通过

Tools -> Options -> Environment -> Keyboard,

删除这些键赋值,并将它们重新分配给Window。[下一步/上一步]选项卡,添加需要的行为。

其他回答

Visual Studio选项卡顺序的哲学是非常违反直觉的,因为显示选项卡的顺序与选项卡切换逻辑不同,使得选项卡的顺序完全无用。

因此,在出现更好的解决方案之前,将窗口布局(在Environment->General中)从选项卡文档更改为多个文档;它不会改变行为,但它减少了由制表符引起的混乱。

这样你也会发现DocumentWindowNav更有用!

我完全同意杰夫的意见。

我已经在Borland c++ Builder上工作了几年,我最怀念的功能之一是使用Ctrl-Tab“正确”的文档选项卡顺序。正如Jeff所说,“当前的标签行为一直把我从任务中拉出来,让我不得不关注这个工具”正是我对此的感受,而且我非常惊讶的是,没有很多人抱怨这一点。

我认为Ctrl-F6 - NextDocumentWindowNav -根据文档的最后激活时间导航文档。这种行为很像过去MDI应用程序的行为。

考虑到这一点,我通常使用Ctrl+F6在2个文档之间切换(当在c++项目中工作时,在.cpp和.h文件之间切换非常方便),即使当前打开的文档超过2个。例如,如果打开了10个文档(Tab1、Tab2、Tab3、....),我点击了Tab1,然后是Tab2。当我按Ctrl+F6和释放键时,我将跳转到Tab1。再次按Ctrl+F6将带我回到Tab2。

在注册部门: 微软HKEY_CURRENT_USER \ Software \ \ VisualStudio \ 9.0 添加名为UseMRUDocOrdering的DWORD,值为1。 它将对文档进行排序,以便最近使用的文档放在左边。这并不完美,但总比默认的不当行为好。

Visual Studio 2010已经内置了解决这个问题的方法。

默认情况下,Ctrl+Tab和Ctrl+Shift+Tab被分配给Window。文档,但你可以,通过

Tools -> Options -> Environment -> Keyboard,

删除这些键赋值,并将它们重新分配给Window。[下一步/上一步]选项卡,添加需要的行为。

在Visual Studio 2015(以及以前版本的VS,但如果你使用VS2013或以下版本,你必须安装生产力工具)中,Visual Studio中有两个新命令:

窗口。NextTab和 窗口。PreviousTab

只需将它们从Ctrl+Alt+PageUp/Ctrl+Alt+PageDown重新映射到Ctrl+Tab/Ctrl+Shift+Tab:

菜单工具->选项->环境->键盘

注意:在早期版本中,如Visual Studio 2010, Window。NextTab和Window。PreviousTab被命名为Window。NextDocumentWellTab和 Window.PreviousDocumentWellTab。