答案 0 :(得分:0)
找到一种方法是在“查找/替换”中使用它
^$\n
还请确保启用:正则表达式
但是我希望有一个脚本可以运行它。
答案 1 :(得分:0)
这里是扩展名Remove empty lines
答案 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)