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

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

【问题讨论】:

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

标签: visual-studio-code vscode-settings


【解决方案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】:

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

    1. 基于位置的现代浏览器方式。
    {
           "key": "ctrl+tab",
           "command": "workbench.action.nextEditor"
       },
       {
           "key": "ctrl+shift+tab",
           "command": "workbench.action.previousEditor"
       }
    
    1. 最近排序
    {
       "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 上:

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

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

                【讨论】:

                • 谢谢老兄,我为此在整个互联网上循环播放!
                • 很好的解决方案。也适用于 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 等)
                      猜你喜欢
                      • 1970-01-01
                      • 2018-02-03
                      • 1970-01-01
                      • 2020-01-10
                      • 2016-06-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2019-05-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多