Skip to content

[Bug] Windows 桌面版 (3.14.4):git 状态轮询反复弹出终端窗口——每个 git 子进程闪一个终端标签,报 0x800700E8 #917

Description

@wenliang9527

环境

  • ZCode 桌面版 3.14.4(Windows x64,Windows 11 build 26200)
  • Windows Terminal 为系统默认终端应用
  • Git for Windows(D:\ARMGCC Tool\Gitforwin)

现象

打开某个 git 仓库工作区后,桌面上每隔几秒弹出终端窗口一闪而过(每次弹出一个 Windows Terminal 标签),标签内留下报错:

[出现错误 2147942632 (0x800700e8) (启动 "git -C D:\WORK_VSCODE\SLwork\<项目> ls-files -z -o -i --exclude-standard --directory"时)]

(0x800700E8 = ERROR_NO_DATA,即"管道正在关闭")

定位证据(Win32_Process 循环抓取)

反复出现的两个 git 调用,父进程均为 ZCode 的 node.exe(git 集成工具进程):

git -C <workspace> config --get core.excludesFile
git -C <workspace> ls-files -z -o -i --exclude-standard --directory

即 ZCode 的 git 变更检测在轮询工作区,但启动 git 子进程时未隐藏控制台窗口(缺 CREATE_NO_WINDOW / Node spawn 的 windowsHide: true)。于是:

  1. 每次轮询都在桌面弹出一个终端窗口(Windows Terminal 作为默认终端宿主时表现为闪现 WT 标签);
  2. ls-files 快速退出、stdio 管道先关闭时,该标签留下 0x800700E8 报错。

影响

多工作区场景下黑框不间断闪烁,严重干扰正常操作(无功能性损害)。

期望

  1. 启动 git 子进程时隐藏控制台窗口(windowsHide: true 或等效的 CREATE_NO_WINDOW);
  2. 若工作区 git 状态轮询属预期行为,建议提供关闭该轮询的设置项。

复现步骤

  1. Windows 11,默认终端应用 = Windows Terminal;
  2. ZCode 打开任一 git 仓库工作区;
  3. 静置数秒,观察桌面反复弹出终端窗口。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions