快捷方式可同时切换已注释和未注释的代码

时间:2020-02-21 08:04:20

标签: visual-studio-code vscode-settings

在Visual Studio Code中,快捷键 Ctrl + / 允许您注释选定的行(如果以前未注释任何行)或取消注释行(如果每个行都已注释)/切换注释/

是否可以撤消评论?因此,要在选定的代码块中关闭任何注释行并打开任何未注释行的注释?

例如,现在:

line 1    \                 // line 1
line 2     -> [Ctrl + /] -> // line 2
// line 3 /                 // // line 3

预期:

line 1    \                   // line 1
line 2     -> [Ctrl + ???] -> // line 2
// line 3 /                   line 3

2 个答案:

答案 0 :(得分:0)

您可以使用一个额外的命令轻松完成此操作:

Shift + Alt + I :将您的选择分成几行,每行都有自己的光标。然后 Ctrl + / 会完全满足您的要求。

您可以将其设置为宏,在这里使用宏扩展名multi-command一步即可做到:

在settings.json中:

"multiCommand.commands": [
  {
    "command": "multiCommand.reverseComments",
    "sequence": [
      "editor.action.insertCursorAtEndOfEachLineSelected",
      "editor.action.commentLine",
      "removeSecondaryCursors"
    ]
  }
]

在您的keybindings.json中:

{
  "key": "ctrl+/",             // or whatever keybinding you wish
  "command": "extension.multiCommand.execute",
  "args": { "command": "multiCommand.reverseComments" },
  "when": "textInputFocus && editorHasSelection"
},

这看起来很有用,我想我也会用。如演示所示,您将丢失原始选择,默认选择将保留该原始选择:

toggle comments

答案 1 :(得分:0)

我刚刚上传了扩展名Toggle Line Comments,该扩展名可以满足您的需求。这样

line 1
line 2
// line 3

将成为

// line 1
// line 2
line 3

反之亦然。

演示:

toggle line comments demo

Ctrl / Cmd + Alt + / 是默认的键盘绑定,但是您可以更改此扩展名,因为扩展会贡献一个命令:

{
  "key": "ctrl+alt+/",
  "command": "toggle-comments.toggleLineComments",
  "when": "editorHasSelection && editorTextFocus"
}

它也可以用于多个选择。