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

如何配置yapf实现函数参数等内容全部保持在同一行?

yapf强制函数参数、表达式保持同一行的配置方案

你需要同时调整多个控制拆分逻辑的参数,以下是可直接使用的完整配置:

命令行直接使用

yapf --in-place --recursive --style="{based_on_style: pep8, column_limit: 0, SPLIT_BEFORE_FIRST_ARGUMENT: False, SPLIT_ALL_COMMA_SEPARATED_VALUES: False, SPLIT_ARGUMENTS_WHEN_COMMA_TERMINATED: False, SPLIT_BEFORE_CLOSING_PARENTHESIS: False, DISABLE_ENDING_COMMA_HEURISTIC: True, COALESCE_BRACKETS: True, SPLIT_BEFORE_DOT: False, SPACE_INSIDE_PARENTHESES: False}" 你的目标文件/目录
  • column_limit: 0 代表完全不限制行长度,不会因为行超长自动拆分,如果你需要限制最大行宽,可把0改为你期望的数值,只要大于你最长的代码行即可
  • COALESCE_BRACKETS: True 会自动合并嵌套括号内的内容,解决hash('{}{}'.format(...))类嵌套调用拆行的问题
  • SPLIT_BEFORE_DOT: False 禁止链式调用在点号前拆分,解决链式调用跨行、多余反斜杠的问题
  • SPACE_INSIDE_PARENTHESES: False 会自动删除括号内多余的空格,把_acquire( )修正为_acquire()

配置文件用法(更推荐)

在项目根目录新建.style.yapf文件,写入以下内容:

[style]
based_on_style = pep8
column_limit = 0
split_before_first_argument = False
split_all_comma_separated_values = False
split_arguments_when_comma_terminated = False
split_before_closing_parenthesis = False
disable_ending_comma_heuristic = True
coalesce_brackets = True
split_before_dot = False
space_inside_parentheses = False

之后在项目目录直接运行yapf --in-place --recursive 目标路径即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:09:02