«Claude Code в VS Code» означает две разные вещи, и большая часть путаницы именно отсюда. Первое — расширение Claude Code для VS Code: графическая панель внутри редактора, диффы во встроенном просмотрщике, история бесед. Второе — тот же самый CLI, запущенный командой claude во встроенном терминале редактора.

Это не конкурирующие продукты. Под панелью расширения работает та же программа, что и в терминале, и обе читают одни и те же настройки и файлы CLAUDE.md. Разница — в интерфейсе и в том, какая часть возможностей до вас доходит. Ниже — что даёт интеграция с редактором сверх терминала, как это устроено в JetBrains и почему многие после установки расширения возвращаются в терминал.

Расширение или CLI: что именно вы ищете

Три факта, которые снимают большинство вопросов ещё до установки.

Расширение приносит свою копию CLI, но не кладёт команду в PATH. Anthropic описывает это прямо: расширение содержит частную копию CLI для панели чата, а чтобы набрать claude в терминале, нужна отдельная установка CLI. Поставили расширение, открыли терминал, получили «command not found» — это не поломка, это ожидаемое поведение.

Панель и терминал делят историю бесед. Разговор, начатый в панели VS Code, продолжается в терминале командой claude --resume: она открывает интерактивный выбор из сохранённых бесед. Настройки в ~/.claude/settings.json — разрешения, переменные окружения, хуки, MCP-серверы — тоже общие для расширения и CLI.

Часть возможностей есть только в CLI. Документация приводит таблицу расхождений: команды и навыки в расширении — подмножество, MCP-серверы добавляются только из CLI, шорткат ! для запуска команды оболочки и автодополнение по Tab в панели не работают.

Вопрос не «что лучше», а «в каком окне». Движок один, аккаунт один, настройки одни. Выбирая между панелью и терминалом, вы выбираете способ смотреть на одну и ту же работу, а не другой инструмент.

В каких видах существует Claude Code

Официально Claude Code работает на нескольких поверхностях: терминал, расширения для редакторов, десктопное приложение и веб. Все они подключаются к одному движку, поэтому файлы CLAUDE.md, настройки и MCP-серверы вашего проекта работают в любой из них.

  • Терминальный CLI. Полный набор команд и флагов, работает в любом терминале. Установка на Windows разобрана отдельно — в статье про Claude Code на Windows.
  • Расширение для VS Code. Графическая панель; ставится и в форки VS Code — для Cursor есть отдельная ссылка установки, для остальных редакторов на движке VS Code расширение лежит в реестре Open VSX.
  • Плагин для JetBrains. IntelliJ IDEA, PyCharm, WebStorm и другие IDE JetBrains.
  • Десктопное приложение. Отдельная программа с вкладкой Code: macOS, Windows x64 и ARM64, для Ubuntu и Debian — бета. Нужна платная подписка. Скриптовых режимов вроде --print в нём нет, приложение только интерактивное.
  • Веб. claude.ai/code — исследовательское превью для планов Pro, Max и Team и для Enterprise с соответствующими местами. Задачи выполняются в изолированных виртуальных машинах Anthropic; для клонирования репозитория и создания pull request нужен GitHub. Готовую облачную сессию можно перетянуть к себе в терминал командой claude --teleport.

Одно практическое различие между поверхностями стоит запомнить заранее: сторонние провайдеры — Amazon Bedrock, Google Cloud Agent Platform, Microsoft Foundry — поддерживаются в терминальном CLI, в VS Code и в JetBrains, но не являются вариантом по умолчанию для десктопа и веба.

Расширение для VS Code: установка и что оно даёт

Требования короткие: VS Code версии 1.94.0 или новее и аккаунт Anthropic — подойдёт любая платная подписка Claude (Pro, Max, Team, Enterprise) либо аккаунт Claude Console. API-ключ не нужен, вход выполняется через браузер при первом открытии панели.

