You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode自动格式化时如何保留多行空行?

解决VSCode格式化时保留多行空行的问题

VSCode默认格式化器针对不同语言有不同的配置项,以下是针对C++、Shell和Python的具体设置方法:

C++(Clang-Format)

默认格式化器是Clang-Format,需通过项目根目录下的.clang-format文件配置:

  • 在项目根目录创建.clang-format文件,添加以下内容:
    MaxEmptyLinesToKeep: 10  # 可根据需求调整数值,代表允许保留的最大连续空行数
    
  • 该设置会让Clang-Format保留最多10行连续空行,超过的部分会被压缩到10行。

Python

根据默认使用的格式化器不同,配置方式略有区别:

若使用autopep8

在VSCode的settings.json中添加:

"python.formatting.autopep8Args": ["--ignore=E302"]
  • E302是PEP8中要求顶级代码块间保留2行空行的规则,忽略该规则后autopep8不会压缩多行空行。

若使用yapf

在settings.json中添加:

"python.formatting.yapfArgs": ["--style={blank_line_count_limit: 10}"]
  • blank_line_count_limit设置允许保留的最大连续空行数。

注意:Black格式化器

Black默认强制压缩空行为1行,且无配置项可修改,若需保留多行空行建议切换至autopep8或yapf。

Shell脚本(shfmt)

默认格式化器是shfmt,可通过VSCode配置调整:
在settings.json中添加:

"shellformat.flag": "-i 4 --keep-blank-lines"
  • --keep-blank-lines参数会让shfmt保留原有的多行空行,-i 4代表设置4空格缩进(可按需调整)。

通用设置提示

  • 若需全局生效,可修改用户级settings.json;仅针对当前项目则修改工作区级settings.json。
  • 修改配置后需重启VSCode或重新加载窗口(Ctrl+Shift+P → 选择"Reload Window")使设置生效。

内容的提问来源于stack exchange,提问作者furynerd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 10:10:01