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


Что такое завершение GitHub Copilot в Visual Studio?

GitHub Copilot в Visual Studio обеспечивает расширенную разработку СИ в Visual Studio. Эта возможность помогает повысить производительность и эффективность при написании кода.

В этой статье вы узнаете о GitHub Copilot Completions — интеллектуальном помощнике программиста для Visual Studio, который обеспечивает контекстно-зависимые дополнения кода, рекомендации и даже целые фрагменты кода. Это помогает разработчикам сократить время, затраченное на повторяющиеся задачи, и свести к минимуму ошибки.

Дополнительные сведения о чате GitHub Copilot см. в статье "Что такое интерфейс чата GitHub Copilot для Visual Studio?".

Как работает GitHub Copilot

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

Анимированный снимок экрана, на котором показаны возможности завершения кода расширения GitHub Copilot.

Вы также можете использовать GitHub Copilot для преобразования комментариев в код, создания модульных тестов, создания запросов SQL и т. д.

Необходимые условия

GitHub Copilot поддерживает несколько языков программирования и платформ, включая (но не ограничено) C#, C++и Python.

Как получить GitHub Copilot для Visual Studio

В Visual Studio 2022 версии 17.10 или более поздней объединённое расширение GitHub Copilot доступно как рекомендованный компонент в Visual Studio Installer. Он устанавливается по умолчанию со всеми рабочими нагрузками, если вы не решили исключить его во время установки.

Использование GitHub Copilot для завершения кода и предложений

