【问题标题】:Keyboard shortcuts for navigating working files in Visual Studio Code在 Visual Studio Code 中导航工作文件的键盘快捷键
【发布时间】:2015-06-12 23:32:38
【问题描述】:

我是一名习惯于 Sublime Text 的网络开发人员。通常我会打开多个文件,并使用 cmd + option + left (或 +right)。

我希望在 Visual Studio Code 中拥有尽可能接近此功能的功能。从我读过的内容来看,在 Visual Studio Code 中,您应该使用左侧边栏中的“工作文件”列表,而不是在顶部的选项卡中打开多个文档。几个问题:

  • 是否有用于在这些文件之间按顺序导航的键盘快捷键? (相当于 Sublime Text 中的 cmd + option + left(或 +right)?)
  • 是否有用于关闭文件并将其从工作文件列表中删除的键盘快捷键? cmd + w 只是关闭它的编辑器窗口。
  • 如果这些快捷方式默认不存在,我可以创建它们吗?

我刚刚发现 Ctrl + - 和 Ctrl + shift + - (ref),在“编辑位置”之间导航。这很方便,但有时它会在同一文件的不同位置之间跳转(取决于您一直在编辑的位置)。此外,我喜欢一个按顺序移动文件的选项,即不是基于最近查看的,而是根据它们在工作文件列表中的列出方式从上到下。

【问题讨论】:

  • vscode 存储库中有一个关于此的未解决问题:github.com/Microsoft/vscode/issues/3260
  • 我使用的是 1.17.0 (Mac),对我来说,我可以使用您建议的 cmd+option+left(或 +right)在所有打开的文件之间导航。

标签: visual-studio-code


【解决方案1】:

我喜欢使用命令关闭工作文件或关闭所有工作文件的想法,我可以考虑添加这些命令以供下次更新。

至于工作文件之间的导航:我们有一个非常强大的导航工具,称为Navigate History。默认情况下,它分配给 Ctrl + Tab,您可以按住 Ctrl 键并单击 Tab 循环通过文件列表,类似于在操作系统上的窗口之间切换。

导航历史记录与您要求的不同,因为它还包含您打开的文件,但这些文件不在工作文件中。如果它为您解决了导航问题,您可以试一试并报告吗?

我们认为这是一种更自然的导航方式,因为您不必担心工作文件的顺序。相反,您可以浏览最近使用的文件列表。

在我们的团队中,我们已经习惯了浏览历史,以至于我们不能再没有它了。很多时候我们会按下 Ctrl + Tab 一两次,甚至不看打开的列表,因为我们知道我们想要的文件是一两个历史条目.

更新

随着 Visual Studio Code 0.5.0 的发布,现在可以使用键盘快捷键在工作文件列表中前后导航。快捷方式是 CMD + K + ↑ 和 CMD + K + ↓(在 Windows 上使用 Ctrl 键)。

【讨论】:

  • 感谢您的回复!我很欣赏这个建议——我不怀疑它很有帮助,如果这是唯一的选择,我可能会依赖它。但是,我认为我总是更喜欢拥有一组可以按顺序浏览的选定文件(如工作文件)。对我自己来说,问题在于“最近的文件”列表当然总是在改变顺序,当我试图在超过 2 或 3 个文件之间跳转时,这对我来说不太方便(因为我从来不知道是什么顺序超出了)。
  • 在月底的下一次更新中,将有用于按顺序(前后)在工作文件中导航的命令。我还添加了关闭文件或关闭所有文件的命令。
  • 嘿,我 15 分钟前才读到这个答案,然后我看到弹出“新版本!”,然后我看到你更新了。你在上面,本杰明。到目前为止,VS Code 团队给我们留下了深刻的印象。
  • 哦,伙计,我一直很生气,因为没有找到这个。谢谢!!我已经习惯了 Sublime 的默认设置,即点击 cmd+p 来切换最后一个打开的文件,但这很好,并且我认为它增加了一点用处。现在只是为了训练肌肉记忆......
  • “更新”段落中的快捷方式在编写后是否已更改?他们不为我工作。 (它将光标移动到文件的顶部或底部。)
【解决方案2】:

Ctrl + 上一页

Ctrl + Page Down

将是导航顺序选项卡的最佳答案。

【讨论】:

  • 这对我有很大帮助,我刚刚发现了这个替代方案,它也适用于其他程序! :D
【解决方案3】:

对于 Mac:从菜单中选择菜单 代码 → 首选项 → 键盘快捷键 打开User/keybindings.json。然后在方括号内添加:

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

这将绑定标准 Mac 选项卡切换快捷键 ⌘+shift+[ 和 ⌘+ shift+] 分别切换到上一个和下一个选项卡。它在 Visual Studio Code 1.3.1 中进行了测试。

如果您更愿意使用 ⌘+⌥+← 和 ⌘+⌥+→,它们的关键字符串是"cmd+alt+left"和"cmd+alt+right"。虽然从我的测试来看,在 Visual Studio Code 1.3.1 中默认情况下这些已经绑定到适当的命令,所以也许这个问题已经过时了?

