VSCode的git进行提交,屡次执行lint-staged影响提交速度,该如何解决?

问题描述

在VSCode的“源代码管理”面板进行commit的时候,lint-staged会执行多次检查,导致提交前检查速度极慢,请问如何解决?
(在Git Bash中没有这种情况,只会检查一次,很快便可出现检查结果)

问题出现的环境背景及自己尝试过哪些方法

前端项目配置了lint-staged+husky方案,在pre-commit阶段对待提交文件进行eslint检查。


更新尝试方法:

  1. 使用exec >/dev/tty 2>&1
    .husky/pre-commit文件中加入该语句

    #!/bin/sh
    . "$(dirname "$0")/_/husky.sh"
    
    exec >/dev/tty 2>&1
    
    npx lint-staged -- --quiet
    

    效果:在命令行工具(包括powershellcmd以及Git Bash以及VSCODE的终端面板)键入git commit命令,效果正常,但是通过VSCODE的“源代码管理”界面,手动点击提交按钮,Git报错.husky/pre-commit: line 4: /dev/tty: No such device or address

  2. 使用exec >/dev/console 2>&1

将方法1中的tty改为console

效果:powershell正常(包括VSCODE终端面板使用powershell),VSCode“源代码管理”界面点击提交按钮,以及Git Bash执行git commit,均提示.husky/pre-commit: line 4: /dev/console: No such device or address


我在目录中尝试过两种方案:

  • 通过VSCode图形化界面中点击提交按钮进行提交,屡次检查,速度很慢

VSCode点击“提交”,屡次执行检查

> VSCode中我用过cmd、powershell和git bash三种类型的终端,均出现图中的情况
  • 通过Git Bash命令行工具,手动键入git commit命令来进行提交操作,情况正常(一次检查直接拦截提交)
    Git Bash输入命令提交,一次检查直接拦截错误

请教一下如何让VSCode不要进行那么多次检查,缩短提交前检查的速度与时间

如果可以的话,还希望有大佬们帮忙分析一下原因

你期待的结果是什么?实际看到的错误信息又是什么?

  • 期待的结果:让VSCode和Git Bash命令行一样,只执行一次检查便可拦截错误信息
  • 实际信息:VSCode多次执行错误检查
阅读 3.1k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