在 Visual Studio Code 中进行 Python 代码检查
代码检查会突出显示 Python 源代码中的语义和样式问题,这通常有助于你识别和纠正细微的编程错误或可能导致错误的代码实践。例如,代码检查可以检测未定义变量的使用、对未定义函数的调用、缺少括号,甚至更细微的问题,例如尝试重新定义内置类型或函数。代码检查与格式化不同,因为代码检查会分析代码的运行方式并检测错误,而格式化仅重新构造代码的显示方式。
注意:Python 扩展的语言服务器默认启用语法错误检测。要了解如何配置语言服务器,请参阅语言服务器设置。本文档介绍了如何启用代码检查以进行额外的代码检测,包括样式检查。
选择代码检查器
在 VS Code 市场中搜索你选择的代码检查器扩展。如果需要,可以同时使用多个代码检查器。
Microsoft 发布了以下用于 Python 的代码检查扩展
社区提供的代码检查扩展
代码检查器 | 扩展 |
---|---|
Ruff | https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff |
mypy | https://marketplace.visualstudio.com/items?itemName=matangover.mypy |
注意:如果在上表中或在 Marketplace 中找不到你喜欢的代码检查器,可以通过扩展为其添加支持。你可以使用Python 扩展模板将新的 Python 工具集成到 VS Code 中。
通用设置
你可以参考每个代码检查器扩展的 README,了解有关支持设置的更多详细信息。大多数代码检查器扩展支持以下设置
设置 | 默认值 | 描述 |
---|---|---|
args | [] |
要传递给代码检查器的参数。注意:官方支持的代码检查器在各个打开的文件上运行。确保你的配置适用于这种情况。 |
importStrategy | useBundled |
当设置为 useBundled 时,扩展将使用它附带的工具版本。当设置为 fromEnvironment 时,它会尝试首先从你选择的 Python 环境加载,否则会回退到捆绑版本。 |
path | "" |
用于代码检查的代码检查器二进制文件的路径。注意:使用此选项可能会减慢格式化速度。 |
interpreter | [] |
当设置为 Python 可执行文件的路径时,扩展将使用它来启动代码检查服务器及其子进程。 |
showNotifications | off |
控制扩展何时显示通知。支持的值为 off 、always 、onError 和 onWarning 。 |
禁用代码检查
如果已安装代码检查器,则默认启用它们。你可以通过禁用每个工作区的扩展来禁用它们。
运行代码检查
当打开或保存 Python 文件时,代码检查将自动运行。
错误和警告将显示在 问题 面板中(⇧⌘M(Windows、Linux Ctrl+Shift+M)),适用于打开的文件,并且也会在代码编辑器中突出显示。将鼠标悬停在带下划线的问题上会显示详细信息。
代码操作
某些代码检查器可能会提供代码操作,以帮助解决报告的问题。你可以参考你喜欢的代码检查器扩展下的功能贡献部分,了解它提供的代码操作。
日志记录
当从下拉菜单中选择 <代码检查器名称>
时,代码检查器的日志在 输出 面板中可用(⇧⌘U(Windows Ctrl+Shift+U,Linux Ctrl+K Ctrl+H))。
你可以通过从命令面板运行 开发人员:设置日志级别 命令来更改代码检查器扩展的日志级别(⇧⌘P(Windows、Linux Ctrl+Shift+P))。从 扩展日志 组中选择扩展,然后选择所需的日志级别。
严重性
代码检查器会报告具有某些预定义严重性的问题。可以使用代码检查器的 severity
设置更改此项。有关支持的值和严重性级别的更多详细信息,请参阅每个代码检查器扩展的 README。
代码检查故障排除
问题 | 原因 | 解决方案 |
---|---|---|
代码检查器扩展未报告任何问题。 | 未为你的工作区选择 Python。 | 查看你正在使用的代码检查器的日志,并检查它正在使用的 Python 环境的路径。如果未选择 Python,请从命令面板运行 Python:选择解释器 命令,并为你的工作区选择现有解释器。 |
显示“你已弃用代码检查或格式化设置”通知 | 如果你看到此通知,则表示你在 VS Code 中具有 python.linting 或 python.formatting 等设置。Python 扩展不再支持这些设置,因为代码检查和格式化支持已迁移到工具扩展。 |
通过打开命令面板(⇧⌘P(Windows、Linux Ctrl+Shift+P))并运行 首选项:打开用户设置 (JSON) 命令来查找在 VS Code 中定义这些设置的位置。如果它们不在你的用户设置中,则运行 首选项:打开工作区设置 (JSON) 命令。然后删除已弃用的设置。 注意:如果您正在使用远程开发扩展包中的任何扩展,您还可以通过运行 首选项: 打开远程设置 (JSON) 命令来检查远程设置。 |
即使我安装了代码检查器扩展,代码检查功能也不起作用。 | 代码检查失败的原因有很多,例如使用了不支持的 Python 版本,或者代码检查器配置不正确。请检查代码检查器扩展的输出通道,以了解代码检查失败的原因(在命令面板中运行 输出: 聚焦于输出 命令,然后选择代码检查器扩展通道)。 |
后续步骤
- 格式化 - 了解如何格式化您的 Python 代码。
- 调试 - 了解如何在本地和远程调试 Python。
- 测试 - 配置测试环境,发现、运行和调试测试。
- 基本编辑 - 了解强大的 VS Code 编辑器。
- Python 扩展模板 - 创建一个扩展,将您最喜欢的代码检查器集成到 VS Code 中。