Visual Studio Code中是否有快速更改选项卡功能?


325

给我一个下拉选项来选择哪个选项卡的当前功能是如此令人讨厌。是否可以删除它,以便选项卡可以像在某些现代Web浏览器中一样工作。


8
我不能太强调这有多烦人。使用VSCode和其他编辑器。
Kai Noack

Answers:


587

默认情况下,Ctrl+Tab Visual Studio Code中的按最近使用的顺序在选项卡之间循环。这令人困惑,因为它取决于隐藏状态。

Web浏览器以可见顺序循环浏览选项卡。这更加直观。

要在Visual Studio Code中实现此目的,您必须进行编辑keybindings.json。使用Command Palette和CTRL+SHIFT+P,输入“首选项:打开键盘快捷键(JSON)”,然后单击Enter

然后添加到文件末尾:

[
    // ...
    {
        "key": "ctrl+tab",
        "command": "workbench.action.nextEditor"
    },
    {
        "key": "ctrl+shift+tab",
        "command": "workbench.action.previousEditor"
    }
]

另外,要仅循环浏览当前窗口/拆分视图的选项卡,可以使用:

[
    {
        "key": "ctrl+tab",
        "command": "workbench.action.nextEditorInGroup"
    },
    {
        "key": "ctrl+shift+tab",
        "command": "workbench.action.previousEditorInGroup"
    }
]

或者,您可以使用Ctrl+ PageDown(Windows)或Cmd+ Option+ Right(Mac)。


3
实际上,它并不模仿下拉行为。使用这些键绑定,您只需将选项卡导航到右侧(ctrl+tab)或左侧(ctrl+shift+tab)。要根据历史记录浏览标签,请使用以下命令:{ "key": "ctrl+tab", "command": "workbench.action.openPreviousRecentlyUsedEditor" }, { "key": "ctrl+shift+tab", "command": "workbench.action.openNextRecentlyUsedEditor" }
Evenfrost

1
@GabrielZiegler我知道,对。Firefox也使用此选项卡模式。
Permana

1
@evenfrost OP不想基于历史记录进行导航,因此此答案是一个很好的答案。
Stephen Mariano Cabrera

4
谁没有提供更改此选项卡行为的选项,而是需要编辑按键绑定文件?
Kai Noack

2
想见我们的人就是那个人。
弗朗斯

193

@Combii我找到了一种交换方式

CMD + 1CMD + 2CMD + 3CTRL + 1CTRL + 2CTRL + 3,...

在macOS中,转到:

代码>首选项>键盘快捷键

在该页面上,单击页面右上方的按钮。

编辑keybindings.json按钮

并附加以下配置,然后保存。

[
    {
        "key": "cmd+0",
        "command": "workbench.action.openLastEditorInGroup"
    },
    {
        "key": "cmd+1",
        "command": "workbench.action.openEditorAtIndex1"
    },
    {
        "key": "cmd+2",
        "command": "workbench.action.openEditorAtIndex2"
    },
    {
        "key": "cmd+3",
        "command": "workbench.action.openEditorAtIndex3"
    },
    {
        "key": "cmd+4",
        "command": "workbench.action.openEditorAtIndex4"
    },
    {
        "key": "cmd+5",
        "command": "workbench.action.openEditorAtIndex5"
    },
    {
        "key": "cmd+6",
        "command": "workbench.action.openEditorAtIndex6"
    },
    {
        "key": "cmd+7",
        "command": "workbench.action.openEditorAtIndex7"
    },
    {
        "key": "cmd+8",
        "command": "workbench.action.openEditorAtIndex8"
    },
    {
        "key": "cmd+9",
        "command": "workbench.action.openEditorAtIndex9"
    },
    {
        "key": "ctrl+1",
        "command": "workbench.action.focusFirstEditorGroup"
    },
    {
        "key": "ctrl+2",
        "command": "workbench.action.focusSecondEditorGroup"
    },
    {
        "key": "ctrl+3",
        "command": "workbench.action.focusThirdEditorGroup"
    }
]

现在,您可以使用CMD + [1-9]在选项卡之间切换,而使用CTRL + [1-3]来聚焦编辑器组!希望这个答案有帮助。


4
ALT + N已经做了这个在Windows上,我肯定有一个MAC等效
多米尼克-

12
在Mac上,等效为control + n。我发现这是不直观的,因为大多数程序的选项卡导航默认为cmd + n。切换这两种行为意味着您在尝试浏览选项卡时可以依靠肌肉记忆。
Langlois.dev

