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

VS Code禁用Pylance/Python扩展linting后保存仍自动修改格式怎么办

根本原因说明

你关闭的是Python linter功能,但你遇到的自动修改文件行为是保存时自动格式化或Pylance 代码自动修复触发的,二者是独立功能,因此修改lint相关配置不会生效。


解决方案

  • 第一步:关闭Python文件的保存自动格式化
    打开settings.json,添加如下配置,仅针对Python文件关闭保存格式化,不影响其他类型文件的格式化行为:

    "[python]": {
        "editor.formatOnSave": false
    }
    

    如果你不想完全关闭格式化,只是要避免文档字符串周围被加多余换行,可以调整对应格式化工具的规则:
    比如你用autopep8作为格式化器,可添加配置忽略相关换行规则:

    "python.formatting.autopep8Args": ["--ignore=E302,E305,E265"]
    

    如果你用Black作为格式化器,可调整行长度阈值减少强制换行:

    "python.formatting.blackArgs": ["--line-length", "120"]
    
  • 第二步:关闭Pylance保存时自动修复功能
    如果你开启了保存时自动修复代码问题的配置,就算关闭linter,Pylance依然会执行默认修复操作,添加如下配置关闭:

    "[python]": {
        "editor.codeActionsOnSave": {
            "source.fixAll": false,
            "source.organizeImports": false
        }
    }
    
  • 第三步:恢复Pylance语言服务器配置
    你之前将python.languageServer设为None会导致Pylance完全不生效,无法使用语法高亮、自动补全功能,改回如下配置即可:

    "python.languageServer": "Pylance"
    
  • 第四步:排查工作区配置覆盖
    检查当前项目根目录下.vscode/settings.json文件的内容,工作区配置优先级高于全局用户配置,若该文件内有开启formatOnSave或codeActionsOnSave的配置,同步修改即可。

  • 第五步:排查独立格式化扩展
    如果你单独安装了Black Formatter、autopep8等独立的Python格式化扩展,需要同步关闭这些扩展的保存时格式化开关,或直接卸载不需要的格式化扩展。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:36:06