【问题标题】:Update extension UI after a Git commit in VS Code在 VS Code 中提交 Git 后更新扩展 UI
【发布时间】:2020-11-28 02:01:34
【问题描述】:

我有一个名为 Git Mob VS Code 的 VS Code 扩展。

我希望能够在提交后调用 CLI 命令并更新我的扩展 UI。 CLI 命令很简单,可以使用post-commit 挂钩来完成。但是,问题在于更新 UI,因为它无法知道是否发生了提交。

我正在寻找有关如何实现这一目标的想法。

这里是相关问题:Add option to clear co-authors after commit

谢谢。

【问题讨论】:

    标签: git visual-studio-code vscode-extensions


    【解决方案1】:

    我发现的一种方法与 vs 代码 git extension 的操作方式相似。是看.git/COMMIT_EDITMSG文件。

    当文件更新时,我们知道正在进行提交,您可以运行所需的 VS 代码 UI 更新。

    但是,它并不完美,因为如果提交失败(例如commit-msg 挂钩非零退出),文件监视仍会看到更改并运行您的命令。根据您要执行的操作,这可能是也可能不是大问题。

    NodeJS 示例:

    const fs = require("fs");
    
    fs.watch('project-folder/.git/COMMIT_EDITMSG', function (evt, filename) {
      if (filename) {
     // changes trigger multiple times which you might want to handle
        if (debounceFsWatch()) return;
     // run your commands here
        console.log('event, filename', evt + ' ' + filename);
      }
    });
    

    Implementation in Git Mob VS Code

    【讨论】:

      猜你喜欢
      • 2020-04-13
      • 2019-06-17
      • 1970-01-01
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 2020-03-14
      • 1970-01-01
      相关资源
      最近更新 更多