我认为在Mac上,它们只是通过更改命令来控制某些功能(例如“开关”选项卡)来移植Windows设置,而没有移植其他功能(例如“打开和关闭终端”选项卡)。这很不方便。
alanwsx

6
另外,对于最新版本(Apr2019),您只需搜索那些项目(workbench.action.openEditorAtIndex1)并进行更改。无需去keybindings.json
alanwsx

3
从1.38.1版开始(对于OSX),这已经过时了。根据文档,转到Preferences > Keyboard Shortcuts然后单击编辑器标题栏右侧的图标。这将打开keybindings.json
Adam_G

51

视窗

在Windows上使用Visual Studio Code时,可以使用CTRL + PAGE_UP切换到上一个选项卡,并且CTRL + PAGE_DN切换到下一个选项卡。

您还可以根据标签(相对非零)索引切换到标签。按住ALT,然后按一个数字(1到9)即可。

苹果系统

要快速在选项卡之间导航,请按住CMD键,然后按住要切换到的选项卡的编号(1到9)。

您还可以通过CMD + ALT + LEFT/RIGHT键盘快捷键在上一个/下一个选项卡之间切换。

请注意,要切换到其他编辑器组中的选项卡,必须首先切换到所需的编辑器组。

专家提示:如果您对任何按键绑定都不满意,可以将它们更改为您更喜欢的键绑定!


2
CTRL + ALT +左/右和CTRL +数字仅将标签复制到新标签组
yodalr'Aug

之前的说明很明确,它根本无法在WINDOWS上运行。当我按ctrl + alt + left时-没有任何反应,当我按ctrl + alt + right时,它会将选项卡移到右侧的辅助选项卡部分。
yodalr

2
在Windows上,@ yodalr要在选项卡之间循环,请按CTRL + PAGE_UPCTRL + PAGE_DN,取决于要循环的方式。CTRL + ALT + LEFT并且CTRL + ALT + RIGHT没有键盘快捷键我列出的Windows。
Brynden Bielefeld

6
嗯,它似乎没有按说明工作。在Mac上,Cmd + Num在选项卡组(拆分窗口)之间切换。我想对同一组中的选项卡执行此操作。我能做到吗?
huggie

@huggie我在OSX上看到了相同的行为。您找到重新映射此方法的方法了吗?
前缀


31

这也适用于MAC OS

上一个标签: Shift+ Cmd+[

下一个标签页: Shift+ Cmd+]


24

macOS-修订版2017

在2017年,VS CODE键盘快捷键已更改为CTRL+ 1CTRL+ 2CTRL+ 3等。

CMD+1, CMD+2, and CMD+3 在之间切换并创建 tab groups


11
是否可以将其更改为CMD+1, CMD+2, and CMD+3而不是CTRL+1, CTRL+2, CTRL+3
大卫,

并且也CMD + ALT + LEFT/RIGHT可以循环所有组中的所有选项卡。
达沃斯

10

视窗

以前

Ctrl+ Shift+Tab

下一个

Ctrl + Tab

苹果系统

以前

Shift+ Cmd+[

下一个

Shift + Cmd +]


您的答案应该在最重要的位置
局外人

5

更好的方法是使用alt +向右键和alt +向左键进行导航,就像Jetbrains IDE Webstorm一样

这是我的配置。它还包括创建新文件和文件夹

    {
        "key": "ctrl+n",
        "command": "explorer.newFile"
    },
    {
        "key": "ctrl+shift+n",
        "command": "explorer.newFolder"
    },
    { 
        "key": "alt+left",
        "command": "workbench.action.previousEditor" 
    },
    { 
        "key": "alt+right",
        "command": "workbench.action.nextEditor" 
    }

1
覆盖alt + right / left可以防止默认的,有用的编辑器行为将光标跳到上一个/下一个单词。
卡尔尼


3

通过Visual Studio Code v1.35.0,您可以将(Ctrl+ Tab)/(Shift+ Ctrl+ Tab)键序列设置为依次在编辑器之间进行切换,方法是将这些键序列分别绑定到命令“视图:打开下一个编辑器”和“视图:打开上一个编辑器” 。

