Поделиться через


Начало работы со следующими предложениями по редактированию Copilot

GitHub Copilot выступает в роли программиста на основе искусственного интеллекта, автоматически предлагая рекомендации для завершения кода, комментариев, тестов и т. д. Copilot предоставляет два типа встроенных предложений, оба из которых учитывают существующий код: завершения и дальнейшие предложения по редактированию.

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

Встроенные завершения отлично подходят для автозаполнения раздела кода. NES помогает оставаться в потоке редактирования, предлагая изменения, соответствующие вашей текущей работе. С помощью клавиши TAB можно быстро перемещаться и принимать предложения. Предложения могут охватывать один символ, всю строку или несколько строк в зависимости от области потенциального изменения.

Предпосылки

Включение NES

Чтобы приступить к работе с Copilot NES, включите функцию в разделе Инструменты>Параметры>Все настройки>Редактор текста>Завершение кода>Общие, и выберите предложения Copilot для следующего редактирования (предсказания следующего редактирования от Copilot) в поставщиках завершения кода.

Чтобы приступить к работе с Copilot NES, включите функцию в разделе "инструменты>Параметры>GitHub>Copilot и выберите "Включить предложения по следующему редактированию" в завершения Copilot.

Начало использования NES

Чтобы приступить к получению предложений из NES, запустите код. Когда функция предлагает изменение кода, вы можете перейти к нему с помощью клавиши TAB , а затем принять его с помощью клавиши TAB еще раз. Вы экономите время, быстро перейдя к следующему соответствующему редактированию, не выполняя ручной поиск по файлам или ссылкам самостоятельно. Стрелка в поле индикатора показывает, доступно ли предложение по правке.

Скриншот, на котором показаны стрелки в поле, обозначающие варианты редактирования.

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

Снимок экрана: меню для редактирования предложений.

Если предложение по изменению находится под текущим представлением редактора, стрелка указывает вниз, а не справа. Прокрутите экран мимо предложения изменения, и стрелка подсказывает местоположение следующего предложения, указывая вверх или вниз, в зависимости от вашего текущего положения в файле.

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

Понимание вариантов использования

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

Уловить и исправить ошибки

NES помогает с ошибками, такими как опечатки; например, если вы написали bol вместо bool.

Снимок экрана, на котором NES предлагает исправление опечатки.

Эта функция также может помочь с более сложными ошибками в логике, например, инвертированное тернарное выражение или сравнение, которое должно использовать ||, а не &&.

Снимок экрана, на котором NES предлагает исправление для выражения.

Сопоставление изменений в намерении

NES предлагает изменения в остальной части кода, которые соответствуют изменению намерения. В следующем примере показаны рекомендации после рефакторинга класса Point на Point3D.

Анимированный снимок экрана, на котором показаны предложения NES для изменений в обновлениях намерений.

Обновление синтаксиса кода

NES помогает с повторяющимися изменениями, например обновление синтаксиса кода на современный C++ с помощью стандартной библиотеки (STL). Например, при обновлении всех printf() экземпляров до std::cout, необходимо также обновить синтаксис, например fgets().

Анимированный снимок экрана, на котором показано, как NES предлагает обновления синтаксиса кода.

Переработка кода

Если вы переименовываете переменную один раз в файле, NES предлагает обновить ее во всем файле. Если вы вводите новое имя или шаблон именования, функция предложит обновить последующий код для соответствия.

Скриншот, на котором NES предлагает изменения при переименовании переменной.

После вставки кода NES предлагает корректировки для сопоставления с стилем окружающего кода.

Скрыть NES

Вы можете скрыть предложения из NES в Visual Studio и просмотреть их только при выборе.

Чтобы отключить Автозавершение, перейдите > ">>>> Общие" и выберите "Вручную" в вызове Встроенных подсказок. Затем можно вручную активировать предложения с Alt, или Alt.

Чтобы управлять отображением предложений, перейдите в Инструменты>Параметры>GitHub>Copilot>Completions и выберите Свернуть следующие предложения для редактирования.

Изменения по-прежнему активируют NES, но если предложение доступно, в глотере отображается только индикатор поля. Этот индикатор указывает на соответствующую строку. Само предложение остается скрытым, пока не решите просмотреть его.

Снимок экрана, на котором показан значок-стрелка индикатора, когда NES скрыт.

Чтобы просмотреть скрытое предложение, выберите индикатор поля или нажмите клавишу TAB . Затем появится предложение. Вы можете снова выбрать клавишу TAB , чтобы принять предложение или выбрать клавишу ESC , чтобы закрыть ее. После принятия предложения все связанные предложения будут автоматически отображаться. Не связанные новые предложения остаются скрытыми, пока не решите просмотреть их.

В следующем примере после изменения с Point на Point3D предложение NES становится доступным, но не отображается немедленно. Индикатор поля и панель подсказок выделяют предложение в строке 4, которая отображается после выбора индикатора.

Анимированный снимок экрана, на котором показан поток режима сворачивания NES.