首页 > 解决方案 > 启用/禁用代码格式切换的键盘快捷键 (VSCode)

问题描述

我经常需要打开项目并对使用与我使用的代码格式选项不同的项目进行小改动。为了不重新格式化整个文件,我通常打开用户设置,搜索包含“格式”的设置,然后禁用选项Editor: Format On Paste, Editor: Format On Save, Editor: Format On Type. 当我回到我的项目时,我会重新启用这些选项。

我希望这更简单,例如绑定键盘快捷键以快速切换所有这三个选项。但是,我找不到可以绑定到这些的快捷操作。

有谁知道我想要实现的目标是否可行?

标签: visual-studio-codeformatkey-bindings

解决方案


您可以使用扩展程序来做到这一点:Toggle,它允许您同时切换许多设置。

在您的 keybindings.json 中:

{
  "key": "alt+capslock",       // whatever keybinding you wish
  "command": "toggle",
  "when": "editorTextFocus",
  "args": {
    "id": "toggleFormats",
    "value": [
      {
        "editor.formatOnType": true,
        "editor.formatOnPaste": true,
        "editor.formatOnSave": true,
        "window.enableMenuBarMnemonics": false
      },
      {
        "editor.formatOnType": false,
        "editor.formatOnPaste": false,
        "editor.formatOnSave": false,
        "window.enableMenuBarMnemonics": true
      }
    ]
  }
},

我没有测试过它,但它应该可以工作。

唯一的问题是没有视觉指示您处于哪个状态 - 也许您可以找到一些其他设置来切换它会这样做并且是“无害的”。这就是我投入enableMenuBarMnemonics其中的原因,当 s 设置为 false 时,键盘上的 capslock 键会亮起format,您还可以通过alt+F来检查主菜单File选项是否打开。您可能不需要视觉提醒来指示状态或提出更好的状态。


推荐阅读