**Шаг 1: Анализ и диагностика текущего состояния.** Прежде чем что-либо менять, нужно понять "узкие места". Откройте `Help -> Diagnostic Tools`. Ключевые метрики:
- **Activity Monitor**: Показывает, какие процессы IDE (индексирование, сканирование типов) активны и нагружают систему.
- **CPU and Memory Indicators**: Включите отображение в статус-баре (правый нижний угол). Это даст реальное представление о потреблении.
- **Профилирование индексирования**: Если проект индексируется вечно, в меню поиска (`Double Shift`) введите "Invalidate Caches", но пока не нажимайте. Сначала посмотрите логи (`Help -> Show Log in Explorer`), файлы `idea.log` и `*.log` в папке `system`.
- **Увеличьте лимиты памяти**: Параметры `-Xms` (начальный размер heap) и `-Xmx` (максимальный) должны быть сбалансированы. Для большого проекта на машине с 16+ ГБ ОЗУ рекомендуется: `-Xms2048m` и `-Xmx4096m` (или даже `-Xmx6144m`). Не ставьте `-Xmx` больше 80% от доступной оперативной памяти.
- **Смените сборщик мусора (Garbage Collector)**: Для лучшей отзывчивости UI добавьте строки:
-XX:ReservedCodeCacheSize=512m
-XX:+UseStringDeduplication
```
G1GC лучше справляется с большими heap-ами, минимизируя паузы.
**Шаг 3: Настройка исключений для индексирования.** WebStorm не должен индексировать то, что не нужно для разработки.
- **Откройте `Settings/Preferences -> Project -> Directories`**. Здесь вы можете пометить папки как `Excluded` (обычно серо-красным). Сразу исключите: `node_modules`, `build`, `dist`, `.output`, `.next`, `.parcel-cache`, любые папки с вендорными библиотеками, документацией, бинарными файлами. Это кардинально ускорит индексирование.
- **В `Settings -> Editor -> File Types`** проверьте, не зарегистрированы ли лишние паттерны файлов, которые IDE пытается анализировать.
- `Settings/Preferences -> Plugins`. Отключите все, чем не пользуетесь регулярно (интеграции с CVS, FTP, неиспользуемые фреймворки).
- `Settings/Preferences -> Editor -> Inspections`. Инспекции — мощный инструмент, но их избыток грузит анализ в реальном времени. Можете создать свой профиль, отключив, например, стилевые проверки для файлов, которые линтите через ESLint отдельно. Используйте `Alt+Enter` на предупреждении и выберите `Disable inspection` для точечного выключения.
- **Используйте функцию `Attach Project`**. Можно открыть корневую папку монорепо, а затем `File -> Attach Project` для подключения только конкретного пакета/приложения как отдельного модуля. Это сократит область индексирования.
- **Настройте Scope**. Определите пользовательские Scope (`Settings -> Appearance & Behavior -> Scopes`) для часто используемых частей проекта (например, "Только исходный код приложения А") и используйте их в поиске, рефакторинге и при запуске инспекций.
- Убедитесь, что в `Settings -> Languages & Frameworks -> TypeScript` выбран `Use TypeScript Service` и стоит галочка `Use service from tsconfig.json`. Это обеспечит единообразие.
- Для очень больших проектов иногда помогает явный перезапуск tsserver: в меню поиска найдите действие `TypeScript: Restart TS Service`.
- Рассмотрите возможность использования `Project References` в `tsconfig.json` для разбиения большого проекта на логические части, что облегчит работу и IDE, и компилятору.
- **Установите WebStorm на SSD**. Разница в скорости индексирования и загрузки проекта — колоссальная.
- **Выделите достаточно оперативной памяти**. 16 ГБ — необходимый минимум для больших проектов, 32 ГБ — комфортный стандарт.
- **Настройте антивирус**. Исключите папки проекта и домашний каталог WebStorm (`~/.config/JetBrains/WebStorm*`, `~/.cache/JetBrains`) из реального времени сканирования антивируса, чтобы он не проверял каждый файл, к которому обращается IDE.
Следуя этим шагам, вы превратите WebStorm из тормозящего редактора в отзывчивую и мощную машину для работы с кодом любого масштаба. Помните, что ключ к успеху — в балансе между выделенными ресурсами и грамотным сужением области анализа IDE до того, что действительно важно для вашей работы.
Комментарии (15)