Использование «1С:Напарника» в разработке
«1С:Напарник» — это встроенный в «1С:Шину» интеллектуальный помощник, использующий технологии искусственного интеллекта для ускорения написания кода и решения прикладных задач. Он позволяет автоматизировать работу разработчика, помогая сократить рутину и сосредоточиться на более творческих задачах.
Основные возможности «1С:Напарника» включают:
- дополнение кода,
- генерацию кода по текстовому описанию,
- поиск и исправление ошибок,
- написание комментариев,
- работу с Git.
Подключение «1С:Напарника»
Чтобы подключить «1С:Напарника», выполните следующие действия:
-
Получите ключ доступа к «1С:Напарнику» на сайте code.1c.ai.
-
В строке состояния среды разработки нажмите на надпись 1С:Напарник (недоступен).

-
Откроется вкладка настроек «1С:Напарника». Введите полученный ключ в поле Ключ доступа пользователя. На этой вкладке вы также можете изменить режим автодополнения кода и указать количество строк, применяемых при автодополнении.

После ввода корректного ключа доступа надпись в строке состояния изменится на отображение текущего режима автодополнения кода. Нажмите на него, чтобы переключить режим.

Вы также можете изменить настройки «1С:Напарника» в параметрах среды разработки. Для этого в левой панели действий нажмите Управление → Параметры и перейдите на вкладку 1С:Напарник.
Автодополнение кода
Если вы выбрали автоматический режим автодополнения, вам станет доступна интеллектуальная подсказка при написании кода. Нажмите Tab, если вы хотите принимать подсказку блоками в соответствии с настройкой Количество строк. Вы также можете принимать подсказку последовательно по одному слову с помощью комбинации клавиш Ctrl+→.

Если вы выбрали ручной режим автодополнения, нажмите Ctrl+Alt+Пробел, чтобы отобразить подсказку.
Автодополнение кода доступно только для XBSL-файлов.
Чат с «1С:Напарником»
Вы можете использовать отдельный чат с «1С:Напарником» для решения своих задач. Чтобы открыть чат, нажмите Главное меню → Вид → Чат с 1С:Напарником (или Ctrl+Alt+I).
В чате напишите запрос к «1С:Напарнику». Например, попросите его реализовать метод для вычисления факториала числа. Вы можете скопировать получившийся код или вставить его в позицию курсора.

Далее вы можете выполнить рефакторинг сгенерированного метода, попросив «1С:Напарника» сделать метод рекурсивным. «1С:Напарник» опишет выполненные действия и предложит применить изменения в модуле.

Перед применением можно посмотреть предлагаемые изменения. Для этого нажмите на файл, чтобы открыть его в редакторе сравнения содержимого.

После того как вы закончили решать задачу, вы можете создать новый чат с «1С:Напарником», нажав на знак +.
Переменные чата
Вы можете использовать переменные в чате с «1С:Напарником», чтобы быстро добавлять в запрос структурированный контекст из среды разработки (например, код текущего метода, выделенный текст, содержимое файла и т. д.) без ручного копирования его содержимого.
Вставить переменную в чат можно двумя способами:
- Введите символ
#, чтобы отобразить список выбора переменной. Для перемещения по списку используйте стрелки ↑ / ↓. Список поддерживает поиск переменной по имени. После выбора нужной переменной нажмите Ввод. - Нажмите
Управление → Переменные чата с 1С:Напарником (или Ctrl+Alt+Shift+V), чтобы открыть в среде разработки полный список поддерживаемых переменных. Кликните два раза по нужной переменной, и она появится в поле ввода сообщения чата.
Некоторые переменные поддерживают передачу в чат определенного значения. Например, переменная #МетодТекущегоМодуля: позволяет передать произвольный метод из редактора текущего модуля. Для выбора значения поставьте курсор сразу после двоеточия в конце переменной и нажмите Ctrl+Пробел или Ctrl+I.