Установка обычная: Ctrl+Shift+X, поиск «Claude Code», кнопка Install. Если расширение не появилось, перезапустите редактор или выполните «Developer: Reload Window» из палитры команд.

Открыть панель можно четырьмя способами: значком в правом верхнем углу редактора (появляется, только когда открыт файл), значком на панели активности слева, через палитру команд («Claude Code: Open in New Tab») и кликом по «Claude Code» в строке состояния — последний работает даже без открытого файла.

Что расширение добавляет к терминалу

Видит выделение и активный файл. Пока редактор подключён, к каждому вашему сообщению прикладывается текущее выделение и путь открытого файла — в переписке это видно строкой вида «Selected N lines from …». Сочетание Alt+K (на macOS Option+K) вставляет в промпт ссылку с номерами строк, например @app.ts#5-10. Индикатор выделения в поле ввода можно выключить кликом: перечёркнутый глаз означает, что выделение модели не уходит.

Показывает правки диффом. В ручном режиме разрешений Claude показывает изменения как сравнение «было — предлагается» и ждёт решения: принять, отклонить или сказать, что сделать иначе. Отдельная деталь: если вы прямо в окне диффа отредактируете предложенный текст перед принятием, модели сообщается, что содержимое изменили, — она не считает, что файл соответствует её собственному предложению.

Даёт править план до начала работы. В режиме плана VS Code открывает план как обычный Markdown-документ, в который можно вписать замечания прямо по строкам, и только потом отдать в работу.

Держит несколько бесед и историю. «Open in New Tab» и «Open in New Window» открывают параллельные беседы, у каждой своя история и свой контекст; цветная точка на значке вкладки показывает состояние — синяя означает ожидающий запрос разрешения, оранжевая — что работа закончилась, пока вкладка была скрыта. Кнопка истории ищет по прошлым беседам, новые получают автоматические названия по первому сообщению.

Умеет отматывать назад. Контрольные точки в расширении есть: при наведении на сообщение появляется кнопка отката с тремя вариантами — ответвить беседу с этого места, вернуть файлы к этому состоянию или сделать и то и другое сразу.

Читает диагностику редактора. Ошибки и предупреждения из панели Problems Claude получает через инструмент mcp__ide__getDiagnostics. Вывод терминала добавляется в промпт ссылкой @terminal:имя, где имя — заголовок вкладки терминала.

Полезные настройки лежат в Extensions → Claude Code: autosave (по умолчанию включена — файлы сохраняются перед чтением и записью), respectGitIgnore, preferredLocation — где открывать панель. И отдельно useTerminal: если поставить галочку, расширение вместо графической панели открывает привычный текстовый интерфейс CLI.

JetBrains: плагин работает поверх CLI

Для JetBrains есть отдельный плагин — «Claude Code [Beta]» из официального маркетплейса. Он работает с большинством IDE семейства, документация перечисляет IntelliJ IDEA, PyCharm, Android Studio, WebStorm, PhpStorm и GoLand.

Устроен он иначе, чем расширение для VS Code, и это главное, что нужно знать до установки: плагин не приносит свою копию CLI. Он запускает команду claude во встроенном терминале IDE и подключается к ней. Значит, ставить нужно две вещи — сам CLI и плагин; если claude не найден в PATH, плагин показывает уведомление «Cannot launch Claude Code». Путь к исполняемому файлу задаётся в настройках плагина, в поле Claude command.

Что даёт интеграция:

  • Ctrl+Esc — открыть Claude Code прямо из редактора;
  • Alt+Ctrl+K — вставить ссылку на файл с диапазоном строк, вида @src/auth.ts#L1-99;
  • диффы открываются в просмотрщике IDE, а не в терминале; переключается это пунктом Diff tool в /config — значение auto отдаёт диффы редактору, terminal оставляет в терминале;
  • текущее выделение и открытая вкладка передаются автоматически;
  • инспекции IDE читаются тем же инструментом диагностики. Здесь в документации есть честная оговорка: сам Claude Code не запрашивает диагностику у плагина после правок — модель должна обратиться к инструменту.

