1. 问题描述
在使用VSCode连接远程Linux服务器的时候,由于工作区包含的路径下文件过多(常常发生在深度学习领域,需要将大规模数据集链接到项目目录下)很有可能出现Pylance无法正确高亮代码,如图1。另外,对某些正确的代码段可能会产生错误报告,如图2。


2. 解决方案
解决该问题的思路较为简单,简而言之,使vscode忽略扫描某些路径,并禁用不合理的错误报告。
2.1 忽略扫描路径
一般而言,在VSCode中忽略工作区打开的为文件扫描路径,有两种方式:
- 在工作区根目录修改
pyrightconfig.json
- 在Pylance插件中设置
settings.json
显然,这两种办法是互斥的,如果同时设置会发生冲突。然而,我们想要禁用不合理的错误报告,需要修改settings.json
,因此只能通过在settings.json
中同时设置对扫描路径的忽略以及屏蔽某些错误报告。
为了排除扫描某些路径下的文件,我们可以直接在插件市场搜索pylance,点击extension settings
,或者可以快捷键CTRL+,,搜索如下设置。

用于编辑settings.json
,添加键值对 "python.analysis.exclude"
,以下是一个例子:
1 | "python.analysis.exclude": [ |
2.2 忽略错误报告
首先可以考虑在vscode插件市场升级python和pylance。如果是服务器端安装缓慢,可以快捷键CTRL
+,
搜索“extension download”,找到如下设置并选中。

如果升级插件或无法升级插件,我们可以考虑观察错误报告的类型,如图2,错误类型为reportPrivateImportUsage
,考虑将其禁用。同样地,在settings.json
中增加键值对,此时为"python.analysis.diagnosticSeverityOverrides"
,以下是一个例子。
1 | "python.analysis.diagnosticSeverityOverrides": { |
微软官方有对这个错误类型编入文档,详情可以查看:https://github.com/microsoft/pyright/blob/main/docs/configuration.md#type-evaluation-settings
3. 小结
本文介绍了一种简单修改pylance设置的方法,用于解决工作区文件过多无法枚举的问题、pylance错误报错的问题。