问题描述
在VSCode的“源代码管理”面板进行commit
的时候,lint-staged
会执行多次检查,导致提交前检查速度极慢,请问如何解决?
(在Git Bash中没有这种情况,只会检查一次,很快便可出现检查结果)
问题出现的环境背景及自己尝试过哪些方法
前端项目配置了lint-staged
+husky
方案,在pre-commit
阶段对待提交文件进行eslint检查。
更新尝试方法:
使用
exec >/dev/tty 2>&1
在.husky/pre-commit
文件中加入该语句#!/bin/sh . "$(dirname "$0")/_/husky.sh" exec >/dev/tty 2>&1 npx lint-staged -- --quiet
效果:在命令行工具(包括
powershell
、cmd
以及Git Bash
以及VSCODE的终端面板)键入git commit
命令,效果正常,但是通过VSCODE的“源代码管理”界面,手动点击提交按钮,Git报错.husky/pre-commit: line 4: /dev/tty: No such device or address
- 使用
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中我用过cmd、powershell和git bash三种类型的终端,均出现图中的情况
- 通过
Git Bash
命令行工具,手动键入git commit
命令来进行提交操作,情况正常(一次检查直接拦截提交)
请教一下如何让VSCode不要进行那么多次检查,缩短提交前检查的速度与时间
如果可以的话,还希望有大佬们帮忙分析一下原因
你期待的结果是什么?实际看到的错误信息又是什么?
- 期待的结果:让VSCode和Git Bash命令行一样,只执行一次检查便可拦截错误信息
- 实际信息:VSCode多次执行错误检查