Перейти к основному содержимому

Использование «1С:Напарника» в разработке

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

Основные возможности «1С:Напарника» включают:

  • дополнение кода,
  • генерацию кода по текстовому описанию,
  • поиск и исправление ошибок,
  • написание комментариев,
  • работу с Git.

Подключение «1С:Напарника»​

Чтобы подключить «1С:Напарника», выполните следующие действия:

  1. Получите ключ доступа к «1С:Напарнику» на сайте code.1c.ai.

  2. В строке состояния среды разработки нажмите на надпись 1С:Напарник (недоступен).

    Надпись «1С:Напарник (недоступен)» в среде разработки

  3. Откроется вкладка настроек «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С:Напарника» также доступно из контекстного меню панели Проблемы:

Пункт меню «Исправить с 1С:Напарником»