VS Code | 配置 flake8 和 yapf

写在前面:

最近VS Code开始支持 Jupyter Notebook,就配置了一下(玩了一下)。想着之前的VS Code没怎么配置,也就稍微配置了一下,本篇文章是对配置 flake8yapf 的一个记录。

1. Flake8——Python静态代码检查工具:

Flake8 是由Python官方发布的一款辅助检测Python代码是否规范的工具,相对于目前热度比较高的Pylint来说,Flake8检查规则灵活,支持集成额外插件,扩展性强。Flake8是对下面三个工具的封装:

  • PyFlakes:静态检查Python代码逻辑错误的工具。

  • Pep8: 静态检查PEP8编码风格的工具。

  • NedBatchelder’s McCabe script:静态分析Python代码复杂度的工具。

不光对以上三个工具的封装,Flake8还提供了扩展的开发接口。

官方文档:https://pypi.python.org/pypi/flake8/

——参考:Python静态代码检查工具Flake8

2. yapf——python代码格式化工具:

YAPF(Yet Another Python Formatter)是Google开源的一个用来格式化Python代码的工具,可以一键美化代码。支持2种代码规范:

  • PEP8
  • Google style

3. 安装flake8 和 yapf:

打开命令行(cmd),按照下面的安装步骤:

  • ① 在cmd输入pip3 list,检查是否已存在需要的包
  • ② 继续输入pip3 install flake8,下载安装 flake8
  • ③ 继续输入pip3 install yapf,下载安装 yapf

图片来源:用VScode配置Python开发环境

4. 配置VS Code:

在命令行下安装好 flake8 和 yapf 后(这里默认VS Code已经装好了Python插件),我们需要打开VS Code的 用户设置(setting.json),在里面添加下面的代码:

{
    "python.linting.flake8Enabled": true,
    "python.formatting.provider": "yapf",
    "python.linting.flake8Args": ["--max-line-length=248"], # 设置单行最长字符限制
    "python.linting.pylintEnabled": false # 关闭pylint工具
}
4.1 为什么需要设置单行最长字符限制?

在使用静态代码检查工具 flake8 来规范python代码时,当 一行字符超过79个 时会出现提示:

若是厌烦 flake8 死板的单行长度不得超过 79 个字符的限制,flake8有个 --max-line-length=n 配置选项可用来 设置单行最长字符限制

使用关键字flake搜索VS Code的用户设置后,发现有一项 是python.linting.flake8Args:[ ] ,他的作用是在每次调用 flake8 时进行参数设置,可在 settings.json 中添加需要设置需要提醒的最大字符数,例如:
"python.linting.flake8Args": ["--max-line-length=248"]

——参考:vscode中对flake8(python静态代码检查工具)和yapf(python代码格式化工具)的设置


4.2 如何打开 Settings.json

5. 演示:

在VS Code中,按下快捷键 Alt+Shift+F 即可自动格式化代码。

操作起来特别简单,给大家简单的演示下。

图片来源:用VScode配置Python开发环境

写在最后:

参考资料:

偶然听到 范玮琪的《是非题》,又想起了你。

“别人都说,我和你之间的关系,没有人相信只有关心”也许吧,我们之间也只剩下关心,剩下我对你单方面的关系,甚至只剩下一种没什么关系的关系。

有时候好想问你,我们之间能是什么关系,可是,我也真的好害怕失去我们仅剩的一点点关系。

喜欢一首歌,不是因为有多么好听,而是唱出了自己。

推荐阅读更多精彩内容