如何在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是命令行模式下直接修改本地文件的参数,和插件的运行逻辑冲突,这才导致了错误。
解决方案
修改pyproject.toml配置
移除in-place = true参数,保留需要的aggressive配置即可:[tool.autopep8] aggressive = 2确认VS Code格式化设置
确保你的VS Code配置中已正确开启保存格式化,并指定autopep8为默认工具:"[python]": { "editor.defaultFormatter": "ms-python.autopep8", "editor.formatOnSave": true }, "python.formatting.provider": "none"注意:如果之前没开启
editor.formatOnSave,必须添加这一项才能触发“保存时自动格式化”。验证生效
重启VS Code后,打开一个不符合PEP8规范的Python文件(比如缩进错误、行过长),保存后检查代码是否被正确格式化,同时确认错误提示消失。
内容的提问来源于stack exchange,提问作者Davood
相关产品推荐
相关产品推荐

