0


vscode python语法检查和格式化工具

vscode中用于 linting 和 formatter的常见工具包括:Flake8, Pylint, yapf, black, Pylance. 以下是对其主要功能和优缺点的总结:
工具类型主要功能与特点优点缺点Flake8Linting遵循PEP 8风格指南,并结合Pyflakes进行错误检查、McCabe复杂度分析- 快速且全面的代码规范检查

  • 插件众多,易于集成到编辑器中

  • 检查潜在语法错误和未使用的变量- 规则相对固定,可能不够灵活

  • 对于项目特定规则支持有限yapfFormatterGoogle开发的自动格式化工具- 强制一致的代码风格

  • 根据指定配置文件自动格式化代码- 不可自定义所有PEP 8规则

  • 可能不满足所有团队的偏好blackFormatter自动格式化工具,遵循严格的样式,号称“不争论”- 强制统一的极简风格

  • 自动处理几乎所有的格式问题

  • 高速执行- 不允许自定义样式(对某些开发者来说过于严格)

  • 可能导致大规模代码更改,不适合既有大型项目PylintLinting功能强大的静态分析工具,提供详尽的代码质量报告- 检查代码质量、可读性、维护性等多个方面

  • 提供大量可配置选项- 可能过于冗余或严格,产生较多警告信息

  • 执行速度相对较慢PylanceLanguage Server基于TypeScript的Python语言服务器,提供智能感知、类型检查等功能- 实时类型检查与错误提示

  • 提供丰富的代码补全建议

  • 支持类型注释和类型推断- 对旧版Python及部分第三方库支持有限

  • 要求较高的计算机性能autopep8Formatter根据PEP 8自动格式化Python代码- 良好的PEP 8兼容性

  • 提供多种可配置选项以控制格式化程度

  • 可渐进式优化代码格式- 在某些情况下自动调整import顺序可能导致不期望的结果

  • 不如black或yapf在一致性上严格
    经过测试。

  • 相比于 pylint,pylance 提供丰富的小功能,和语法检查,更适合新手使用。包括,自动导入模块、自动给str加入f"{}"以便引用变量等。

  • 而pylint提供了更为丰富的检查,以及自由的设定。缺点在于- 存在过度检查,需要自己设置很多配置。

  • 相比于前两位,flake8的优势在于,遵循PEP 8规则,可以更好的配合black来进行自动格式化。

一般来说,我们可以使用 pylance or flake8 等 + yapf 来实现语法检查和基本的代码格式化。

当然,选择 flake8+black也是一种不错的体验。

对于不需要自动格式化代码的同学,其实只下载 pylance也是不错的。

或者只使用 yapf 进行基本的格式化。

注意,当文件很大,或者使用 jupyter 时,pylance 和 格式化插件都可能导致 jupyter 卡死。

更多设置请看其他大佬的推文:

标签: vscode ide 编辑器

本文转载自: https://blog.csdn.net/u014306658/article/details/135633761
版权归原作者 Asycho_Epool 所有, 如有侵权,请联系我们删除。

“vscode python语法检查和格式化工具”的评论:

还没有评论