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

Black格式化工具不自动拆分长行的问题求助

解决VSCode中Black格式化不生效(强制80行长度)的问题

排查步骤与解决方案

1. 对齐VSCode与终端的Black执行路径

VSCode可能调用了系统全局Black而非Poetry虚拟环境版本,导致配置不统一:

  • 打开VSCode设置,搜索 black-formatter.path
  • 将路径设为Poetry虚拟环境中的Black可执行文件路径,可通过终端执行 poetry run which black 获取准确地址,示例配置:
    "black-formatter.path": ["~/.cache/pypoetry/virtualenvs/your-env-name/bin/black"]
    

2. 用项目本地配置锁定规则

Black优先读取项目根目录的配置文件,创建或修改 pyproject.toml,添加:

[tool.black]
line-length = 80

该配置优先级高于VSCode设置,能确保终端和编辑器使用同一规则。

3. 确认VSCode格式化触发逻辑

  • 开启保存自动格式化,在settings.json中添加:
    "[python]": {
      "editor.formatOnSave": true,
      "editor.defaultFormatter": "ms-python.black-formatter"
    }
    
  • 手动触发格式化(Ctrl+Shift+I),确认使用的是Black插件而非其他格式化工具。

4. 清除VSCode缓存并重启

  • 关闭VSCode,删除WSL中的VSCode缓存目录:~/.vscode-server
  • 重新打开项目,加载虚拟环境后再次测试格式化效果。

5. 升级Black到兼容版本

执行 poetry run black --version 查看版本,若版本较旧,升级到最新稳定版:

poetry add --dev black@latest

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 18:53:16