VS Code的Black Formatter扩展忽略pyproject.toml配置如何解决?
解决VS Code ms-python.black-formatter扩展忽略pyproject.toml中force-exclude规则的问题
方法一:让扩展正确读取项目的pyproject.toml
- 打开VS Code设置(快捷键
Ctrl+,),搜索black-formatter.path,设置为项目虚拟环境中black的绝对路径(比如./venv/bin/black或.\venv\Scripts\black.exe),确保扩展使用项目本地的Black版本,而非全局版本 - 搜索
black-formatter.importStrategy,设置为fromEnvironment,让扩展优先加载项目环境的依赖,确保Black能读取项目根目录的pyproject.toml
方法二:直接在扩展参数中添加force-exclude规则
如果方法一无效,可手动在扩展参数中指定规则:
- 在VS Code设置中搜索
black-formatter.args,点击编辑 in settings.json - 添加以下配置(注意参数要拆分为两个独立项):
这里需要将"black-formatter.args": [ "--skip-string-normalization", "--skip-magic-trailing-comma", "--force-exclude", "(manage.py|project\\/|migrations\\/)" ]--force-exclude和对应的正则规则分开写,不能合并成一个字符串,否则扩展无法正确解析参数。
方法三:检查配置文件的位置和格式
- 确保
pyproject.toml位于VS Code当前打开的工作区根目录,扩展只会读取工作区根目录下的配置文件 - 验证
pyproject.toml的格式正确性,比如force-exclude的三重单引号包裹规则是合法的TOML语法,路径转义符(\/)在正则中是正确的写法
内容的提问来源于stack exchange,提问作者Omid Shojaee
相关产品推荐
相关产品推荐

