WorkAI

Inline-правка

Как менять выделенный код прямо в редакторе WorkAI: Cmd+I открывает поле запроса у строки, правка приходит диффом, принять — Enter, откатить — Esc.

Выделите фрагмент кода, нажмите ⌘I (Ctrl+I на Windows и Linux) — прямо в редакторе, над выделением, откроется поле запроса. Опишите правку словами, и WorkAI изменит именно этот фрагмент: результат применится в файл как дифф, который вы принимаете или откатываете, не переходя в панель чата.

Как вызвать

Три способа, все делают одно и то же:

  • ⌘I / Ctrl+I при фокусе в редакторе;
  • пункт Open Inline Chat в контекстном меню редактора (правый клик по выделению);
  • команда Inline Chat: Open Inline Chat в палитре команд.

Если выделения нет, запрос применяется к позиции курсора — фрагмент кода тогда не задан, и правка будет менее точной. Полезнее сначала выделить то, что хотите изменить.

Поле ввода можно вернуть себе с клавиатуры, не трогая мышь: ⌘↓ / Ctrl+↓, если курсор выше поля, и ⌘↑ / Ctrl+↑, если ниже.

Как принять или откатить правку

Изменения приходят в сам файл и подсвечиваются как дифф — добавленные и удалённые строки видно на месте, а не в отдельном окне сравнения. Пока правка не принята, доступны:

  • Enter в пустом поле ввода или ⌘⏎ / Ctrl+⏎ — принять правку и закрыть окно (доступно, когда запрос уже отработал и в файле есть изменения);
  • Esc в поле ввода — закрыть и вернуть код к исходному виду;
  • Esc во время выполнения запроса — прервать его; уже применённые изменения при этом откатываются, а окно закрывается.

Если ответ уже пришёл, но не устроил, есть ещё два действия рядом с полем: Rephrase — вернуть ваш запрос в поле для переформулировки, и Ask in Chat — перенести этот же разговор в панель чата, если задача оказалась крупнее одного фрагмента.

Отдельно принимать или отклонять части диффа inline-правка не даёт: сессия принимается или откатывается целиком.

Чем это отличается от чата в панели

Inline-правка намеренно узкая. Она работает с одним открытым файлом и вашим выделением, не запускает инструменты агента — ни терминал, ни поиск по проекту, ни правку соседних файлов. Это разговор в режиме «Ask» о конкретном куске кода.

Поэтому для «переименуй переменную и подтяни аргументы», «разбей на две функции», «добавь обработку ошибки» — берите ⌘I. Для задач, которые затрагивают несколько файлов или требуют изучить проект, идите в агента, а перед крупными изменениями — в Plan Mode.

Быстрая починка ошибки

Если в выделении или под курсором есть проблема от анализатора или компилятора, в подсказке над подчёркнутым местом появляется действие Fix. Оно открывает то же поле, но уже с прикреплённым текстом ошибки и готовым запросом — запрос уходит сразу, вручную ничего писать не нужно.

Диагностика из выделенного диапазона прикрепляется к запросу и при обычном вызове ⌘I: если в выделении есть ошибки, поле откроется с уже прикреплёнными проблемами и заготовкой запроса — её можно отправить как есть или заменить своим текстом.

На какой модели это работает

На тех же моделях WorkAI, что и чат: в окне inline-правки есть свой выбор модели. Модель по умолчанию для inline-правки задаётся отдельной настройкой Inline Chat: Default Model (inlineChat.defaultModel), независимо от модели, выбранной в чате. Если вы меняли модель прямо в окне inline-правки, дальше используется этот выбор, а не настройка. Что за модели и как они тарифицируются — на странице Маршрутизация моделей и в разделе про модели и цены.

Если файл уже правит агент

Когда файл входит в текущую сессию агента и его правки ещё не приняты, ⌘I по умолчанию ведёт себя иначе: вместо отдельного окна он открывает панель чата и прикрепляет к запросу выделенный фрагмент. Так две правки одного файла не конфликтуют друг с другом. Разобраться с уже предложенными изменениями помогает Agent Review.

Ячейки ноутбуков

В ячейках Jupyter-ноутбуков ⌘I тоже работает — поле запроса открывается у ячейки, правка применяется к её коду и принимается так же, как в обычном файле.