# 使用方法
代码工具可以和开发者已有的开发环境进行集成,记得在脚手架工具中选择 需要开发工具,并在项目创建 venv 的文件夹作为项目的虚拟环境,最后别忘了安装 requirements/requirement-dev.txt 中的依赖。
TIP
使用模板的 run.sh 会帮你初始化 venv 文件夹,同时安装开发依赖。
# PyCharm
Pycharm使用external_tool进行设置,详见wiki (opens new window)
在脚本一栏,由于我们不再单独使用yapf进行代码格式化,而是同时使用isort进行import排序,因此你需要这么设置你的脚本:
Program: sh
Arguments: -c "venv/bin/yapf -i -r '$FilePath$'; venv/bin/isort -v -q '$FilePath$'; "
Working directory: $Projectpath$
Lint 工具可以通过 Pycharm 商店中搜索 ruff (opens new window) 来安装。
# vscode
使用cmd + shift + p
调用出命令工具,使用命令Format Document
和Python Refactor: 排序 import 语句
,就可以对文件进行格式化。
对于 Lint 工具,可以在应用商店搜索 ruff (opens new window) 来安装。
# UserTasks
开发者可以将 Format Document
和Python Refactor: 排序 import 语句
打包称为一个 UserTask,来完成对多个命令的一键调用。
cmd + shift + p
调用出命令工具,找到Tasks: Open User Tasks
命令,打开。随后可以对 tasks.json 进行配置,参考下面的配置:
DETAILS
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "python.formatterDocumentAndSortImports", "type": "shell", "problemMatcher": [], "presentation": { "echo": false, "reveal": "never", "focus": false, "panel": "dedicated", "showReuseMessage": false, "clear": false, "close": true }, "command": "sh", "args": [ "-c", "${workspaceFolder}/venv/bin/isort -v -q '${file}'; ${workspaceFolder}/venv/bin/yapf -i -r '${file}'; " ] } ] }
然后可以通过命令
Tasks: Run Task
来找到python.formatterDocumentAndSortImports
Task 并运行
# pre-commit
模板还集成了 pre-commit 工具。
如果你在脚手架工具中选择了 需要开发工具,则会在 requirements/requirement-dev.txt 中添加 pre-commit 的依赖,同时还会生成 .pre-commit-config.yaml
的配置文件。
pre-commit 的使用十分简单,只需要 pre-commit install
就可以了。在这之后每当开发者进行 git commit 时就会触发 .pre-commit-config.yaml
中的配置进行检查。
开发者可以自由定义 .pre-commit-config.yaml
文件中的内容,默认的配置会自动在 python 文件中运行 isort、yapf、ruff
。
如果 pre-commit 有错误的提示,则需要开发者对这些提示进行修改后再重新提交。
isort 和 yapf 一般情况下只需要你重新添加重新格式化好的文件到暂存区即可(重新
git add
一下格式化好的文件)
如果觉得 lint 的规则太多,则可以对 pyproject.toml 中的
[tool.ruff.xxx]
进行修改