Автозавершение целых строк с помощью Intellicode

Автозавершение целых строк IntelliCode предсказывает следующий фрагмент вашего кода на основе текущей части кода и показывается как серый текст inline-прогноз. Представьте автозавершение, как серый текст, который вы видите при вводе электронных писем, но применяемый к коду.

Эта функция поддерживает C# в Visual Studio 2022 и более поздних версиях.

Снимок экрана, показывающий завершение всей строки с помощью IntelliCode в Visual Studio.

Чтобы отключить прогнозирование текста, отключите расширение IntelliCode. Выберите Расширения>Управление расширениями в меню, найдите и выберите расширение IntelliCode, а затем нажмите Отключить.

Для самых передовых функций автозавершения кода попробуйте завершения GitHub Copilot.

Принцип работы

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

  • Имена и позиции переменных
  • Библиотеки, которые вы используете
  • Функции в соседнем коде
  • Список IntelliSense

Модель выполняется на локальном компьютере, что позволяет использовать функцию в автономных и изолированных средах. Эта функция поддерживает C#.

Два режима

IntelliCode обеспечивает завершение двумя способами— один, когда пользователь вводит и два, когда пользователь выбрал элемент в списке IntelliSense.

Режим 1. Автозаполнения всей строки при вводе

При вводе пользователя отображаются автозавершения всей строки, которые можно принять с помощью Tab для принятия. Чтобы отклонить предсказание, можно использовать сочетания клавиш Escape (Esc) или Delete (Del).

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

Режим 2: Автозаполнение всей строки, когда выбран элемент IntelliSense

Если пользователь имеет элемент из выбранного списка IntelliSense, IntelliCode использует то, что пользователь ввел + то, что пользователь выбрал в качестве контекста для предоставления прогнозов. В этом случае вы видите предложение "Tab Tab для принятия". Первая вкладка подтверждает выбранный элемент из списка IntelliSense, а вторая вкладка подтверждает дополнение всей строки. Чтобы закрыть прогноз, можно использовать сочетания клавиш Escape (ESC) или Delete (Del).

снимок экрана, отображающий вкладку 'Tab' для принятия выбранного элемента завершения и завершения всей строки.

Принятие или закрытие автозавершения всей строки

По умолчанию клавиша TAB используется для принятия автозаполнения всей строки. Вы можете изменить клавишу принятия по умолчанию на стрелку > вправо через меню Инструменты>Параметры.

Откройте область"ИнструментыПараметры", и разверните секцию"Все настройкиТекстовый редакторЗавершение кодаПредпочтения". Выберите параметр в раскрывающемся списке и установите принятие завершений кода с помощью сочетаний клавиш на По стрелке вправо.

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

Откройте диалоговое окно"Параметры>" и разверните раздел"Дополнительно" >. Установите флажок "Применить дополнения для всей строки по правой стрелке" и нажмите "ОК".

Снимок экрана меню

Чтобы закрыть автозавершение всей строки, используйте сочетания клавиш Escape (ESC) или Delete (Del).

Конфиденциальность

См. политику конфиденциальности

Управление автозаполнениями всей строки

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

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

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

В разделе «Все настройки»>«Текстовый редактор»>«Завершение кода»>«Предпочтения» предоставляются дополнительные параметры, в том числе:

  • Отображение завершений кода в новых строках: просмотр автозаполнения всей строки при вводе новой строки с помощью клавиши ВВОД (или возврат).

  • Отображение завершения кода в режиме отладки: просмотр автозаполнения всей строки во время отладки кода.

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

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

  • Применяйте автозавершения кода с помощью сочетаний клавиш: установите этот параметр на правую клавишу стрелки > для принятия автозавершения всей строки, как описано ранее в этой статье.

В диалоговом окне «Параметры>инструментов» раздел IntelliCode>Общие предоставляет параметр «Автоматическая генерация завершения кода в редакторе». Этот параметр позволяет включить или отключить автозавершение всей строки.

Снимок экрана показывает, как установить опцию автоматической генерации завершений кода в редакторе IntelliCode.

В разделе IntelliCode Advanced> представлены дополнительные параметры в группе полных завершений строк, в том числе:

  • Применение завершения целой строки с помощью стрелки вправо: используйте клавишу > стрелка вправо, чтобы принять автодополнение всей строки, как описано ранее в этой статье.

  • Отключите предложения при отладке: свести к минимуму отвлекающие факторы при отладке.

  • Отображение встроенных завершений в новых строках: просматривайте автозавершения всей строки при вводе новой строки с помощью клавиши ВВОД (или возврат).

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

Предоставление отзывов

Щелкните значок обратной связи в правом верхнем углу Visual Studio, чтобы отправить запрос на отзыв. Кроме того, вы можете отправить файлы журнала IntelliCode в запрос обратной связи, чтобы предоставить нам дополнительный контекст. Убедитесь, что вы просматриваете содержимое файлов журнала и устраняете любые проблемы конфиденциальности, которые у вас могут быть. Любые данные, которые вы предоставляете корпорации Майкрософт, не используются для каких-либо целей, кроме предоставления помощи в поддержке. Журналы можно найти в %LOCALAPPDATA%\Temp\VSFeedbackIntelliCodeLogs.

снимок экрана отправки отзывов для IntelliCode.

Дальнейшие действия

См. политику конфиденциальности