如何在Visual Studio Code中更改键盘快捷键绑定?

169
使用Visual Studio Code,如何进行以下操作:
  • 重新映射内置命令的键盘快捷方式。例如,假设打开文件的默认键盘快捷键是Ctrl+O,虽然不太可能更改此设置,但同样的过程可能适用于任何内置快捷键。
  • 重新映射扩展命令的键盘快捷方式,例如书签扩展的toggle-bookmark(默认为Ctrl+Alt+K)。
在2015年,这需要编辑配置JSON文件,但我不知道是哪一个或如何操作。在2021年,有一个新的UI,我该如何找到它?
12个回答

221

点击 文件 -> 首选项 -> 键盘快捷方式。使用打开的选项卡编辑并查找可用的键绑定并将它们分配给相应操作。 请输入图像描述

历史注释: 在 Visual Studio Code 的早期版本中,您会单击文件 -> 首选项 -> 键盘快捷方式,然后您会得到如此 JSON:keybindings.json

// Place your key bindings in this file to overwrite the defaults
[
    { "key": "ctrl+o",                "command": "workbench.action.files.openFile" },
    
    { "key": "ctrl+alt+k",            "command": "bookmarks.toggle",
                                     "when": "editorTextFocus" }

]

但是在2021版本中,有了一个合适的GUI界面,这很棒,因为JSON编辑方法容易出错且难以发现。

JSON编辑器功能已经移动到一个新图标下:

输入图片描述


14
Mac用户点击“Code”而不是“File”。 - Gwater17
有没有一种简单的方法可以从VS复制键盘快捷键? - Hrvoje T
2
点击分屏编辑器图标旁边的{}图标以打开keybindings.json。 - Shayan
11
对于那些正在寻找“{}”的人,现在它看起来像是一个文档图标,左侧带有一个圆形箭头。很遗憾,他们的文件没有提到这一点。 - frumbert
此答案最初告诉您编辑一些JSON,更新于2021年5月以显示现代的VS Code键盘快捷方式UI。 - Warren P

54

如果您想更改键盘快捷方式的高级设置,例如 when ,则可以按照以下步骤操作:

更新:(感谢@phdoerfler指出图标已更改)

文件 -> 首选项 -> 键盘快捷方式 单击右上角的图标“打开键盘快捷方式(JSON)”以打开JSON版本并放置按键绑定。

Image showing icon

你可以在这里找到相关文档here

7
图标已更改。它不再是{},而是一个带有箭头指向其上的页面。工具提示显示“打开键盘快捷方式(JSON)”。您可以在此屏幕截图的右上角看到它:https://code.visualstudio.com/assets/docs/getstarted/keybinding/open-keyboard-shortcuts-json.png - phdoerfler
1
这只显示默认值,模式真的是编辑默认值吗?我不认为以前是这样的。自定义的keybindings.json存储在哪里?现在已经消失了。 - mathtick
@mathtick,你找到默认的keybindings.json了吗?我找不到它,只有我的自定义键绑定json文件。 - Timo
@Timo 我想我只是通过搜索找到了。我有一些keybindings.json文件。最令人困惑的是,我认为有不同的位置可以被选中...而且我在某个存储库中,其中有许多不同的keybindings.json副本。 - mathtick
1
2021年5月,基于JSON文件的编辑方法似乎已经完全消失了。 - Warren P

26

最近版本的操作方法又一次改变了JSON文件的打开方式。

您需要点击标签栏中间的三个按钮之一。

输入图像描述

只有当您需要进行的更改在常规设置屏幕上无法实现时才需要执行该操作。


这个功能在2021年5月仍然存在,但是你可以在不进入此处的情况下编辑WHEN条件。 - Warren P
似乎又改变了,我找不到他们现在隐藏的唯一编辑按键绑定的方法。 - MrYellow

23

在Windows上:

  • 前往文件 -> 首选项 -> 键盘快捷方式
  • 或按下Ctrl+K,然后 Ctrl+S
  • 或编辑 %UserProfile%\AppData\Roaming\Code\User\keybindings.json 文件。

