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

Posted

技术标签:

【中文标题】Visual Studio Code 中是不是有快速更改选项卡功能?【英文标题】:Is there a quick change tabs function in Visual Studio Code?Visual Studio Code 中是否有快速更改选项卡功能? 【发布时间】:2016-12-21 18:57:28 【问题描述】:

目前给我一个下拉选项来选择哪个选项卡的功能实在是太烦人了。是否有可能将其删除,以便标签可以像在某些现代网络浏览器中一样工作。

【问题讨论】:

我无法强调这有多烦人。使用 VSCode 和其他编辑器。 如果标签总是根据最近的使用进行排序,那就更好了。这样,行为不再依赖于隐藏状态,但您仍然可以将最常用的选项卡放在手边,而无需手动排序。 @ChieltenBrinke 听起来是个好主意,但我猜标签会跳来跳去,这也会让我抓狂。但我会试一试:D 【参考方案1】:

Mac 操作系统

上一个标签:Shift + Cmd + [

下一个标签:Shift + Cmd + ]

Mac OS(替代)

上一个标签:Cmnd + Alt +

下一个标签:Cmnd + Alt +

窗口:

上一个标签:Ctrl + Shift + Tab

下一个标签:Ctrl + Tab

Linux / Windows(替代):

上一个标签:Ctrl + Page Down

下一个标签:Ctrl + Page Up

【讨论】:

这是精确问题的实际答案 这个答案是正确的。它在选项卡和拆分窗格之间切换 这是不正确的。在 windows ctrl+tab 和 ctrl+shift+tab 循环最近打开的选项卡,它不会在打开的选项卡中按顺序左右移动 最后一个选项也适用于 Ubuntu 20.04【参考方案2】:

我正在将此脚本用于 AutoHotKey

^+WheelUp::
   WinGetActiveTitle, originalWindow
   WinActivate, ahk_exe Code.exe
   Send ^PgDn
   WinActivate, %originalWindow%
return

这让我可以按住 control + shift 并使用滚轮在 VSCode 选项卡之间移动,即使关注另一个程序也是如此。我对浏览器标签和视频控制使用了类似的东西。

【讨论】:

【参考方案3】:

您可以通过多种方式切换选项卡。

    基于位置的现代浏览器方式。

       "key": "ctrl+tab",
       "command": "workbench.action.nextEditor"
   ,
   
       "key": "ctrl+shift+tab",
       "command": "workbench.action.previousEditor"
   
    最近排序

   "key": "ctrl+shift+tab",
   "command": "workbench.action.openNextRecentlyUsedEditor"
 ,
 
   "key": "ctrl+tab",
   "command": "workbench.action.openPreviousRecentlyUsedEditor"
 

【讨论】:

第一个 sn-p 为我工作 :)【参考方案4】:

我觉得 CTRL+TABCTRL+SHIFT+TAB 仅当我将窗口拆分为多个面板时,才循环浏览面板(而不是所有面板)中的打开文件。要更改行为以使其在所有面板中循环,同时在快速打开对话框中保留该行为,请将这些添加到您的键绑定中:

  
    "key": "ctrl+tab",
    "command": "workbench.action.quickOpenPreviousRecentlyUsedEditor"
  ,
  
    "key": "ctrl+shift+tab",
    "command": "workbench.action.quickOpenLeastRecentlyUsedEditor"
  ,
  
    "key": "ctrl+tab",
    "command": "workbench.action.quickOpenNavigateNextInEditorPicker",
    "when": "inEditorsPicker && inQuickOpen"
  ,
  
    "key": "ctrl+shift+tab",
    "command": "workbench.action.quickOpenNavigatePreviousInEditorPicker",
    "when": "inEditorsPicker && inQuickOpen"
  

【讨论】:

+1 是的,这在official documentation中也有说明:[ "key": "ctrl+tab", "command": "workbench.action.quickOpenPreviousRecentlyUsedEditor", "when": "!inEditorsPicker" , "key": "ctrl+shift+tab", "command": "workbench.action.quickOpenLeastRecentlyUsedEditor", "when": "!inEditorsPicker" ] 【参考方案5】:

