如何在VSCode中的预定义列处插入或重新对齐行注释

时间:2018-08-27 20:46:45

标签: visual-studio-code

是否可以像在emacs中那样在vscode中插入或重新对齐注释(即M-;)。在emacs中是meta-;如果尚无评论,则会在预定义的评论列中插入新评论,或者如果有评论,则将评论与评论列重新对齐。这将是一个不错的功能。例如'cmd +;'会在javascript代码中插入“ //”。如果有扩展名或键盘快捷键定义可以做到这一点,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

我想我已经在宏中工作了。您将需要macrosRE扩展名。

在您的settings.json中:

"macros": {

  "commentTabStop":  [

     "editor.action.commentLine",

     //  go to beginning of any text on line
     "cursorHome",

    // now select all whitespace at beginning of line
    { 
      "command": "cursorMove",
      "args": {
        "to": "wrappedLineStart",
        "select": true
      }
    },
    // set your number of tab stops to place comment
    "tab","tab","tab","tab","tab","tab"
  ]
}

这比我希望的要长,但是要处理对开头可能没有空格的现有 文本的注释。我假设您希望所有注释都垂直对齐,而不管最初可能有多少个前导制表符/空格。并且可以在空行上创建注释时使用。

function fooBar() {
  const someVar;
}

成为

      // function fooBar() {
      // const someVar;
      // }

不幸的是,该函数内的内部缩进丢失了。但是,如果稍后取消注释代码,则可以重新格式化该部分。选择它,然后 Ctrl - K Ctrl - F 将修复内部缩进。

要进行键绑定,请将其放入您的keybindings.json中:

{
    "key": "ctrl+;",
    "command": "macros.commentTabStop"
},