Microsoft/vscode

Explore file watcher handling of verbose VS Code CLI commands

Open

#141,488 建立於 2022年1月25日

在 GitHub 查看
 (2 留言) (0 反應) (1 負責人)TypeScript (74,848 star) (10,221 fork)batch import
debtengineeringhelp wantedmacosmacos-big-surworkbench-cli

描述

Ref https://github.com/microsoft/vscode/issues/141053

Currently:

  • The CLI process on macOS (Big Sur and above) spawns the main process using the open command so that VS Code is launched with the correct entitlements.
  • the open command can only redirect stdout and stderr to files, so we currently create temp files for the open command, and then set up file watchers on the CLI process to detect when those files are being written to.
  • code-insiders --status and code-insiders --verbose both require the setup with the file watchers.
  • :bug: When the main process exits, the CLI process cancels the filewatching, but the watcher might not have finished reading through the file yet. Therefore, some of the expected output is cut off early at the end.

A mitigation is to add in a timeout so that there is a delay between the main process exiting and the filewatcher being cancelled, but there should be a better way to detect when to stop watching. Actually, the issue reminds me a bit of flush() methods in other contexts.

貢獻者指南