配置dmypy让VSCode仅检查项目指定文件时files参数不生效怎么办
mypy files配置项不生效问题修复方案
根本原因
mypy 配置中的 files 项优先级低于命令行传入的检查路径参数,只有当命令行没有指定任何待检查的路径时,files 配置才会生效。
你遇到的两类场景的触发原因分别是:
- 命令行执行
mypy . --config pyproject.toml时,手动传入了.(当前工作目录)作为检查路径,直接覆盖了files配置 - VSCode的matangover.mypy扩展默认会自动传入工作区根目录作为检查路径,同样会覆盖
files配置
修复步骤
命令行调用修复
直接省略路径参数即可,执行命令改为:
mypy --config pyproject.toml
此时mypy会自动读取files配置中的匹配规则,仅检查符合要求的文件。
VSCode扩展修复
修改扩展配置,取消默认传入路径的行为:
- 打开VSCode设置界面,搜索
mypy.targets配置项,清空所有默认的预设路径 - 搜索
mypy.runUsingActiveInterpreter,将其设置为true,确保扩展调用的是项目环境内的mypy版本 - 按下
Ctrl+Shift+P(Mac为Cmd+Shift+P),执行Mypy: Restart Daemon命令重启mypy守护进程
补充说明
如果调整后仍出现不在files规则内的文件报错,大概率是你配置的检查文件中导入了这些异常报错的文件,mypy默认会对被导入的依赖文件做类型检查。如果需要完全跳过这些文件的检查,可以在[tool.mypy]下添加follow_imports = "skip"配置,或者针对对应目录单独配置exclude规则。
内容的提问来源于stack exchange,提问作者PIG208
相关产品推荐
相关产品推荐