Во время ввода кода или комментариев в редакторе GitHub Copilot предлагает завершения и подсказки, учитывающие контекст. GitHub Copilot предоставляет предложения для множества языков, но он особенно хорошо подходит для Python, JavaScript, TypeScript, Ruby, Go, C#и C++. Следующие примеры находятся в C#, но другие языки работают аналогично.

  1. Откройте Visual Studio и создайте проект C#.

  2. Откройте файл C# (Program.cs) в редакторе кода.

  3. В редакторе введите комментарий или подпись метода, чтобы увидеть встроенные подсказки кода от GitHub Copilot.

        // method to add two numbers
    
        int subtractNumbers(
    
  4. Наведите указатель мыши на рекомендацию, чтобы просмотреть палитру команд GitHub Copilot.

    Чтобы принять предложение, выберите клавишу TAB . Чтобы отклонить предложение, продолжайте вводить текст.

    Снимок экрана, на котором показаны предложения для принятия или изменения предложений кода в GitHub Copilot в Visual Studio.

    Если палитра команд не отображается, возможно, вы достигли ограничения по умолчанию для его отображения. Чтобы изменить это ограничение, перейдите в Инструменты>Параметры>IntelliCode>Дополнительно, и измените значение минимального количества коммитов для скрытия текста подсказок.

  5. Добавьте следующий код для просмотра завершений из GitHub Copilot.

        int a = 5;
        int b = 10;
        int sum
    

    Анимированный снимок экрана, на котором показано использование завершений GitHub Copilot в Visual Studio.

Советы и рекомендации

Ниже приведены сочетания клавиш, связанные с завершением:

  • Вручную активируйте завершение: ALT+илиALT+,
  • Перебор доступных завершений: Alt+далее и Alt+предыдущий
  • Частично принять завершение слово за словом: Ctrl+Стрелка вправо
  • Частично примите строку завершения по строке: Ctrl+стрелка вниз

Настройте интерфейс завершения с помощью параметров:

  • Если завершение отображается слишком быстро и прерывает ввод текста, можно настроить время отображения в областипараметров>. Разверните раздел "Все параметры>Текстового редактора>Автодополнения кода>Предпочтения" и установите флажок "Показать автодополнения кода только после паузы при вводе текста". Этот параметр добавляет отложенную задержку, поэтому завершения не мигают и исчезают при быстром вводе.

  • По умолчанию каждое из нажатий клавиш автоматически активирует завершения. Вы можете отключить автоматическое завершение в панели параметров инструментов. Разверните раздел "Все параметры>Текстовый редактор>Автодополнение кода>Общие", и установите для параметра "Вызов автодополнения кода" значение "Вручную". После внесения этой корректировки вы можете вручную активировать завершения с помощью сочетания клавиш Alt+,.

  • Если вы чувствуете, что завершения появляются слишком быстро и мешают вам вводить текст, вы можете настроить время их отображения в диалоговом окне Инструменты>Параметры. Разверните раздел IntelliCode>Advanced и установите флажок «Ждать пауз при вводе текста перед отображением завершений всей строки». Этот параметр добавляет отложенную задержку, поэтому завершения не мигают и исчезают при быстром вводе.

  • По умолчанию каждое из нажатий клавиш автоматически активирует завершения. Вы можете отключить автоматическое завершение в диалоговом окне"Параметры>". Разверните раздел IntelliCode>Основные и снимите флажок "Автоматически генерировать завершения кода в редакторе". После внесения этой корректировки можно вручную активировать завершения с помощью сочетания клавиш Alt+.

Исключение содержимого

В версии 17.11 Visual Studio 2022 функция исключения содержимого доступна для завершений GitHub Copilot. Завершения и предложения недоступны для содержимого, исключенного администратором. Дополнительные сведения см. в статье об исключении содержимого из GitHub Copilot.

Ссылка на код

В Visual Studio 2022 версии 17.13 ссылка на код доступна для завершения GitHub Copilot. Если вы или ваша организация включили предложения, соответствующие общедоступному коду, Copilot уведомляет вас о принятии завершения, соответствующего коду из общедоступного репозитория GitHub.

Снимок экрана, показывающий завершения кода GitHub Copilot в Visual Studio.

Чтобы просмотреть подробные сведения в журналах GitHub Copilot в окне вывода , выберите "Просмотреть совпадения кода". Запись журнала содержит ссылку на страницу GitHub.com, где можно просмотреть сведения о типе лицензии. Он также содержит ссылки на аналогичный код в общедоступных репозиториях GitHub.

Снимок экрана, показывающий запись лога для ссылки на код в окне вывода.

Ссылки на код позволяют принять обоснованное решение об указании авторства кода или удалении кода из проекта.

Модель завершения

Модель GPT-4o Copilot для завершения кода доступна для GitHub Copilot в Visual Studio версии 17.14 preview 2 или более поздней версии.

Чтобы попробовать новую модель, которая улучшает рекомендации и производительность:

  1. В области Параметры>Инструментов разверните раздел Все настройки>Редактор текста>Автодополнение кода>Основные.

  2. Установите для параметра «Модель завершения Copilot» опцию GPT-4o Copilot.

    Если модель GPT-4o не указана, попробуйте перезапустить Visual Studio, чтобы получить последний список моделей.

    Снимок экрана, показывающий, как выбрать модель завершения Copilot.

  1. В диалоговом окне"Параметры>" разверните раздел GitHub>Copilot.

  2. В группе Copilot Completions установите параметр Copilot Completions Model в значение GPT-4o Copilot.

    Если модель GPT-4o не отображается в раскрывающемся списке, попробуйте перезапустить Visual Studio, чтобы получить последний список моделей.

    Снимок экрана: раскрывающийся список для выбора модели завершения.

  3. Нажмите ОК.

Вы также можете получить доступ к Настройкам>Опциям из значка Copilot в правом верхнем углу редактора.

Доступ

  • Если вы являетесь пользователем Copilot Pro, новая модель доступна для вас в версии 17.14 Preview 2 и более поздних версий.
  • Если вы являетесь пользователем Copilot Business или Enterprise, администратор вашей организации должен активировать эту модель, включив функции предварительного просмотра в редакторе в параметрах политики Copilot на GitHub.com.
  • Если вы являетесь пользователем Copilot Free, использование этой модели идет в счет ваших 2000 бесплатных ежемесячных использований.

Создание комментариев документации

Чтобы использовать автоматическое создание комментариев документации в файле проекта C++ или C#, введите шаблон комментариев в соответствии с конфигурацией (например, ///). Copilot мгновенно завершает описание функции, исходя из её содержимого.

Анимированный снимок экрана: автоматическое создание комментариев документации из Copilot.

Изучение GitHub Copilot

Чтобы увидеть GitHub Copilot в действии, посмотрите следующий видеоролик.

Длина видео составляет 1 минуту и 19 секунд.

Дополнительные сведения о расширении GitHub Copilot для Visual Studio см. в следующих ресурсах: