Ошибки и коды · Инструкция
В VS Code не работает IntelliSense: как вернуть автодополнение
Если VS Code перестал показывать подсказки, сначала нужно отделить проблему самого редактора от language service.
Короткий ответ
Нажмите Ctrl+Space, проверьте правильный Language Mode, перезапустите VS Code и language service, затем исключите конфликт расширений. В очень больших проектах часть IntelliSense может быть ограничена ради производительности.
Почему подсказки могут исчезнуть, хотя редактор работает
IntelliSense в VS Code собирает предложения от языковой службы активного языка. Поэтому ситуация, когда текст редактируется нормально, но нет автодополнения, сигнатур функций или переходов к определению, часто означает не поломку всего VS Code, а остановившуюся или неправильно выбранную language service. Для JavaScript и TypeScript базовая языковая поддержка встроена, а для многих других языков она приходит через расширение. Сначала нажмите Ctrl+Space: это ручной вызов списка предложений. Если список появляется только вручную, проверьте настройки показа suggestions во время ввода; если не появляется вообще, смотрите режим языка и состояние языкового расширения. В строке состояния убедитесь, что файл распознан как ожидаемый язык, а не Plain Text. Неверный режим особенно часто встречается у файлов с нестандартным расширением или временных файлов без расширения. После смены режима повторите Ctrl+Space и наведите курсор на известный символ: появление hover-информации подтверждает, что языковая служба снова отвечает.
Совет: Не начинайте с переустановки редактора: сначала проверьте Ctrl+Space и Language Mode — это быстро отделяет настройку от реального сбоя language service.
Диагностика IntelliSense по шагам
- Откройте проблемный файл и вручную вызовите подсказки Ctrl+Space. Если они появились, проблема связана с автоматическим показом, а не с отсутствием языковой поддержки.
- Нажмите индикатор языка в правой части строки состояния и выберите фактический язык файла. Для неизвестного расширения при необходимости сохраните ассоциацию через Configure File Association.
- Перезапустите VS Code. Официальная документация прямо рекомендует это, если language service перестала работать.
- Проверьте, установлено и включено ли расширение языка именно в текущем окружении. В Remote SSH, Dev Container или WSL локально установленное расширение может не быть активным на удалённой стороне.
- Временно отключите сторонние расширения, которые меняют completion, snippets, linting или язык. Если проблема исчезла, включайте их группами либо используйте Extension Bisect.
- Для огромного workspace исключите каталоги с зависимостями, сборкой и генерируемыми файлами из обзора/поиска и проверьте, вернулась ли полноценная языковая функциональность.
Важно: Если IntelliSense пропало только в одном проекте, сравните Workspace Settings с User Settings: проект может переопределять глобальные параметры.
Как отличить сбой расширения от проблемы проекта
Полезный тест — открыть маленькую новую папку с одним минимальным файлом того же языка. Если там автодополнение работает, редактор и языковое расширение в принципе исправны, а искать нужно внутри исходного workspace: конфигурация проекта, слишком большой объём индексируемых файлов, конфликт настроек или ошибка language server. Если подсказок нет и в чистой папке, проверьте расширение языка, его журнал и возможность перезапуска сервера через команды самого расширения. Для TypeScript и JavaScript полезно дополнительно убедиться, что файл действительно входит в ожидаемый jsconfig/tsconfig и не исключён настройками проекта. Не путайте snippets с IntelliSense: отсутствие пользовательских сниппетов не доказывает сбой языковой службы, а наличие сниппетов не означает, что работают типы и навигация. Проверяйте несколько признаков одновременно: completion, hover, Go to Definition и диагностику. Так становится понятно, сломан ли один слой или вся языковая интеграция.
Предупреждение: Если после обновления проблема началась внезапно, зафиксируйте версию проблемного расширения перед откатом — это пригодится для отчёта разработчику.
Что означает результат проверки
- Ctrl+Space показывает подсказки. Автоматический показ suggestions отключён или изменён. Проверить настройки редактора и языка
- В чистой папке всё работает. Workspace-настройки, конфиг проекта или размер проекта. Сравнить настройки и исключения каталогов
- После отключения расширений всё работает. Конфликт/ошибка расширения. Extension Bisect или включение по одному
- Нет completion, hover и definition нигде. Language service не запущена или язык не поддерживается. Проверить режим языка и языковое расширение
Большие проекты и частично отключённые функции
Официальная документация VS Code предупреждает, что в очень больших workspace некоторые возможности IntelliSense могут быть частично отключены для сохранения производительности. Это не значит, что нужно бездумно исключить всю папку node_modules только ради автодополнения: сначала оцените структуру проекта и убедитесь, что важные исходники не попадают под исключение. Разумно убрать из обзора и поиска тяжёлые generated, dist, build, coverage и другие каталоги, которые не редактируются вручную. Если проблема связана с монорепозиторием, сравните работу в отдельной подпапке и в полном workspace. При удалённой разработке также учитывайте место запуска расширения: языковой сервер может работать в удалённом extension host и зависеть от установленного там SDK. Если после сужения workspace подсказки возвращаются, причина почти наверняка в нагрузке или конфигурации индексации, а не в клавиатурной команде. После каждого изменения проверяйте один и тот же небольшой файл, чтобы не смешивать результаты разных тестов.
Когда уже стоит собирать логи
- Проблема воспроизводится после перезапуска VS Code.
- Правильный Language Mode выбран, а языковое расширение включено.
- Минимальный тестовый проект тоже не получает completion.
- Отключение сторонних расширений не помогает.
- Есть повторяемая ошибка в Output/логах language server или extension host.
Совет: В баг-репорт добавляйте минимальный проект и точный способ воспроизведения. Это полезнее полного архива рабочего репозитория.
Что учитывать
IntelliSense в VS Code собирает предложения от языковой службы активного языка. Поэтому ситуация, когда текст редактируется нормально, но нет автодополнения, сигнатур функций или переходов к определению, часто означает не поломку всего VS Code, а остановившуюся или неправильно выбранную language service. Для JavaScript и TypeScript базовая языковая поддержка встроена, а для многих других языков она приходит через расширение. Сначала нажмите Ctrl+Space: это ручной вызов списка предложений. Если…
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. IntelliSense). Пример и формулировки — редакция N1RO на 2026-09-20.