防止在VS Code多行注释中尾随空格

时间:2018-10-21 08:27:54

标签: visual-studio-code eslint

在使用Shift + Ctrl + A添加多行注释时,在/*行中添加了尾随空格,这可能会导致短绒毛问题:

[multiline comment

我很满意no-trailing-spaces关于注释的linter规则,并且由于VS Code的怪癖而宁愿不更改它。

*/前的前导空格不会引起短绒问题,但我想摆脱它,因为它看起来已经移位了,并且在多行注释中不使用中间星号,例如:

/*
 * multiline
 * comment
 */

可以在Visual Studio Code中更改添加到多行注释的空格的方法吗?

2 个答案:

答案 0 :(得分:1)

如果有

"editor.trimAutoWhitespace": true

保存文件时,它将删除该尾随空格。另外,使用命令editor.action.trimTrailingWhitespace也将删除文件 Ctrl - K Ctrl - X < / kbd>。

修改内置片段非常棘手,因为可以在更新时覆盖它们。

您可以制作一个,一次性删除该空格。我想您的意思是 Shift - Alt - A :这是在我的vscode上切换块注释的命令。您在问题中说了Shift + Ctrl + A,对我来说这是没有限制的。

使用扩展名multiCommand :(在您的settings.json中)

{
  "command": "multiCommand.blockComment",

  "sequence": [
     "editor.action.blockComment",
     "editor.action.trimTrailingWhitespace",
     "cancelSelection",
     "deleteRight"
   ]
},

根据您的要求,后两个命令将删除*/之前的前导空格。

在您的keybindings.json中:

{
  "key": "shift+alt+a",
  "command": "-editor.action.blockComment",
  "when": "editorTextFocus && !editorReadonly"
},
{
  "key": "shift+alt+a",
  "command": "multiCommand.blockComment",
},

然后使用 Shift - Alt - A 调用,切换仍然有效。

Demo of macro running

[gif在输入的击键上有点生气,它只是 Shift - Alt - A 。]

答案 1 :(得分:1)

只需添加到上面的答案中即可

我在VS Code中完成/**/时遇到麻烦。键入第二个*后,VS Code会在末尾添加一个*/-非常烦人,因为我们已经设置了注释格式,并且使用了可怕的上帝:

/*
 * Some comment
 */

...格式令我讨厌。

要解决此问题,请导航到%ProgramFiles%\Microsoft VS Code\resources\app\extensions\javascript文件夹。备份 javascript-language-configuration.json 文件,然后对其进行编辑。在autoClosingPairs部分中,更改...

    "autoClosingPairs": [
        ...
        { "open": "/**", "close": " */", "notIn": ["string"] }
    ],

...到...

    "autoClosingPairs": [
        ...
        { "open": "/*", "close": "*/", "notIn": ["string"] }
    ],