在Mac上:

  • 前往Code -> 首选项 -> 键盘快捷方式
  • 或按下Cmd+K,然后 Cmd+S

请记住您可以在“键盘快捷方式”面板的搜索输入框中键入类似于shift ctrl c之类的内容,以通过其键绑定查找命令。

此处是文档,其中包括有关可用的When条件的信息,以及其他内容。


WHEN条件的编辑现在可以直接进行可视化操作。JSON编辑部分可能已不再相关。 - Warren P

6
  1. 按下ctrl + shift + p
  2. 在搜索栏中输入打开键盘快捷方式

enter image description here

  1. 这将打开键盘快捷方式。在这里,您可以自定义快捷方式。

(如需更多信息,请从第4点开始阅读)

  1. 在右上角单击打开键盘快捷方式(JSON)(参见图像)

json icon

  1. 在那里,您可以修改键、命令和触发条件。这也很酷。

我已经尝试了

{
    "key": "ctrl+a",
    "command": "workbench.action.terminal.selectAll",
    "when": "terminalFocus && !isMac"
}

现在我可以通过 vscode 终端选择全部了。

6
Visual Studio Code 1.11.0的最新版本提供了全新的键盘快捷键编辑器,使得编辑快捷键更加方便。点击这里在他们的网站上了解更多信息。

“丰富而简单”的用户界面受到限制,不允许进行许多类型的编辑。 - MrYellow

5

在 Mac 上,keybindings.json 文件位于以下位置:

/Users/你的用户名/Library/Application Support/Code/User/keybindings.json


4

我不会重复别人的回答!如果像我一样!你需要安装一个映射扩展程序!

我的首选是Visual studio键位映射

问题是如何选择它!如何更改它!我们可以安装多个吗!并在它们之间进行选择!

首先,这里有一些有关键绑定和快捷方式的有用链接。

https://code.visualstudio.com/docs/getstarted/keybindings

https://code.visualstudio.com/docs/getstarted/tips-and-tricks

在开始之前,请注意您可以通过使用左下角的设置按钮来获取键位映射扩展设置上下文菜单!如下图所示:

enter image description here

或通过文件>首选项>键映射

enter image description here

然后你必须安装一个键位映射。

enter image description here

要知道的是,它会立即发生并进行更改!
安装另一个会怎样?
新的接管!或者有些混合!我无法确定! 你可能会遇到问题!
如何从一个更改为另一个?
删除旧的!删除新的!然后再次安装!这是我发现有效的方式!禁用和重新启用不起作用!
最好始终只安装一个!
不幸的是,截至2020-05-08,没有选择键映射的选项!
撤消键映射
只需删除!您可能需要重新启动编辑器!
重新启动编辑器
还要注意,如果您卸载了所有内容并重新安装了想要的内容!并且更改没有生效!关闭编辑器并重新打开它!那很有帮助!
我希望这可以帮助您节省一些搜索时间!
在未来,我们肯定会有更好的处理方式!由于vscode越来越棒,因此预计会添加选择和更好的处理选项!我们将等待它的到来!

1
在Windows上:按下Ctrl+K,然后按下S 在Mac上:按下+K,然后再按下+S 这将打开键盘快捷方式编辑器。它可通过快捷方式名称或键组合本身进行搜索/筛选(例如:键入“ctrl”以查看所有绑定到CTRL键的绑定)。
图片: vscode search keyword shortcuts panel

0
要更改在vs中的键盘快捷键绑定,请转至设置>键盘快捷键。

enter image description here

然后您将看到这样的页面。在我在这里突出显示的红色框中,您可以插入诸如删除、删除左侧等活动,您可以搜索然后按照您的意愿编辑键绑定。

enter image description here

当你把鼠标指针靠近某个命令时,它会显示笔型图标来编辑该特定键。就像这样

enter image description here

通过点击这个,你可以像这样添加首选的按键绑定。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接