Linux 在当前的 Vscode 1.44.1 版本

我们可以使用 ctrl+pageup 作为下一个编辑器和 ctrl+pagedown 用于以前的编辑器。

如果需要更改

ctrl+shift+p > 偏好设置:打开键盘快捷键。

搜索

nextEditor

如果需要,请单击它进行更改。

【讨论】:

【参考方案6】:

我找不到 VS 社区的帖子,所以我将在此处发布我的解决方案。 首先,你需要去工具 -> 选项 -> 环境 -> 键盘,然后找到命令 Window.NextTab。在底部附近,它应该说“使用新的快捷方式:”。将其设置为全局(应该是默认设置),然后选择右侧的文本框并点击 Ctrl + Tab。删除所选命令的所有当前快捷方式,然后点击分配。对于 Ctrl + Shift + Tab,命令应该是Window.PreviousTab

希望这会有所帮助:) 如果 VS 社区有单独的帖子,我很乐意将这个帖子移过来。

【讨论】:

【参考方案7】:

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

Switch tabs using mouse wheel

当您使用鼠标滚轮滚动编辑器选项卡时,您目前无法切换到该选项卡,只能显示不在视图中的选项卡。

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

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

【讨论】:

【参考方案8】:

@Combii 我找到了交换的方法

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

在 macOS 中,转到:

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

在该页面上,点击页面右上角的按钮...

并在下面追加配置,然后保存。

[
    
        "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] 来聚焦编辑器组!希望这个答案对您有所帮助。

【讨论】:

alt+n 已经在 Windows 上这样做了,我确定有一个 mac 等效项 在 Mac 上相当于 control+n。我发现这很不直观,因为大多数程序默认使用 cmd+n 进行选项卡导航。切换这两种行为意味着您在尝试浏览标签时可以依靠肌肉记忆。 另外,对于最新版本(2019 年 4 月),您只需搜索这些项目 (workbench.action.openEditorAtIndex1) 并进行更改。不用去keybindings.json 从 v. 1.38.1(对于 OSX)开始,这已经过时了。根据the documentation 转到Preferences > Keyboard Shortcuts 然后点击编辑器标题栏右侧的图标。这将打开keybindings.json 是的,先生!太棒了!一直在寻找相应的解决方案。【参考方案9】:

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"
    
]

【讨论】:

【参考方案10】:

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

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

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

【讨论】:

【参考方案11】:

Windows

上一页

Ctrl + Shift + Tab

下一个

Ctrl + Tab

Mac 操作系统

上一页

Shift+ Cmd + [

下一个

Shift + Cmd + ]

【讨论】:

你的答案应该在顶部 是的,当然@outside【参考方案12】:

macOS - 2017 年修订

2017 年,VS CODE 键盘快捷键更改为 CTRL+1CTRL+2CTRL+3 etc..在标签之间切换。

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

【讨论】:

是否可以将其更改为CMD+1, CMD+2, and CMD+3 而不是CTRL+1, CTRL+2, CTRL+3 还有CMD + ALT + LEFT/RIGHT 只循环所有组中的所有选项卡。【参考方案13】:

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

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

