【问题标题】:Watch project dependencies using VSCode API使用 VSCode API 观察项目依赖
【发布时间】:2022-06-17 20:37:18
【问题描述】:

我正在编写一个 VSCode 扩展,我需要一种方法来了解项目何时获得新的依赖项以触发某些操作。为此,我决定使用“fs.watchFile”观看 package.json 文件。但问题是 fs 仅在保存文件后才能看到更改,并且需要一两秒钟。此外,如果用户手动向 package.json 添加新的依赖项,则在用户保存之前不会发生更改事件。我想知道 VSCode 是否有一些内部 API 会比 fs 做得更好。

【问题讨论】:

    标签: javascript node.js visual-studio-code vscode-extensions


    【解决方案1】:

    VSCode 为 vscode.workspace.createFileSystemWatcher 提供了一个很好的实用程序。它比 fs 实现更好,因为它也会在文件在保存之前为“脏”时触发。可能的实现是:

    const watcher = vscode.workspace.createFileSystemWatcher(
      packageJsonPath, // absolute path to package.json
      true, // ignore create events
      false, // don't ignore change events
      true, // ignore delete events
    );
    watcher.onDidChange(() => {
        // trigger some action
    })
    
    // when not needed
    if (watcher) {
      watcher.dispose();
    }
    

    【讨论】:

      猜你喜欢
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-31
      • 1970-01-01
      • 2019-04-21
      • 1970-01-01
      相关资源
      最近更新 更多