VSC не может следить за изменениями файлов в этой большой рабочей области странно
Я только начал использовать VSCode версии 1.24.1.
После загрузки папки отображается предупреждение
Visual Studio Code не может отслеживать изменения файлов в этом большом рабочем пространстве
После того, как я проверил лимит, как указано в их руководстве, используя
cat /proc/sys/fs/inotify/max_user_watches
Я получаю 8192, в то время как мой проект имеет только 650 файлов (из которых 400 внутри .git)
Почему это происходит? Это ошибка или я что-то упустил?
(Увеличение лимита - явно не правильное решение.)
Ответы
Ответ 1
Решение, которое я нашел, и оно работает для меня, это
добавить эту строку fs.inotify.max_user_watches=524288
в /etc/sysctl.conf
и затем выполните команду sudo sysctl -p
а затем перейдите в настройки vscode и найдите файл с именем settings.json
.и эта строка к нему
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/node_modules/*/**": true
}
вы также можете сослаться на эту ссылку https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-changes-in-this-large-workspace-error-enospc
Ответ 2
что Linux ppl не знаю, есть новые для Linux люди, как я. Так что, если вы нуб, это для вас.
cat /proc/sys/fs/inotify/max_user_watches
(может быть числом 8k+)
sudo vim /etc/sysctl.conf
пройти весь путь вниз и добавить новую строку с fs.inotify.max_user_watches=524288
(убедитесь, что у вас НЕ есть #
перед командой)
введите :wq!
и введите
- введите
sudo sysctl -p
- введите еще раз:
cat /proc/sys/fs/inotify/max_user_watches
(должно быть 500k+ сейчас)
- отблагодаришь позже.
Ответ 3
В моем случае (PHP с использованием Composer) я должен был исключить путь vendor
из наблюдения
![enter image description here]()
В зависимости от вашего случая, вы должны исключить вашу папку зависимостей.
Ответ 4
TL; DR;
Похоже на утечку памяти.
-----
Кажется, предупреждение уже исчезло.
К сожалению, я не могу воспроизвести ошибку прямо сейчас, но вот несколько шагов.
- Установленное расширение Php Intellisense
- С терминала linux
git init
- Добавлена папка в рабочее пространство
- Сделал некоторые работы, добавил, сохранил, зафиксировал и нажал из палитры команд
- закрытый VSC
- Открыто предупреждение VSC ->.
В этот момент я увидел в htop
что существовал процесс /usr/share/code
с длинными аргументами, которые включали что-то с TypeScript
которое использовало 100% 1 процессора и около 1 ГБ ОЗУ. затем
- закрывает VSC
- убитый процесс
- открытый VSC
Теперь предупреждение больше не отображается, а ЦП обычно используется.
Ответ 5
Вот решение: https://code.visualstudio.com/docs/setup/linux
Предел можно увеличить до максимума, отредактировав /etc/sysctl.conf
и добавив эту строку в конец файла: fs.inotify.max_user_watches=524288
Новое значение затем можно загрузить, запустив sudo sysctl -p
Ответ 6
В моем случае у меня недостаточно прав для изменения sysctl.conf
, поэтому мое решение для Ubuntu 18.04 LTS было:
sudo /bin/su -c "echo 'fs.inotify.max_user_watches=524288' >> /etc/sysctl.conf"
sudo sysctl -p
Ответ 7
Что помогло мне, так это создание отдельного рабочего пространства для проекта, над которым я работал. Так что, если я работаю над чем-то в /htdocs/project/, то вместо того, чтобы просто открыть эту папку, я создаю ее как рабочее пространство.