要在 Visual Studio Code 中实现这一点,您必须编辑 keybindings.json。通过 CTRL+SHIFT+P 使用命令面板,输入“Preferences: Open Keyboard Shortcuts (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+(Mac)。

【讨论】:

实际上它并没有模仿下拉行为。使用这些键绑定,您只需将选项卡导航到右侧 (ctrl+tab) 或左侧 (ctrl+shift+tab)。要根据历史浏览选项卡,请使用这些: "key": "ctrl+tab", "command": "workbench.action.openPreviousRecentlyUsedEditor" , "key": "ctrl+shift+tab", "command": "workbench.action.openNextRecentlyUsedEditor" . @evenfrost OP 不想根据历史进行导航,所以这个答案很好。 谁不提供更改此选项卡行为的选项,而是需要编辑键绑定文件?! 想看到我们受苦的人,就是这样。 2021 年 5 月,现在您必须通过 Command Pallet >“首选项:打开键盘快捷键”(没有 json)更改键绑定,这将为您提供一个 GUI,您可以在其中更改键绑定。编辑/保存 JSON 不再起作用。【参考方案14】:

使用 Sublime Text 键盘映射。更直观。

km

导入 Sublime Text 键盘映射:

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

【讨论】:

【参考方案15】:

Visual Studio Code v1.35.0 让您设置 (Ctrl+Tab) / (Shift+Ctrl+Tab) 键序列,通过将这些键序列分别绑定到命令“查看:打开下一个编辑器”和“查看:打开上一个编辑器”,在编辑器之间顺序切换。

在 macOS 上:

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

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

【讨论】:

谢谢老兄,我为此在整个互联网上循环播放! 很好的解决方案。也适用于 Windows。【参考方案16】:

这也适用于 MAC OS

按下选择特定选项卡:Control + 1 或 Control 2、Control 3 等。

按下显示/选择所有可能的选项卡:Control + Tab

【讨论】:

【参考方案17】:

在 Linux/Windows 上使用 Visual Studio Code 时,可以使用 CTRL + PAGE_UP 切换到上一个选项卡,使用 CTRL + PAGE_DN 切换到下一个选项卡。您还可以根据其(非零相对)索引切换到选项卡。您可以这样做,方法是按住 ALT ,后跟一个数字(1 到 9)。

更多详情:check here

【讨论】:

【参考方案18】:

如果您使用的是VSCodeVim 扩展,您可以使用Vim key shortcuts:

下一个标签:gt

上一个标签:gT

编号标签:nnngt

【讨论】:

不幸的是,如果 Markdown Preview 处于活动状态,则无法正常工作 另外,Ctrl w 后跟移动键 jkhl 很有用,并且允许您在窗口之间移动(我认为“编辑器" 是不同窗口的 vscode 术语)。【参考方案19】:

对于 linux... 我使用 ctrl+pageUp 或 pageDown

【讨论】:

【参考方案20】:

更好的方法是使用 alt+right 和 alt+left 键像 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" 
    

【讨论】:

覆盖 alt+right/left 会阻止默认的、有用的编辑器行为将光标跳转到上一个/下一个单词。【参考方案21】:

窗口

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

您还可以根据标签的(非零相对)索引切换到标签。您可以这样做,方法是按住 ALT,后跟一个数字(1 到 9)。

macOS

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

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

请注意,要切换到不同编辑器组中的选项卡,您必须先切换到所需的编辑器组。

专业提示:如果您对任何键绑定不满意,您可以change them 到任何您觉得更舒服的键!

【讨论】:

CTRL + ALT + LEFT/RIGHT 和 CTRL + number 仅将标签复制到新标签组 说明之前很清楚,在WINDOWS上根本行不通。当我按 ctrl+alt+left 时 - 没有任何反应,当我按 ctrl+alt+right 时,它会将选项卡移动到右侧的辅助选项卡部分。 @yodalr,在 Windows 上,要在选项卡之间循环,您可以按 CTRL + PAGE_UPCTRL + PAGE_DN,具体取决于您要循环的方式。 CTRL + ALT + LEFTCTRL + ALT + RIGHT 不是我为 Windows 列出的键盘快捷键。 嗯,它似乎不像描述的那样工作。在 Mac 上,Cmd + Num 在选项卡组(拆分窗口)之间切换。我想为同一组中的选项卡执行此操作。我能做到吗? 在 Mac 上 CTRL +(1、2 等)

以上是关于Visual Studio Code 中是不是有快速更改选项卡功能?的主要内容,如果未能解决你的问题,请参考以下文章

如何评价Visual Studio Code

visual studio 和visual studio code 的区别

Visual Studio Code 是不是有框选/多行编辑? [复制]

Visual Studio Code - 是不是有类似 Notepad ++ 插件的比较功能?

Visual Studio Code - 为啥使用工作区而不是标准文件夹?

Visual Studio Code 是不是支持与远程服务器同步代码?