如何禁用VS Code中Python代码的自动换行功能?
解决VS Code中Python代码自动换行与格式过度调整的问题
嘿,我懂你这种被编辑器过度格式化搞得头疼的感觉!咱一步步来解决VS Code里Python代码自动换行和多余空格的问题:
一、先搞定代码自动换行的问题
临时快速关闭
直接点击VS Code底部状态栏的「Wrap Text」按钮(显示为「W」或「Wrap」字样),点一下就能切换到不换行状态,即时生效。
永久关闭自动换行
- 打开VS Code设置界面(快捷键:Windows/Linux用
Ctrl+,,Mac用Cmd+,) - 在搜索框输入「Editor: Word Wrap」
- 把下拉选项改成「off」,这样所有文件都不会自动换行啦
二、解决格式器过度添加空格的问题
你代码里括号内出现多余空格(比如strip( b"> ")),是因为VS Code用的Python格式器(比如autopep8、black、yapf)在按PEP8规则自动调整,咱可以修改配置让它别瞎折腾:
先确认当前用的格式器
打开设置,搜索「Python › Formatting: Provider」,看看选中的是哪个格式器,再对应调整:
如果用的是autopep8
- 在设置里搜索「Python › Formatting: Autopep8 Args」
- 添加参数
--ignore=E203(E203就是控制括号前后空格的PEP8规则),这样它就不会给括号里加多余空格了
如果用的是black
Black的规则比较“强硬”,要是不想它调整这类空格,有两个办法:
- 切换到autopep8或yapf格式器(在「Python › Formatting: Provider」里改)
- 在项目根目录创建
pyproject.toml文件,添加以下配置自定义规则:[tool.black] line-length = 120 # 调大行宽,避免代码被强制换行 skip-string-normalization = true
如果用的是yapf
- 在设置里搜索「Python › Formatting: Yapf Args」
- 添加参数
--style="{based_on_style: pep8, spaces_inside_parentheses: false}",直接关闭括号内的空格添加规则
可选:关闭自动格式化触发
要是你不想每次保存文件都被自动格式化,还可以打开设置,搜索「Editor: Format On Save」,把选项改成false,之后就只有手动触发格式化(快捷键Ctrl+Shift+I/Cmd+Shift+I)才会调整格式了
内容的提问来源于stack exchange,提问作者Cameron Taylor