在macOS上:

  1. 导航到:代码>首选项>键盘快捷键
  2. 搜索或向下导航至以下两个选项:
    • 查看:打开下一个编辑器
    • 查看:打开上一个编辑器
  3. 将两个键绑定都更改为所需的键序列。
    • 查看:打开下一个编辑器->(Ctrl+Tab
    • 查看:打开上一个编辑器->(Shift+ Ctrl+ Tab
  4. 您可能会遇到冲突的绑定。如果是这样,请记下该命令并重新分配或删除现有的键绑定。

如果您搞砸了,则始终可以通过右键单击任何键绑定并选择“重置键绑定”来恢复给定绑定的默认状态。


1
谢谢老兄,我为此在整个互联网中循环播放!
Pall Arpad

2

这也适用于MAC OS

按下以选择特定的选项卡:Control+ 1或Control2,3 Control等。

按显示/选择所有可能的标签:Control+ Tab


2

匹配浏览器的Linux键映射:

[
    {
        "key": "ctrl+0",
        "command": "workbench.action.lastEditorInGroup"
    },
    {
        "key": "ctrl+1",
        "command": "workbench.action.openEditorAtIndex1"
    },
    {
        "key": "ctrl+2",
        "command": "workbench.action.openEditorAtIndex2"
    },
    {
        "key": "ctrl+3",
        "command": "workbench.action.openEditorAtIndex3"
    },
    {
        "key": "ctrl+4",
        "command": "workbench.action.openEditorAtIndex4"
    },
    {
        "key": "ctrl+5",
        "command": "workbench.action.openEditorAtIndex5"
    },
    {
        "key": "ctrl+6",
        "command": "workbench.action.openEditorAtIndex6"
    },
    {
        "key": "ctrl+7",
        "command": "workbench.action.openEditorAtIndex7"
    },
    {
        "key": "ctrl+8",
        "command": "workbench.action.openEditorAtIndex8"
    },
    {
        "key": "ctrl+9",
        "command": "workbench.action.openEditorAtIndex9"
    },
    {
        "key": "alt+1",
        "command": "workbench.action.focusFirstEditorGroup"
    },
    {
        "key": "alt+2",
        "command": "workbench.action.focusSecondEditorGroup"
    },
    {
        "key": "alt+3",
        "command": "workbench.action.focusThirdEditorGroup"
    }
]

1

快速更改选项卡的另一种方法是在VSCode 1.45中(2020年4月)

使用鼠标滚轮切换标签页

当您使用鼠标滚轮在编辑器选项卡上滚动时,当前无法切换到选项卡,而只能显示不可见的选项卡。

现在有了新设置,workbench.editor.scrollToSwitchTabs如果将其更改为,则可以更改此行为true

https://media.githubusercontent.com/media/microsoft/vscode-docs/vnext/release-notes/images/1_45/scroll-tabs.gif

注意:您也可以按住 Shift在滚动时键,以得到相反的效果(即即使关闭此设置也可以切换到选项卡)。


0

在Linux / Windows上使用Visual Studio Code时,可以使用CTRL + PAGE_UP切换到上一个选项卡,而使用CTRL + PAGE_DN切换到下一个选项卡。您还可以根据标签(相对非零)索引切换到标签。您可以通过按住ALT以及一个数字(1到9)来做到这一点。

有关更多详细信息:在这里检查


0

使用Sublime Text键映射。如此直观。

km

导入Sublime文本键盘映射:

Name: Sublime Text Keymap and Settings Importer
Id: ms-vscode.sublime-keybindings
Description: Import Sublime Text settings and keybindings into VS Code.
Version: 4.0.3
Publisher: Microsoft
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings

0

@SC_Chupacabra具有修改行为的正确答案。

我通常更喜欢使用CTRL+ PAGE UP / DOWN导航,而不是使用TAB键。

    {
        "key": "ctrl+pageUp",
        "command": "workbench.action.nextEditor"
    },
    {
        "key": "ctrl+pageDown",
        "command": "workbench.action.previousEditor"
    }

0

我找不到VS社区的文章,所以我将在这里发布我的解决方案。


首先,您需要转到工具->选项->环境->键盘,然后找到命令 Window.NextTab。在底部附近,应该说“在以下位置使用新的快捷方式”。将其设置为Global(应为默认值),然后选择右侧的文本框并点击Ctrl+ Tab。删除所选命令的所有当前快捷方式,然后单击“分配”。对于Ctrl+ Shift+ Tab,命令应为Window.PreviousTab

希望这对您有所帮助:)如果有VS社区的单独帖子,我很乐意将此帖子移开。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.