如何编写VS Code代码片段移除非空行前导空格并保留空行?
解决VS Code代码片段仅移除非空行前导空格的需求
你需要的代码片段可以通过精准的正则匹配实现,只针对非空行移除前导空格,同时保留空行:
"Remove leading whitespace from non-empty lines": { "body": [ "${TM_SELECTED_TEXT/^(\\s+)(.+)$/$2/gm}" ], "description": "Remove leading whitespace from non-empty lines, preserve empty lines" }
正则逻辑说明
^(\s+)(.+)$:匹配非空行的结构——行首的一个或多个空白字符(\s+),加上后面的实际内容(.+)$2:替换时只保留实际内容部分,丢弃前导空格gm标志:g表示全局匹配所有符合条件的行,m表示多行模式,让^和$能正确匹配每行的开头和结尾
将这个片段添加到你的VS Code代码片段配置中,选中目标文本后触发该片段,就能得到你期望的效果:非空行的前导空格被移除,空行完全保留。
内容的提问来源于stack exchange,提问作者Ahmad Ismail
相关产品推荐
相关产品推荐

