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

如何在VS Code中配置autopep8实现保存时自动格式化Python代码?

解决VS Code中autopep8保存格式化时“--in-place cannot be used with standard input”错误

问题根源

VS Code的autopep8插件是通过**标准输入(stdin)读取待格式化代码,处理后再通过标准输出(stdout)**返回结果,由VS Code负责将格式化后的内容写入文件。而你在pyproject.toml中设置的in-place = true是命令行模式下直接修改本地文件的参数,和插件的运行逻辑冲突,这才导致了错误。

解决方案

  1. 修改pyproject.toml配置
    移除in-place = true参数,保留需要的aggressive配置即可:

    [tool.autopep8]
    aggressive = 2
    
  2. 确认VS Code格式化设置
    确保你的VS Code配置中已正确开启保存格式化,并指定autopep8为默认工具:

    "[python]": {
      "editor.defaultFormatter": "ms-python.autopep8",
      "editor.formatOnSave": true
    },
    "python.formatting.provider": "none"
    

    注意:如果之前没开启editor.formatOnSave,必须添加这一项才能触发“保存时自动格式化”。

  3. 验证生效
    重启VS Code后,打开一个不符合PEP8规范的Python文件(比如缩进错误、行过长),保存后检查代码是否被正确格式化,同时确认错误提示消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 18:15:06