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+TAB 和 CTRL+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+1、CMD+2、CMD+3 与 CTRL+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+1、CTRL+2、 CTRL+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 键盘映射。更直观。
⌘k⌘m
导入 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
后跟移动键 j
、k
、h
、l
很有用,并且允许您在窗口之间移动(我认为“编辑器" 是不同窗口的 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_UP
或 CTRL + PAGE_DN
,具体取决于您要循环的方式。 CTRL + ALT + LEFT
和 CTRL + ALT + RIGHT
不是我为 Windows 列出的键盘快捷键。
嗯,它似乎不像描述的那样工作。在 Mac 上,Cmd + Num 在选项卡组(拆分窗口)之间切换。我想为同一组中的选项卡执行此操作。我能做到吗?
在 Mac 上 CTRL +(1、2 等)以上是关于Visual Studio Code 中是不是有快速更改选项卡功能?的主要内容,如果未能解决你的问题,请参考以下文章
visual studio 和visual studio code 的区别
Visual Studio Code 是不是有框选/多行编辑? [复制]
Visual Studio Code - 是不是有类似 Notepad ++ 插件的比较功能?