为何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
相关产品推荐
相关产品推荐

