You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何禁用VS Code中Python代码的自动换行功能?

解决VS Code中Python代码自动换行与格式过度调整的问题

嘿,我懂你这种被编辑器过度格式化搞得头疼的感觉!咱一步步来解决VS Code里Python代码自动换行和多余空格的问题:

一、先搞定代码自动换行的问题

临时快速关闭

直接点击VS Code底部状态栏的「Wrap Text」按钮(显示为「W」或「Wrap」字样),点一下就能切换到不换行状态,即时生效。

永久关闭自动换行

  1. 打开VS Code设置界面(快捷键:Windows/Linux用Ctrl+,,Mac用Cmd+,
  2. 在搜索框输入「Editor: Word Wrap」
  3. 把下拉选项改成「off」,这样所有文件都不会自动换行啦

二、解决格式器过度添加空格的问题

你代码里括号内出现多余空格(比如strip( b"> ")),是因为VS Code用的Python格式器(比如autopep8、black、yapf)在按PEP8规则自动调整,咱可以修改配置让它别瞎折腾:

先确认当前用的格式器

打开设置,搜索「Python › Formatting: Provider」,看看选中的是哪个格式器,再对应调整:

如果用的是autopep8

  1. 在设置里搜索「Python › Formatting: Autopep8 Args」
  2. 添加参数--ignore=E203(E203就是控制括号前后空格的PEP8规则),这样它就不会给括号里加多余空格了

如果用的是black

Black的规则比较“强硬”,要是不想它调整这类空格,有两个办法:

  • 切换到autopep8或yapf格式器(在「Python › Formatting: Provider」里改)
  • 在项目根目录创建pyproject.toml文件,添加以下配置自定义规则:
    [tool.black]
    line-length = 120  # 调大行宽,避免代码被强制换行
    skip-string-normalization = true
    

如果用的是yapf

  1. 在设置里搜索「Python › Formatting: Yapf Args」
  2. 添加参数--style="{based_on_style: pep8, spaces_inside_parentheses: false}",直接关闭括号内的空格添加规则

可选:关闭自动格式化触发

要是你不想每次保存文件都被自动格式化,还可以打开设置,搜索「Editor: Format On Save」,把选项改成false,之后就只有手动触发格式化(快捷键Ctrl+Shift+I/Cmd+Shift+I)才会调整格式了

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

火山引擎 最新活动