【讨论】:

  • 现在看起来⌘+⌥+← 和⌘+shift+[ 都默认绑定到workbench.action.previousEditor,以及各自相反的workbench.action.nextEditor 的密钥。
【解决方案4】:

我已经习惯了用键盘来切换带编号的标签。类似于谷歌浏览器。

cmd+1 # 第一个标签

cmd+2 #第二个标签

等等

我没有在 Visual Studio Code 中找到此设置。我能够将键映射到箭头,以便能够一次切换一个。

[{
    "key": "cmd+shift+left",
    "command": "workbench.action.previousEditor"
}, {
    "key": "cmd+shift+right",
    "command": "workbench.action.nextEditor"
}]

这并不理想,但可以。

【讨论】:

  • 我需要和这个一样的,cmd+1 -> #first tab等等,怎么做?
  • @MohammadShahid 和那些想要 cmd+1、cmd+2 等功能的人,因为您可能已经习惯了 chrome、sublime 和其他人,您可以打开键盘快捷方式并查找 @ 987654323@ 部分,然后您可以将它们更改为 cmd+1、cmd+2 等。这是一个问题和屏幕截图:github.com/Microsoft/vscode/issues/24753#issuecomment-294518439
【解决方案5】:

使用out of the box window management hotkeys。

编辑组之间

  • Ctrl + 1 向左
  • Ctrl + 2 到侧面
  • Ctrl + 3 向右
  • Ctrl + K Ctrl + 向左向左
  • Ctrl + K Ctrl + 右到右

在编辑组内

  • Ctrl + Tab 到下一步

【讨论】:

    【解决方案6】:

    我也对循环浏览最近文件而不是工作文件的默认行为感到恼火,但事实证明您可以重新映射键盘以使其工作方式有所不同。

    将 Ctrl+Tab 和 Ctrl+Shift+Tab 映射到循环浏览工作文件,类似于其他版本的 Visual Studio 的工作方式,您可以将其添加到您的键绑定文件中:

    [
      { "key": "ctrl+tab", "command": "workbench.files.action.openNextWorkingFile" },
      { "key": "ctrl+shift+tab", "command": "workbench.files.action.openPreviousWorkingFile" }
    ]
    

    【讨论】:

    • 感谢您的工作!但我想念Navigate history 的用户界面。
    • 在 Visual Studio Code 1.6.x 中更改:{ "key": "ctrl+tab", "command": "workbench.action.nextEditor" }, { "key": "ctrl+shift+tab", "command": "workbench.action.previousEditor" }
    【解决方案7】:

    转到所需选项卡的默认绑定:

    Alt + 1

    Alt + 2

    ...

    要更改,菜单 文件 → 首选项 → 设置 → 键盘快捷键 → 搜索:openEditorAtIndex

    【讨论】:

    • 我认为在最近的 Visual Studio Code 版本中,键盘快捷键已从 Settings 中移出。
    【解决方案8】:

    我的 Mac 上的新 VSCode 版本 1.36.1 我必须执行以下操作:

        {
            "key": "shift+cmd+[BracketLeft]",
            "command": "workbench.action.previousEditor"
        },
        {
            "key": "shift+cmd+[BracketRight]",
            "command": "workbench.action.nextEditor"
        }
    

    【讨论】:

      【解决方案9】:

      按住ctrl 并使用tab 在文件之间导航,选择文件后,释放ctrl 以转到该文件。

      【讨论】:

        【解决方案10】:

        Ctrl+PageUp: SelectPreviousSuggestion Ctrl+PageDown:选择下一个建议

        【讨论】:

          【解决方案11】:

          您可以安装诸如 Sublime Text、Atom 或 Visual Studio 市场上任何其他可用的键绑定,看这个:

          Sublime Text Keymap and Settings Importer

          就个人而言,我喜欢 atom 键绑定 :)

          Atom Keymap

          它就像一个魅力。

          【讨论】:

            【解决方案12】:

            @Mesco 回答的内容仍然有效,但默认绑定已更改为:

            Ctrl + 1

            Ctrl + 2

            要更改默认设置,您必须:

            1. 首选项 > 键盘快捷键
            2. 搜索:openEditorAtIndex
            3. 将键绑定更改为任何内容

            【讨论】:

              【解决方案13】:

              我仍然更喜欢您描述的方法,但似乎 Visual Studio Code 中的当前解决方案是使用键盘“和弦”,如下所示:

              以前的工作文件 - ⌘+K;↑

              下一个工作文件 - ⌘+K;↓

              关闭工作文件 - ⌘+K;W

              注意:在 Windows/Linux 上,使用 Ctrl+K 而不是 ⌘+K。 p>

              Source

              【讨论】:

                【解决方案14】:

                在 Windows 中,您可以使用 Ctrl + Tab

                【讨论】:

                • 嗨,Akshay,您能详细说明您的答案吗?多个先前的答案已经包含相同的信息。
                【解决方案15】:

                对我来说,只是在键盘快捷键中找到某些命令,然后以我喜欢的方式修改它们(分别为 Mac:CMD+1/2/.../9)。
                所以导航到 VS Code -> 首选项 -> 键盘快捷键。
                然后搜索:workbench.action.openEditorAtIndex1 并将所需的键重新映射到此命令。
                对所有九个索引执行最后一步,这样您就可以在九个打开的工作文件之间进行更改。 对我来说,这最有效,因为它提醒我在谷歌浏览器等窗口标签之间切换。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2016-02-20
                  • 1970-01-01
                  • 2011-05-14
                  • 1970-01-01
                  相关资源
                  最近更新 更多