我有一个 Django 项目,其中包含几个使用 Python 工具的预提交钩子pre-commit
,配置如下:
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
- repo: https://github.com/python/black
rev: master
hooks:
- id: black
- repo: https://github.com/asottile/seed-isort-config
rev: master
hooks:
- id: seed-isort-config
- repo: https://github.com/pre-commit/mirrors-isort
rev: master
hooks:
- id: isort
- repo: https://gitlab.com/pycqa/flake8
rev: master
hooks:
- id: flake8
通常,当由于终端上的预提交挂钩而导致提交失败时,我会执行以下操作:
git add foo.py
git commit -m "added foo"
# pre-commit runs and fails
# black, end-of-file-fixer fixes staged files
git add foo.py # add fixed files again
git commit -m "added foo"
# this time, runs successfully
我想从 VSCode 获得相同的行为。
我暂存我的更改,编写提交消息并提交。VSCode 自然会失败。
无论我在 VSCode 上提交多少次,它都不会“暂存” black
and所做的自动更改end-of-file-fixer
。因此,当我再次单击时,我希望 VSCode 再次添加文件,因为它们的内容已更新。我怎样才能做到这一点?
提前致谢。
环境
- VSCode 1.52.1
- 吉特 2.25.1
- 预提交 2.9.3
如果相关:
- 库本图 20.04.1
- 蟒蛇 3.8