vscode无删除空行默认快捷键,需用正则查找替换:ctrl+h输入^s$ 并勾选.后全部替换;可手动配置keybindings.json绑定快捷键。

VSCode 里删空行用什么快捷键?根本没这个默认快捷键
VSCode 自身不提供「一键删除所有空行」的快捷键,也不存在叫 deleteEmptyLines 或类似名字的内置命令。你搜到的很多教程说按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS)再输“remove empty lines”,那其实是某个扩展(比如 Blank Line Remover 或 Trailing Spaces)提供的功能,不是 VSCode 原生能力。
最稳的方式:用查找替换正则表达式
不用装扩展、不依赖第三方命令,原生支持,跨平台通用。关键在于写对正则——注意:必须勾选右上角的 .* 按钮启用正则模式。
- 打开查找面板:
Ctrl+H(Windows/Linux)或Cmd+H(macOS) - 输入查找内容:
^s*$(匹配纯空白行,含制表符、空格和换行) - 替换内容留空
- 点击「全部替换」
⚠️ 注意:^s*$
会把文件末尾的空行也删掉;如果想保留末尾空行(比如某些配置文件要求),改用 ^s*$
(?=.),它只匹配后面还有非空行的空行。
为什么不用 ^
?容易漏掉带空格的“假空行”
很多空行看着空,其实藏着空格或制表符,^
只能匹配真正什么都没有的行(即换行符直接跟在上一行后面),漏掉大量实际需要清理的行。
-
^s*$中的s*覆盖空格、制表符、Unicode 空白符 - 如果项目是 Windows 换行(
),正则仍有效,因为s包含 - Mac/Linux 的
也没问题
别图省事写成 ^
,删不干净,回头还得手动扫。
想绑定成快捷键?可以,但得自己配
VSCode 允许把查找替换操作绑定快捷键,但需手动编辑 keybindings.json:
[
{
"key": "ctrl+alt+shift+k",
"command": "editor.action.replaceAll",
"args": {
"find": "^\s*$\n",
"replace": "",
"isRegex": true,
"matchCase": false,
"wholeWord": false
}
}
]
⚠️ 注意:\s 和 \n 在 JSON 里要双反斜杠转义;快捷键别和已有命令冲突(比如 Ctrl+K 系列已被占用);该绑定只在当前编辑器生效,不自动作用于整个工作区所有文件。
正则细节、换行符差异、空格隐藏性——这些才是删空行时真正卡人的地方,不是记不住快捷键的问题。











