【问题标题】:Is there any way using multiple single C-style comments to block comment C language in VSCode?有没有办法在 VSCode 中使用多个单一的 C 样式注释来阻止注释 C 语言?
【发布时间】:2021-08-31 06:00:05
【问题描述】:

我已经阅读了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 本身的样式?

【问题讨论】:

  • 也许在键盘设置中你可以找到对你有帮助的东西,按 ctrl + shift + p 并打开终端,然后输入键盘,看看你有什么选项。
  • 没有写自己的插件你运气不好。

标签: c visual-studio-code vscode-settings


【解决方案1】:

您可以制作自己的宏来执行此操作。使用宏扩展 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
}

当您选择文本时触发第一个键绑定。它会在所选内容的每行末尾添加一个光标,然后选择整行并对其进行块注释以获得您想要的效果。

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


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

【讨论】:

  • 哇!这是美妙的和可行的。感谢您的辛勤工作。但有一些小问题可以改进: 1. 注释掉空行。这是出乎意料的。 2. 注释从行头开始,而不是从语句头开始。 3.不选择整行,我认为应该在尾部开始注释。无论如何,你已经做得很好了。而且我认为我应该自己开发它。
  • 如果您选择空行,它们将被注释 - 没有办法阻止这种情况。 #2 可能是固定的 - 你的意思是在代码开头的注释? #3 如果你选择了一行的一部分,你想在末尾添加评论?
  • #2 对,我的意思是注释从代码头开始。就像我们在 Emacs 中使用的一样。 #3 我只想用一个键来做任何评论。当我没有选择任何部分代码时,在尾部开始注释。
  • #2 你可以使用cursorHomeSelect 而不是cursorLineStartSelect,但是注释字符在缩进的代码上不会很好地排列。只有编写扩展程序才能解决该问题或#1。 #3 我认为只需从!editorHasSelection 版本中删除cursorLineStartSelect。 [不幸的是,我现在无法测试这些。]它将转到行尾并插入一个 blockComment。
猜你喜欢
  • 2010-10-07
  • 2012-11-04
  • 1970-01-01
  • 1970-01-01
  • 2021-12-21
  • 2016-10-29
  • 2021-07-25
  • 2016-01-03
  • 1970-01-01
相关资源
最近更新 更多