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

为何Python格式化工具会在函数定义前后加空行?如何通过VSCode禁用?

如何阻止autopep8和black在VSCode中添加额外空行?

我使用autopep8或black格式化Python代码时,工具会自动添加不需要的空行。例如:

原代码:

dict_n = {}
def new_dash():
    new_list = input("do something ").split(",")
    for i in range(len(new_list)):
        # dict_n[new_list[i]] = [i]
        dict_n[i] = new_list[i]
    print(dict_n)
new_dash()

格式化后代码:

dict_n = {}


def new_dash():
    new_list = input("do something ").split(",")
    for i in range(len(new_list)):
        # dict_n[new_list[i]] = [i]
        dict_n[i] = new_list[i]
    print(dict_n)


new_dash()

能否通过修改VSCode的settings.json文件阻止这些额外空行的添加?


可以通过修改VSCode的settings.json,针对不同工具分别配置参数:

针对autopep8

autopep8添加的空行对应PEP8的E302规则(要求函数定义前后空两行),只需在settings.json中添加忽略该规则的参数:

{
    "python.formatting.autopep8Args": [
        "--ignore=E302"
    ]
}

针对black

black默认严格遵循PEP8规范,强制在顶级定义(如函数、类)前后添加空行,本身没有提供直接关闭该行为的配置参数。如果坚持要避免这类空行,要么换用支持自定义该规则的工具(如autopep8),要么接受black的默认风格。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 04:43:34