Выделите фрагмент кода, нажмите **⌘I** (Ctrl+I на Windows и Linux) — прямо в редакторе, над выделением, откроется поле запроса. Опишите правку словами, и WorkAI изменит именно этот фрагмент: результат применится в файл как дифф, который вы принимаете или откатываете, не переходя в панель чата. ## Как вызвать Три способа, все делают одно и то же: - **⌘I / Ctrl+I** при фокусе в редакторе; - пункт встроенного чата в контекстном меню редактора (правый клик по выделению); - команда **Встроенный чат: начать встроенный чат** в палитре команд. Если выделения нет, запрос применяется к позиции курсора — фрагмент кода тогда не задан, и правка будет менее точной. Полезнее сначала выделить то, что хотите изменить. Поле ввода можно вернуть себе с клавиатуры, не трогая мышь: **⌘↓ / Ctrl+↓**, если курсор выше поля, и **⌘↑ / Ctrl+↑**, если ниже. ## Как принять или откатить правку Изменения приходят в сам файл и подсвечиваются как дифф — добавленные и удалённые строки видно на месте, а не в отдельном окне сравнения. Пока правка не принята, доступны: - **Enter** в пустом поле ввода или **⌘⏎ / Ctrl+⏎** — принять правку и закрыть окно (доступно, когда запрос уже отработал и в файле есть изменения); - **Esc** в поле ввода — закрыть и вернуть код к исходному виду; - **Esc** во время выполнения запроса — прервать его; уже применённые изменения при этом откатываются, а окно закрывается. Если ответ уже пришёл, но не устроил, есть ещё два действия рядом с полем: **Rephrase** — вернуть ваш запрос в поле для переформулировки, и **Ask in Chat** — перенести этот же разговор в панель чата, если задача оказалась крупнее одного фрагмента. Отдельно принимать или отклонять части диффа встроенный чат не даёт: сессия принимается или откатывается целиком. ## Чем это отличается от чата в панели Встроенный чат намеренно узкий. Он работает с одним открытым файлом и вашим выделением, не запускает инструменты агента — ни терминал, ни поиск по проекту, ни правку соседних файлов. Это разговор в режиме «Обсуждение» о конкретном куске кода. Поэтому для «переименуй переменную и подтяни аргументы», «разбей на две функции», «добавь обработку ошибки» — берите ⌘I. Для задач, которые затрагивают несколько файлов или требуют изучить проект, идите в [агента](/docs/agent/overview), а перед крупными изменениями — в [Планирование](/docs/agent/plan-mode). ## Быстрая починка ошибки Если в выделении или под курсором есть проблема от анализатора или компилятора, в подсказке над подчёркнутым местом появляется действие **Исправить**. Оно открывает то же поле, но уже с прикреплённым текстом ошибки и готовым запросом — запрос уходит сразу, вручную ничего писать не нужно. Диагностика из выделенного диапазона прикрепляется к запросу и при обычном вызове ⌘I: если в выделении есть ошибки, поле откроется с уже прикреплёнными проблемами и заготовкой запроса — её можно отправить как есть или заменить своим текстом. ## На какой модели это работает На тех же моделях WorkAI, что и чат: во встроенном чате есть свой выбор модели. Модель по умолчанию задаётся отдельной настройкой `inlineChat.defaultModel`, независимо от модели, выбранной в чате. Если вы меняли модель прямо в окне встроенного чата, дальше используется этот выбор, а не настройка. Что за модели и как они тарифицируются — на странице [Автовыбор модели](/docs/model-router) и в разделе про [модели и цены](/docs/models-and-pricing). ## Если файл уже правит агент Когда файл входит в текущую сессию агента и его правки ещё не приняты, ⌘I по умолчанию ведёт себя иначе: вместо отдельного окна он открывает панель чата и прикрепляет к запросу выделенный фрагмент. Так две правки одного файла не конфликтуют друг с другом. Разобраться с уже предложенными изменениями помогает [Проверка кода](/docs/agent/agent-review). ## Jupyter Notebook В Jupyter Notebook ⌘I открывает то же поле, что и в обычном файле, но правка ограничена **текущей ячейкой**. Выделите код в ячейке (или поставьте курсор), опишите изменение — дифф придёт в исходник этой ячейки, а не во весь `.ipynb`. Принять и откатить — те же клавиши: **Enter** в пустом поле или **⌘⏎ / Ctrl+⏎**, **Esc** чтобы вернуть ячейку как была. Рядом появляется ещё одно действие — **Принять и выполнить**: правку принимают и сразу запускают ячейку. Само поле ячейку не исполняет. Пока сессия открыта в одной ячейке, ⌘I в другой **принимает** предыдущую правку. Две незакрытые сессии в одном `.ipynb` одновременно не живут — не начинайте новую, если дифф в первой ещё не смотрели. Ограничение то же, что у встроенного чата в файле: без терминала, без поиска по проекту и без правок соседних ячеек. Нужно пройтись по всем ячейкам или подтянуть данные из других файлов — это уже [агент](/docs/agent/overview).