2

我有一个 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的git面板

我暂存我的更改,编写提交消息并提交。VSCode 自然会失败。

vscode 提交失败

无论我在 VSCode 上提交多少次,它都不会“暂存” blackand所做的自动更改end-of-file-fixer。因此,当我再次单击时,我希望 VSCode 再次添加文件,因为它们的内容已更新。我怎样才能做到这一点?

提前致谢。


环境

  • VSCode 1.52.1
  • 吉特 2.25.1
  • 预提交 2.9.3

如果相关:

  • 库本图 20.04.1
  • 蟒蛇 3.8
4

0 回答 0