Полный список переменных приведен в таблице ниже.
| Переменная | Передает в чат |
|---|---|
#ВыделенныйКод | Выделенный код в текущем редакторе |
#ИсключениеТекущегоМодуля: | Код произвольного исключения в текущем модуле |
#КонстантаТекущегоМодуля: | Код объявления константы в текущем модуле |
#КонтекстРедактора | Контекст активного редактора: файл, язык, выделение, позицию курсора и диагностику |
#МетодТекущегоМодуля: | Код произвольного метода в текущем модуле |
#Модуль: | Код произвольного модуля в рабочей области |
#НомерСтроки | Номер текущей строки в текущем редакторе кода |
#ОткрытыеРедакторы | Список всех открытых редакторов |
#ОтносительныйПутьТекущегоФайла | Относительный путь текущего файла |
#ОтносительныйПутьТекущейДиректории | Относительный путь текущей директории |
#ПеречислениеТекущегоМодуля: | Код произвольного перечисления в текущем модуле |
#Ресурс: | Содержимое произвольного ресурса в рабочей области |
#Сегодня | Текущую дату |
#СодержимоеТекущегоФайла | Содержимое текущего файла |
#СсылкиНаИсключениеТекущегоМодуля: | Все ссылки на произвольное исключение текущего модуля |
#СсылкиНаКонстантуТекущегоМодуля: | Все ссылки на произвольную константу текущего модуля |
#СсылкиНаМетодТекущегоМодуля: | Все ссылки на произвольный метод текущего модуля |
#СсылкиНаПеречислениеТекущегоМодуля: | Все ссылки на произвольное перечисление текущего модуля |
#СсылкиНаСтруктуруТекущегоМодуля: | Все ссылки на произвольную структуру текущего модуля |
#СтруктураТекущегоМодуля: | Код произвольной структуры в текущем модуле |
#ТекущийМетод | Код метода под курсором |
#ЭлементПроекта: | Код произвольного элемента проекта в рабочей области |
Переменные чата для работы с Git
«1С:Напарник» поддерживает специальные переменные для работы с системой контроля версий Git (анализа изменений, написания сообщений коммитов, разрешения конфликтов слияния и т. д.). Полный список этих переменных приведен в таблице ниже.
Настройте групповую разработку, чтобы использовать данные переменные в чате с «1С:Напарником».
| Переменная | Передает в чат |
|---|---|
#ГитВсеИзменения | Индексированные и неиндексированные изменения текущего репозитория |
#ГитИзмененияТекущегоФайла | Все изменения текущего файла |
#ГитИзмененияФайла: | Все изменения произвольного файла |
#ГитИндексированныеИзменения | Индексированные изменения текущего репозитория |
#ГитИсторияТекущегоФайла | Последние 15 коммитов из истории текущего файла |
#ГитИсторияФайла: | Последние 15 коммитов из истории произвольного файла рабочей области |
#ГитКоммит: | Произвольный коммит из текущей ветки |
#ГитКоммитТекущегоФайла: | Произвольный коммит из истории текущего файла |
#ГитКонфликты | Конфликты в файлах текущего репозитория |
#ГитКтоИзменялВыделение | Git blame для выделенного текста в текущем файле |
#ГитКтоИзменялДиапазонСтрокТекущегоФайла: | Git blame для диапазона строк текущего файла |
#ГитКтоИзменялСтрокуТекущегоФайла: | Git blame для указанной строки текущего файла |
#ГитКтоИзменялТекущийФайл | Git blame для текущего файла |
#ГитКтоИзменялТекущуюСтроку | Git blame для текущей строки в активном файле |
#ГитКтоИзменялФайл: | Git blame для произвольного файла рабочей области |
#ГитЛокальныеВетки | Список локальных веток текущего репозитория |
#ГитНеиндексированныеИзменения | Неиндексированные изменения текущего репозитория |
#ГитПоследниеКоммиты | Последние 15 коммитов текущего репозитория |
#ГитСтатус | Статус текущего репозитория |
#ГитУдалённыеВетки | Список удаленных веток текущего репозитория |
История чатов
Вы можете просмотреть историю чатов с «1С:Напарником» и вернуться к любому из них. Для этого нажмите кнопку Показать чаты:

В результате появится список чатов. Вы можете открыть выбранный чат или удалить его.

Контекстная подсказка
Действия над кодом
Если вы выделите блок кода в редакторе, в левом верхнем углу появится иконка . Нажмите на нее, чтобы отобразить меню действий над выделенным кодом.

После выбора нужного действия появится поле ввода, содержащее выделенный блок кода и соответствующий запрос к «1С:Напарнику». Вы можете изменить текст запроса перед его отправкой. В запросах используются переменные чата для получения более точного ответа. После отправки запроса откроется чат с «1С:Напарником», в котором он проанализирует запрос и выдаст ответ.

В таблице ниже приведены доступные действия всплывающего меню. Пункт Исправь отображается только при наличии ошибок в выделенном коде.
| Действие | Текст отправляемого запроса |
|---|---|
| Исправь | Найди и исправь проблемы/ошибки в коде #КонтекстРедактора |
| Ревью | Сделай ревью кода #КонтекстРедактора |
| Объясни | Объясни, что делает код, для чего он был сделан, кем, когда и в рамках какой задачи? #ГитКтоИзменялВыделение #КонтекстРедактора |
Контекстное меню
Вы также можете получить помощь «1С:Напарника» при редактировании кода с помощью контекстного меню Спросить 1С:Напарника, которое отображается при нажатии на выделенный участок кода правой кнопкой мыши.

После выбора нужного пункта меню появится поле ввода, содержащее выделенный блок кода и соответствующий запрос к «1С:Напарнику». Вы можете изменить текст запроса перед его отправкой. В запросах используются переменные чата для получения более точного ответа. После отправки запроса откроется чат с «1С:Напарником», в котором он проанализирует запрос и выдаст ответ.

В таблице ниже приведено описание команд, доступных в контекстном меню.
| Пункт меню | Текст отправляемого запроса | Сочетание клавиш для вызова |
|---|---|---|
| Задать вопрос о коде | Заготовленный текст отсутствует. Вы можете ввести произвольный запрос | Alt+I, Alt+A |
| Исправить ошибки | Найди и исправь проблемы/ошибки в коде #КонтекстРедактора | Alt+I, Alt+C |
| Объяснить, что делает этот код | Объясни, что делает код, для чего он был сделан, кем, когда и в рамках какой задачи? #ГитКтоИзменялВыделение #КонтекстРедактора | Alt+I, Alt+E |
| Сделать ревью кода | Сделай ревью кода #КонтекстРедактора | Alt+I, Alt+R |
Исправление ошибок с помощью «1С:Напарника» также доступно из контекстного меню панели Проблемы:
