n1ro°
RU

Ошибки и коды · Инструкция

В VS Code не работает IntelliSense: как вернуть автодополнение

Если VS Code перестал показывать подсказки, сначала нужно отделить проблему самого редактора от language service.

Редакция N1RO · Проверено

Короткий ответ

Нажмите 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 по шагам

  1. Откройте проблемный файл и вручную вызовите подсказки Ctrl+Space. Если они появились, проблема связана с автоматическим показом, а не с отсутствием языковой поддержки.
  2. Нажмите индикатор языка в правой части строки состояния и выберите фактический язык файла. Для неизвестного расширения при необходимости сохраните ассоциацию через Configure File Association.
  3. Перезапустите VS Code. Официальная документация прямо рекомендует это, если language service перестала работать.
  4. Проверьте, установлено и включено ли расширение языка именно в текущем окружении. В Remote SSH, Dev Container или WSL локально установленное расширение может не быть активным на удалённой стороне.
  5. Временно отключите сторонние расширения, которые меняют completion, snippets, linting или язык. Если проблема исчезла, включайте их группами либо используйте Extension Bisect.
  6. Для огромного 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.