打开 Preferences, 选择 Tools -> External Tools
Pylint
Pylint 是一个检查违反 PEP 8 规范和常见错误的库1
2
3
4
5
6
7
8
9# 安装
pip install pylint
# 配置
# Program 最好配置 pylint 路径
Program: /Users/wu/.pyenv/versions/3.7.5/envs/test/bin/pylint
Arguments: -rn --msg-template="{abspath}:{line}: [{msg_id}({symbol}), {obj}] {msg}" $FilePath$
working directory: $ProjectFileDir$
Output filters: $FILE_PATH$:$LINE$:
Flake8
Flake8 是“将 PEP 8、Pyflakes(类似 Pylint)、McCabe(代码复杂性检查器)和第三方插件整合到一起,以检查 Python 代码风格和质量的一个 Python 工具”。1
2
3
4
5
6# 安装
pip install flask8
# 配置
Program: /Users/wu/.pyenv/versions/3.7.5/envs/test/bin/flake8
Arguments: --max-line-length=130 --exclude venv,migrations $FilePath$
working directory: $ProjectFileDir$
Autopep8
Autopep8 可以自动格式化指定的模块中的代码,包括重新缩进行、修复缩进、删除多余的空格,并重构常见的比较错误(例如布尔值和 None 值)1
2
3
4
5
6
7
8
9# 安装
pip install --upgrade auptepep8
# 运行, aggressive 选项的数量表示 Auotopep8 在代码风格控制上有多少控制权
autopep8 --in-place --aggressive --aggressive
# 配置
Program: autopep8
Arguments: --in-place --aggressive $FilePath$
working directory: $ProjectFileDir$
Output filters: $FILE_PATH$\:$LINE$\:$COLUMN$\:.*
Isort
Isort 这个库能将你在项目中导入的库按字母顺序排序,并将其正确划分为不同部分(例如标准库、第三方库、自建的库等)。
这样提高了代码的可读性,并且可以在导入的库较多的时候轻松找到各个库。
文档中还提供了更多的配置项,例如通过配置 .isort.cfg 文件来决定 isort 如何处理一个库的多行导入。1
2
3
4# 安装
pip install isort
# 运行
isort path/to/module.py
Yapf
Yapf 是另一种有自己的配置项列表的重新格式化代码的工具。它与 Autopep8 的不同之处在于它不仅会指出代码中违反 PEP 8 规范的地方,还会对没有违反 PEP 8 但代码风格不一致的地方重新格式化,旨在令代码的可读性更强。1
2
3
4
5
6# 安装
pip install yapf
# 运行
yapf path/to/dir
# 或者
yapf path/to/module.py
Black
Black 在代码检查工具当中算是比较新的一个。它与 Autopep8 和 Yapf 类似,但限制较多,没有太多的自定义选项。
这样的好处是你不需要去决定使用怎么样的代码风格,让 Black 来给你做决定就好。你可以在这里查阅 Black 有限的自定义选项以及如何在配置文件中对其进行设置。
Black 依赖于 Python 3.6+,但它可以格式化用 Python 2 编写的代码。1
2
3
4
5
6# 安装
pip install blcak
# 运行
black path/to/dir
# 或者
black path/to/module.py