Python 格式自动修复
在Python
中我们可以使用autopep8
来对我们的.py
文件进行一些格式的自动修复。一般搭配flake8
一起使用,使用flake8
来检查代码规范,然后使用autopep8
来修复代码格式。
安装
$ pip3 install autopep8
使用
具体使用方法参考autopep8。我这里主要说一下,结合pre-commit
将autopep8
集成到git hooks
中,同时介绍一下在VSCode
及Cursor
中配置setting.json
来实现保存文件自动修复格式。
配置setting.json
来实现保存文件自动修复格式
- 在编辑器安装
autopep8
插件
在VSCode
的插件模块中搜索autopep8
,安装即可。
- 在
setting.json
中配置autopep8
在.vscode
目录的setting.json
中添加如下配置:
{
"[python]": {
"editor.formatOnSave": true,
"editor.formatOnType": true,
"editor.formatOnPaste": true,
"editor.defaultFormatter": "ms-python.autopep8"
}
}
至此我们就完成了VSCode
中保存Python
文件自动修复格式的配置。
提示 如果没有对应文件夹或文件,可以直接创建。
集成到git
流程中
- 安装
pre-commit
。
$ pip3 install pre-commit
- 编写
pre-commit
的配置文件.pre-commit-config.yaml
。
repos:
- repo: https://github.com/pre-commit/mirrors-autopep8
rev: 'v2.0.4'
hooks:
- id: autopep8
# autopep8 only takes one filename as argument unless the "--in-place" or "--diff" args are used
args: [--max-line-length=120, --diff]
4.添加pre commit
到git
钩子中
执行如下命令:
$ pre-commit install
如果已经添加过,但是更新了.pre-commit-config.yaml
文件,可以直接更新。
$ pre-commit autoupdate
或者,清除或卸载之后再添加。
$ pre-commit clean
$ pre-commit uninstall
$ pre-commit install
执行完上面的命令后,pre commit
就添加到git
钩子中了。后续执行git commit
命令时,就会触发pre commit
,然后自动执行autopep8
,修复.py
文件。