VSCode中有没有办法使用多个单C风格的注释来屏蔽C语言的注释?

Is there any way using multiple single C-style comments to block comment C language in VSCode?

我已阅读VSCode的文档:https://code.visualstudio.com/docs/getstarted/keybindings

Ctrl+/ 做:

// int main() {
//   return 0;
// }

Ctrl+Shift+A 做:

/* int main() {
  return 0;
} */

但我想要类似 Emacs 的方式:

/* int main() { */
/*   return 0; */
/* } */

如何切换或自定义样式内部 VSCode 本身?

您可以制作自己的宏来执行此操作。使用宏扩展 multi-command 将这些放入您的 keybindings.json 文件中:

  {
    "key": "ctrl+shift+A",     // whatever keybinding you like
    "command": "extension.multiCommand.execute",
    "args": {
      "sequence": [
        "editor.action.insertCursorAtEndOfEachLineSelected",
        "cursorLineStartSelect",
        "editor.action.blockComment"
      ]
    },
    "when": "editorFocus && editorHasSelection"  // with a selection
  },

{
  "key": "ctrl+shift+A",
  "command": "extension.multiCommand.execute",
  "args": {
    "sequence": [
      "cursorEnd",
      "cursorLineStartSelect",
      "editor.action.blockComment"
    ]
  },
  "when": "editorFocus && !editorHasSelection"  // no selection
}

当您有 selected 文本时,将触发第一个键绑定。它会在 selection 中的每一行末尾添加一个光标,然后 select 整行并对其进行 blockComment 以获得您想要的效果。

第二个键绑定在没有 selection 时起作用,就像你只有一行你想阻止评论一样。它也适用于多个游标。光标可以在行上的任何位置,整行将被 blockCommented。


[如果这些不完全符合您的要求,请告诉我,我们可以对其进行调整。]