有没有办法找出 Visual Studio Code 正在监视的文件列表?

Kar*_*tty 7 visual-studio-code

我在 Visual Studio Code 中打开了一个大型代码库(大约 60k 个文件)。每当我这样做时,我都会收到“无法监视文件更改”的消息。为了摆脱这条消息,我进行了files.watcherExclude设置,只留下大约 1000 个文件在手表上。我的观察者限制是典型的 8192 个文件。但启用这些设置后,会弹出“无法观看...” 。我怀疑我的files.watcherExclude模式。有没有办法查看 Visual Studio Code 正在监视的文件列表?如果我可以看到哪些文件仍在被监视,我可以改进我的 watcherExclude 模式。

wor*_*ise 6

在Linux上,我们可以使用strace命令来查找进程正在监视的文件列表。因此从命令行调用 vscode 如下:

strace -fe inotify_add_watch  code .
Run Code Online (Sandbox Code Playgroud)

将转储一些调试信息,特别是与事件相关的信息 inotify_add_watch,这是在将新文​​件添加到监视列表时调用的信息。(请注意,在从终端调用上述命令之前,您必须退出 vscode 的其他实例 - 否则它只会使另一个实例成为焦点,并且您将看不到添加的监视列表)。

从这篇博文中获得的原始信息:http://hassansin.github.io/Finding-out-Which-Files-Are-Watched-by-Webpack-Using-Strace

附加信息和注释

使用 strace,我能够优化我的 webpack 和 vscode 手表。(我的 webpack 配置使其监视 node_modules 文件夹中的文件,而 vscode 实际上也在监视 .git 文件夹中的文件(理想情况下两者都应该被忽略))。在 vscode 设置中,类似下面的内容有效:

"files.watcherExclude": {
        "**/*{.jpg,.png,.gif,.webp,.jpeg}": true,
        "**/.git/**": true,
        "**/node_modules/**": true,
        "**/custom-uploads-folder-path-etc-to-exclude/**" : true

}
Run Code Online (Sandbox Code Playgroud)