Если вы работаете не из терминала IDE, а из внешнего, соединение поднимается командой /ide внутри Claude Code: при успехе появляется сообщение вида «Connected to IntelliJ IDEA». Если у запущенной IDE плагина нет, /ide ставит его сам и просит перезапустить редактор.

Известные шероховатости, которые описаны в документации: клавиша ESC по умолчанию не прерывает работу, потому что терминал JetBrains перехватывает её для перевода фокуса в редактор (лечится в Settings → Tools → Terminal); Shift+Enter для переноса строки в терминалах JetBrains недоступен вовсе — вместо него Ctrl+J либо обратный слеш и Enter; при удалённой разработке плагин ставится на хост, а не на клиентскую машину; в WSL2 сообщение «No available IDEs detected» обычно означает, что соединение между WSL2 и IDE на стороне Windows блокируют NAT-сеть или брандмауэр.

CLI во встроенном терминале редактора

Самый простой вариант, и для многих он же итоговый: открыть встроенный терминал редактора (в VS Code это Ctrl+`) и запустить claude. Документация подчёркивает, что при этом CLI автоматически подключается к редактору — диффы и обмен диагностикой работают так же, как в панели. Из внешнего терминала то же соединение поднимается командой /ide.

Причины, по которым люди на этом варианте остаются, вполне конкретные:

  • Полный набор команд и навыков. В панели доступно подмножество, в CLI — всё.
  • Шорткат ! и автодополнение по Tab. В расширении их нет.
  • MCP-серверы. Добавляются командой claude mcp add; в панели можно только управлять уже добавленными через /mcp.
  • Скрипты и автоматизация. Режим claude -p, конвейеры, запуск в CI — это только CLI.
  • Видимость фоновых процессов. Расширение показывает прогресс в строке состояния, но документация прямо говорит, что видимость фоновых задач в нём ограничена по сравнению с CLI.

Три настройки, которые стоит сделать сразу, если вы работаете в терминале VS Code. Первая — /terminal-setup: она прописывает Shift+Enter для переноса строки и заодно выключает terminal.integrated.gpuAcceleration, чтобы текст не рвался. Вторая — уведомления: во встроенном терминале VS Code системного уведомления не приходит, поэтому в ~/.claude/settings.json задают preferredNotifChannel со значением terminal_bell или вешают хук на событие Notification. Третья — не вставлять в промпт огромные тексты: встроенный терминал VS Code может терять символы на очень больших вставках, и документация советует записывать такое в файл и просить прочитать файл.

Ещё одна деталь, которая иногда удивляет: если запустить claude во встроенном терминале VS Code, расширение установится само. Отключается это пунктом «Auto-install IDE extension» в /config, настройкой autoInstallIdeExtension или переменной окружения CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL.

Про сами команды, режимы разрешений и работу с контекстом — в отдельной статье о том, как пользоваться Claude Code.

Что выбрать под ваш стиль работы

Ответ зависит не от редактора, а от того, что вы делаете руками.

Вы читаете и правите код сами, и VS Code уже открыт. Берите расширение. Выделение уходит в контекст без копирования, правки приходят диффом в знакомом просмотрщике, план можно прокомментировать до начала работы. Терминал остаётся рядом для того, чего в панели нет.

Вы в JetBrains. Ставьте CLI и плагин. Интерфейс останется терминальным — плагин добавляет диффы в просмотрщике IDE, передачу выделения и быстрый запуск, но графической панели чата, как в VS Code, не даёт.

Вы отдаёте задачу целиком и смотрите на результат. Тогда редактор в цепочке лишний: CLI в любом терминале или десктопное приложение с визуальным просмотром диффов. Сессию из терминала в приложение переносит команда /desktop — она доступна на macOS и Windows x64 при входе по подписке.

Вам нужна автоматизация. Только CLI: неинтерактивный режим, флаги, запуск по расписанию и в CI.

Вам нужно несколько агентов одновременно. В VS Code это вкладки и окна, в десктопном приложении — сессии в боковой панели, а если удобнее держать несколько терминалов с агентами в одном отдельном окне, для этого есть VibeeCode. Про разницу между редакторами с агентом и CLI-агентами подробнее — в обзоре инструментов для вайбкодинга.

Известные ограничения интеграции

Список короткий, но каждый пункт рано или поздно всплывает.

  • Функциональность панели уже, чем у CLI. Подмножество команд и навыков, нет !, нет автодополнения по Tab, MCP-серверы добавляются только из терминала. Контрольные точки, в отличие от этого, в расширении есть.
  • Выделение и путь открытого файла уходят в контекст на каждом сообщении. Это удобно и это же стоит держать в голове. Исключить конкретный файл — например .env — можно запрещающим правилом на чтение: правило блокирует и текст выделения, и упоминание открытого файла.
  • Соединение редактора с CLI — это локальный MCP-сервер. Он называется ide, скрыт из /mcp, слушает на локальном интерфейсе на случайном порту, а токен доступа кладёт в файл блокировки в каталоге ~/.claude/ide/. Знать о нём нужно, если в организации белым списком разрешают инструменты MCP через хуки.
  • Автоматическое принятие правок опасно именно в редакторе. Документация предупреждает: с включённым авторазрешением правок Claude может изменить конфигурационные файлы VS Code вроде settings.json или tasks.json, которые редактор способен выполнить сам. Для незнакомого кода советуют ограниченный режим VS Code и ручное подтверждение правок. Для JetBrains предупреждение такое же.
  • Мелкие, но раздражающие. Значок в панели редактора появляется только при открытом файле и не работает в ограниченном режиме; другие ИИ-расширения могут конфликтовать; на свежих macOS сочетание Cmd+Esc перехватывает системный игровой оверлей.
  • Облачные сессии в панели видны частично. Во вкладке Web истории показываются только веб-сессии, запущенные с репозиторием GitHub, а продолжение такой сессии загружает переписку локально и обратно на claude.ai уже не синхронизируется.
  • Плагин JetBrains помечен как Beta в самом маркетплейсе — это его официальный статус, а не оценка со стороны.

Где запускать под вашу задачу

ЗадачаГде запускатьПочему
Правки в проекте, который открыт в VS Code Расширение Claude Code Выделение и открытый файл в контексте, диффы во встроенном просмотрщике, правка плана до работы
То же самое в IntelliJ, PyCharm, WebStorm CLI плюс плагин Claude Code [Beta] Плагин не заменяет CLI, а подключается к нему; интерфейс остаётся терминальным
Нужны все команды, навыки, ! и Tab claude во встроенном терминале редактора В панели доступно подмножество; в терминале соединение с редактором тоже работает
Настроить MCP-сервер Терминал: claude mcp add Панель умеет только управлять уже добавленными через /mcp
Скрипты, конвейеры, CI Только CLI Неинтерактивный режим и флаги есть лишь в командной строке
Несколько задач параллельно с визуальным диффом Десктопное приложение Сессии в боковой панели, перенос из терминала командой /desktop
Долгая задача, к которой вернётесь позже Веб, claude.ai/code Сессия живёт в облаке после закрытия браузера; забрать к себе — claude --teleport
Редактор не умеет ставить расширение CLI в его терминале Официальный запасной вариант: CLI работает в любом терминале

Короткий вывод: расширение стоит ставить тем, кто и так живёт в редакторе и хочет видеть правки диффом; терминал остаётся полным вариантом и никуда не девается даже после установки расширения. Начать разумно с малого — поставить CLI, запустить его во встроенном терминале, и только потом решать, нужна ли поверх этого панель.