Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code 如何在VSCode中的预定义列处插入或重新对齐行注释_Visual Studio Code - Fatal编程技术网

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

Visual studio code 如何在VSCode中的预定义列处插入或重新对齐行注释,visual-studio-code,Visual Studio Code,有没有一种方法可以像emacs(即M-;)那样在vscode中插入或重新对齐注释。在emacs中为元-;如果没有注释,则在预定义的注释列中插入新注释;如果有注释,则将注释重新对齐到注释列。这将是一个很好的功能。例如'cmd+;'将在javascript代码中插入“/”。如果有一个扩展名或键盘快捷键定义可以做到这一点,我希望能听到它。我想我可以在宏中使用它。你需要分机 在您的settings.json中: "macros": { "commentTabStop": [ "edi

有没有一种方法可以像emacs(即M-;)那样在vscode中插入或重新对齐注释。在emacs中为元-;如果没有注释,则在预定义的注释列中插入新注释;如果有注释,则将注释重新对齐到注释列。这将是一个很好的功能。例如'cmd+;'将在javascript代码中插入“/”。如果有一个扩展名或键盘快捷键定义可以做到这一点,我希望能听到它。

我想我可以在宏中使用它。你需要分机

在您的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"
  ]
}
{
    "key": "ctrl+;",
    "command": "macros.commentTabStop"
},
这比我希望的要长,但要处理在现有的文本上创建一条评论,该评论开头可能有空白,也可能没有空白。我假设您希望所有注释都垂直对齐,而不管最初可能有多少前导选项卡/空间。并在空行上创建注释时使用

function fooBar() {
  const someVar;
}
变成

      // function fooBar() {
      // const someVar;
      // }
不幸的是,函数中的内部缩进丢失了。但是,如果稍后取消对代码的注释,您可以重新格式化该部分。选择它,Ctrl-K Ctrl-F将修复内部缩进

要创建keybinding,请将其放入keybindings.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"
  ]
}
{
    "key": "ctrl+;",
    "command": "macros.commentTabStop"
},

谢谢@Mark!一个良好的开端,但我认为我不够清楚。如果有代码,命令应该保留代码,并在“comment column”变量指定的点插入注释标记和空格,在该变量准备好插入注释后使用光标插入。如果行上已有注释,则该行将与注释列重新对齐。原始代码不应该被修改。另外,我应该提到:如果代码已经超过了注释列,则插入一个空格,然后插入注释标记,空格序列。