
Однажды я поймала себя на мысли:
А почему VSCode так тормозит? ?
Сначала я просто перезапускала редактор и мирилась с этим.
Но в какой-то момент я поняла: хватит терпеть — надо разобраться по-настоящему.
Подход к расследованию
Я решила действовать так же, как и при оптимизации производительности любого софта:
Определить цель
Измерить
Проанализировать
Придумать решение
Реализовать и проверить эффект
Шаг 1. Определяю цель
Что именно значит «VSCode тормозит»?
У меня это выглядело так:
Редактор полностью зависает (мышь не двигается)
Логи коммитов не отображаются
Copilot перестаёт подсказывать
? Цель: устранить эти проблемы и сделать работу комфортной.
Шаг 2. Измерения
В VSCode есть несколько встроенных инструментов для анализа производительности:
Startup Performance — показывает время запуска редактора
Developer Tools — проверка ошибок в UI и сетевых запросах
Process Explorer — мониторинг CPU и памяти по процессам
Startup Performance
Открывается через Ctrl+Shift+P → Startup Performance.
Полезно при медленном старте, но у меня запуск был нормальный → исключаю.

Developer Tools
Меню Help > Toggle Developer Tools.
Позволяет смотреть Console и Network на наличие ошибок.
У меня всё было чисто.
Process Explorer
Меню Help > Open Process Explorer.
Показывает загрузку CPU/памяти каждым процессом.
? Именно здесь я увидела, что процесс расширений загружает 99% CPU!

Шаг 3. Анализ
Было ясно, что виновато какое-то расширение.
Я увидела в Process Explorer, что процесс расширений грузит процессор почти на 100%.
Но сам Process Explorer не показывает, какое именно расширение вызывает проблему.
Нужно было пойти дальше и найти способ локализовать виновника.
Для этого я использовала Extension Bisect.
Extension Bisect
Штатный инструмент VSCode для поиска «плохого» расширения:
Меню
Help > Start Extension BisectVSCode отключает половину расширений
Я проверяю — проблема есть или нет
Повторяю шаги, пока не останется одно расширение
? В моём случае виновником оказалось расширение Rails.

Шаг 4. Решение
Расширение Rails предоставляет сниппеты, переходы и автодополнение.
Но в моей конфигурации оно было не нужно и конфликтовало с другими подсказками.
? Я просто удалила его.
Шаг 5. Проверка эффекта
После удаления:
Загрузка CPU упала с 99% до 10%
Редактор заметно ускорился
Работать стало комфортно ✨
Выводы
Не стоит действовать наугад — лучше пройти путь цель → измерения → анализ → решение → проверка
-
Встроенные инструменты VSCode очень помогают:
Process Explorer
Extension Bisect
Расширения стоит выбирать осознанно, а не «потому что кто-то посоветовал».
Заключение
Если у вас VSCode вдруг начал «тормозить» или зависать —
не спешите удалять всё подряд или винить железо.
? Попробуйте сначала встроенные средства диагностики.
Вполне возможно, что как и у меня, виновато одно-единственное расширение.
Надеюсь, мой опыт окажется полезным ?
Комментарии (10)

winkyBrain
26.09.2025 17:40В смысле "штатный"? Это сторонний плагин из маркетплейса, такой же точно как и ваш Rails.
Можете ссылку дать? А то есть ощущение, что вы врёте. У меня функционал есть из коробки, просто не в меню, а в паллете

owlivkks
26.09.2025 17:40Да, такое расширение действительно есть. Ссылка
Но в моем случае работает немного по-другому: вместо поиска в меню Help -> Start Extension Bisect я открывал Палитру команд (F1 или Ctrl + Shift + P) и вводил "Start Extension Bisect". Работает так, как заявлено: отрубает расширения (но в моем случае отрубило все)
Будет еще предупреждающее окно:
Перед запуском команды Если нажать Start Extension Bisect, VS Code перезапустится и в правом нижнем углу появится следующее (это окно закрывать не стоит, иначе придется перезапустить VS Code):

Расширение отработало успешно! В моем случае отрубились все расширения (в том числе и сам Extension Bisect):

Отрубились все расширения Чтобы заново запустить все расширения, нужно нажать Stop Bisect (окошко на картинке выше).
Дальше нужно нажимать "I can't reproduce", чтобы постепенно включать расширения. Если вы нашли пробему, нужно нажать "I can reproduce" (хотя разницы между последними 2 кнопками я не нашел)
Это разширение работает только на 1 окно VS Code. Остальные останутся целы.

vadvalskiy
26.09.2025 17:40эм у майков все работает с божьей помощью у меня Win10 то и дело зависает проводник пару раз крашился + права администратора прям видно что винда зависает на какое-то время при чем на достаточно долгое время + в компиляторах MSVC начиная с v120 VS2013 (хотя выще я утверждать не буду я не тестировал) есть ооочень серьезные проблемы я нашёл толи есть какие-то проблемы с move semantics то ли ещё с чем-то как пример в компиляторах msvc есть дубли заголовков которые лежат CRT/src а есть в дефолтном которые ты обычно подключаешь так вот они сильно различаться частая проблема старого кода который застал еще Visual SourceSafe так вот суть такова есть определенный код который работает в VC71 VC80 VC90 VC100 но не работает в VC120 компилятор то выбивает ошибку то крашится то иногда собирает прога не работает при том что это тоже самое работает без изменений в компиляторах GCC

Octagon77
26.09.2025 17:40Круто. И характер. Я бы, 100%, даже не запуская top, первым делом отключил половину расширений, потом вторую половину. Типа вайб-кодинг, только без вайб кодинга...

APh
26.09.2025 17:40Расширения стоит выбирать осознанно, а не «потому что кто-то посоветовал».
Я больше скажу: устанавливайте только те программы, которыми пользуетесь.

GreenMan1899
26.09.2025 17:40А кто-то сталкивался с полным зависанием при глобальном поиске по всему проекту?
Cheater
В смысле "штатный"? Это сторонний плагин из маркетплейса, такой же точно как и ваш Rails.
Для определения времени выполнения дочерних процессов плагин вообще не нужен, есть системные инструменты (в Linux по крайней мере), которым всё равно, кто создаёт дочерний процесс, - VScode или обычный шелл: