You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode中Lefthook Git输出含ESC字符致内容不可读求助

解决VSCode WSL环境下Git提交面板显示ESC字符问题

问题根源

WSL2 Ubuntu环境中,Lefthook调用的eslint、jest会输出ANSI颜色转义序列,VSCode内置Git提交面板在WSL场景下无法正确解析这些序列,导致显示出红色ESC原始字符,干扰日志阅读。

解决方案

1. 禁用工具的彩色输出

直接修改lefthook.yml,给eslint和jest命令添加禁用颜色的参数:

pre-commit:
  commands:
    eslint:
      run: eslint --no-color {staged_files}
    jest:
      run: jest --no-color --bail --findRelatedTests {staged_files}

或者全局禁用Lefthook的彩色输出:在WSL的shell配置文件(~/.bashrc或~/.zshrc)中添加:

export LEFTHOOK_COLOR=0

保存后重启VSCode的WSL窗口即可生效。

2. 让Git面板正确解析ANSI序列

  • 打开VSCode设置,搜索Git: Enable Terminal Colors,确保该选项处于启用状态。
  • 若上述设置无效,在WSL项目目录下执行Git配置命令,让Git用支持ANSI解析的分页器:
git config --local core.pager "less -r"

3. 改用VSCode集成终端提交

直接在VSCode的WSL集成终端中执行git commit命令提交代码,终端本身能正确渲染ANSI颜色,不会显示ESC字符。

内容的提问来源于stack exchange,提问作者VargaVD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 18:44:53