在Visual Studio Code中对Python进行打印

线条分析突出你 Python 源代码中的语义和风格问题,这通常帮助你识别和纠正可能导致错误的微妙编程错误或编码习惯。例如,linting可以检测到未定义变量的使用、调用未定义函数、缺失括号,甚至更微妙的问题,比如尝试重新定义内置类型或函数。linting 与格式化不同,因为 linting 分析代码运行方式并检测错误,而格式化仅仅重构代码的呈现方式。

注意:Python 扩展的语言服务器默认启用语法错误检测功能。想了解如何配置语言服务器,请参见语言服务器设置。本文档介绍了如何启用线条处理以进行额外的代码检测,包括样式检查。

选择一个垫子

VS Code市场搜索你喜欢的衬垫延长线。如果你愿意,可以同时使用多个林特。

Microsoft 发布了以下 Python 的 linting 扩展:

寄降 扩展
派林特 https://marketplace.visualstudio.com/items?itemName=ms-python.pylint
弗莱克8 https://marketplace.visualstudio.com/items?itemName=ms-python.flake8
我的 https://marketplace.visualstudio.com/items?itemName=ms-python.mypy-type-checker

社区提供的线条扩展:

寄降 扩展
汪汪 https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff
我的 https://marketplace.visualstudio.com/items?itemName=matangover.mypy

注意:如果你在上表或市场中找不到你喜欢的衬衫,可以通过扩展添加支持。你可以使用 Python 扩展模板将新的 Python 工具集成到 VS Code。

一般设定

你可以参考每个linter扩展的README,了解更多支持的设置细节。以下设置大多数衬垫扩展都支持:

背景设定 默认 描述
args [] 论点要交给学者。注意:官方支持的 linter 运行在单个打开文件上。确保你的配置适用于那种情况。
importStrategy useBundled 当设置为useBundled扩展使用其自带版本的工具。当设置为来自环境它会先尝试从你选定的 Python 环境加载,否则会退回到捆绑的版本。
路径 "" 通往衬衫二进制的路径,用于衬衫处理。注:使用此选项可能会减慢排版速度。
解释器 [] 当设置为 Python 可执行文件的路径时,扩展会利用该路径启动 linting 服务器及其子进程。
show通知 不对劲 扩展显示通知时的控制。支持的值有不对劲,永远,onError, 和警告.

关闭绒毛

如果安装了 Linters,默认是启用的。你可以通过在每个工作区禁用扩展来禁用它们。

浇水

当打开或保存 Python 文件时,Linting 会自动运行。

错误和警告会在问题面板(⇧⌘M(Windows,Linux Ctrl+Shift+M)中显示,针对已打开的文件,代码编辑器也会高亮显示。将鼠标悬停在划线问题上,会显示详细信息:

编辑器和问题面板中的条纹消息

代码作

有些林特可能会提供代码行动,帮助解决报告的问题。你可以参考你偏好的 linter 扩展下的“功能贡献”部分,了解它提供了哪些代码作。

伐木

当你选择时,linter的日志可以在输出面板(⇧⌘U(Windows Ctrl+Shift+U,Linux Ctrl+K Ctrl+H)中找到<linter名称>从下拉菜单中。

你可以通过命令面板中的 Developer: Set Log Level 命令(Windows,Linux Ctrl+Shift+P中运行 Developer: Set Log Level 命令来更改 linter 扩展的日志级别。从扩展日志组中选择扩展,然后选择所需的日志层级。

严重程度

林特报告的问题有一定的预设严重程度。这可以通过以下方式进行更改严重程度为林特准备。请参阅每个附加扩展的README,了解支持的数值和严重程度。

排查绒毛问题

子嗣 病因 解决方案
吊架延长器没有报告任何问题。 你的工作区没有选择任何Python。 查看你用的linter日志,检查它使用的Python环境路径。如果没有选择 Python,请从命令调色板中执行 Python: Select Interpreter 命令,并为你的工作区选择一个现有的解释器。你也可以在状态栏中选择 Python 版本来选择解释器。
会显示“您的 linting 或格式设置已弃用”通知 如果你看到这个通知,说明你有以下设置python.lintingpython.formatting在VS Code中。这些设置已不再被 Python 扩展支持,因为 linting 和格式化支持已迁移到工具扩展中。 通过打开命令面板(⇧⌘P(Windows,Linux Ctrl+Shift+P)并运行“偏好设置:打开用户设置(JSON)”命令,查找这些设置在VS Code中定义的位置。如果用户设置里没有,那就执行“偏好设置:打开工作区设置”(JSON)命令。然后删除已废弃的设置。
注意:如果你使用了 Remote Development 扩展包中的任何扩展,也可以通过运行“偏好设置:打开远程设置(JSON)”命令来查看远程设置。
即使我装了衬垫延长器,绒毛也没用。 线条化可能因多种原因失败,比如使用了不支持的Python版本,或者线条配置不正确。检查linter扩展的输出通道,了解linter失败的原因(在命令面板中运行Output: Focus on Output命令,然后选择linter扩展通道)。

下一步

  • 格式化——学习如何格式化你的Python代码。
  • 调试——学习本地和远程调试Python。
  • 测试——配置测试环境,并发现、运行和调试测试。
  • 基础编辑——了解强大的VS Code编辑器。
  • Python 扩展模板——创建一个扩展,将你喜欢的 linter 集成到 VS Code 中。