【问题标题】:Can a VSCode extension monitor file system changes?VSCode 扩展可以监视文件系统的变化吗?
【发布时间】:2021-12-02 07:56:11
【问题描述】:

我们需要一个 Visual Studio Code 扩展来监控文件系统上的特定文件夹,当文件夹的内容发生变化时,它应该触发一些动作。

扩展程序可以做到这一点吗?

我想我们需要一个Task。但是,我发现的所有任务示例都处理来自 VSCode 内部的触发器(主要由用户编辑)。

我没有找到任何关于由网络或文件系统等外部事件源触发的后台任务的示例。

【问题讨论】:

  • 你看过VSC的文件监视API吗
  • FileSystemWatcherFileSystemProvider
  • @Mark 不是 FileSystemWatcher 仅适用于当前打开的解决方案中的文件吗?而FileSystemProvider 似乎是我想要自己的文件系统时需要实现的接口。
  • @rioV8 我唯一能找到的是vscode.workspace.createFileSystemWatcher(...),但这似乎与当前打开的工作区或文件夹中的文件有关。我需要在工作区之外观察文件系统。
  • Node 有文件监视模块吗?

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


【解决方案1】:

自 VSCode 1.64.2(2022 年 1 月)以来,vscode.workspace.createFileSystemWatcher 能够监视当前 VSCode 工作区之外的文件

参见issue 140693“测试:从扩展中监视工作区外文件”。

感谢 Windows 团队在所有操作系统中实现了最佳的操作系统文件观察器。

ReadDirectoryChangesW 很棒,被我们使用的文件观察器库使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-04
    • 1970-01-01
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    相关资源
    最近更新 更多