Visual Studio Code无法监视此大型工作区中的文件更改
2020-12-27 02:25:16

当您看到此通知时,表明 VS Code 文件监视器程序用尽了句柄,因为工作空间很大并且包含许多文件。 可以通过运行以下命令查看当前限制:

cat /proc/sys/fs/inotify/max_user_watches

可以通过编辑/etc/sysctl.conf(在Arch Linux上除外,请阅读下文)并将此行添加到文件末尾来将限制增加到最大。

fs.inotify.max_user_watches=524288

然后可以通过运行 sudo sysctl -p 来加载新值。

524,288 是可以监听的最大文件数,但是,如果您的环境特别受内存限制,则可能希望减少文件数。 每个文件监视占用 1080 个字节,因此假设所有 524,288 个监视都被消耗,则上限约为 540 MiB。

基于Arch的发行版(包括 Manjaro)要求您更改其他文件; 请遵循这些步骤

另一种选择是使用“ files.watcherExclude” 设置从 VS Code 文件监视程序中排除特定的工作区目录。 “ files.watcherExclude”的默认设置不包含“ node_modules”和“ .git”下的某些文件夹,但是您可以添加其他不希望 VS Code 跟踪的目录。

"files.watcherExclude":  {
    "**/.git/objects/**": true,
    "**/.git/subtree-cache/**": true,
    "**/node_modules/*/**": true
}

参考:

  1. 《Running Visual Studio Code on Linux》-文章原文
每日一句
Simplicity is the consequence of refined emotions. - Jean D'Alembert