VSC删除空行

时间:2018-12-07 10:37:15

标签: visual-studio-code

是否有更好的方法来删除空行?目前,我正在手动删除它们,但这很痛苦。

VSC

3 个答案:

答案 0 :(得分:0)

找到一种方法是在“查找/替换”中使用它

^$\n

还请确保启用:正则表达式

但是我希望有一个脚本可以运行它。

答案 1 :(得分:0)

这里是扩展名Remove empty lines

enter image description here

答案 2 :(得分:0)

您可以根据需要在宏中执行此操作。您将需要一个宏扩展名:multiCommand

在您的设置中:

  "multiCommand.commands": [

    {
      "command": "multiCommand.removeEmptyLines",
      // "interval": 50,
      "sequence": [
        {
          "command": "type",
          "args": {
            "text": "^\\n"
          }
        },
        "cursorHomeSelect",
        "editor.action.clipboardCutAction",
        "editor.action.startFindReplaceAction",
        "editor.action.clipboardPasteAction",

        //  focus to the replace input
        "editor.action.startFindReplaceAction",

        // clear the replace input, if any
        "editor.action.clipboardCutAction",

        "editor.action.replaceAll"
      ]
    }
  ]

这很棘手,因为您不能直接写入find小部件(即使延迟间隔更长)。但是,您可以打印出要查找的内容“ {^\\n”,将其选中,剪切并打开查找小部件,它将自动使用剪贴板内容填充查找字段。 [请注意,此处需要额外的转义符“ ^ \ n”。]

然后,还有更多命令可以清除替换输入字段中可能存在的所有替换文本。

此外,如您所知,还必须启用“ Use Regular Expression”选项。不幸的是,这是一个 toggle ,没有简单打开它的命令。因此,上面的宏无法调用toggle命令-如果您已经将其关闭,则该宏将被关闭,并且查找将无法进行。因此,此宏必须假定您已经启用了“ Use Regular Expression”选项。我总是将其保持打开状态,几乎找不到需要暂时关闭它的功能。

在您的keybindings.json中,设置您想要的任何键绑定:

{
    "key": "ctrl+alt+u",
    "command": "multiCommand.removeEmptyLines",
},

,然后在任何空行上调用该键绑定,它将触发宏-删除文件中的所有空行(文件末尾的空行除外,因为文件末尾没有\ n)