Завершение полных строк IntelliCode в Visual Studio

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

Screenshot of Whole Line Completion by IntelliCode in Visual Studio.

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

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

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

Модель выполняется локально на компьютере. Это позволяет использовать функцию в автономных и отключенных от Интернета средах. Данная функция поддерживает множество языков программирования, в том числе Python, JavaScript, TypeScript, C# и Visual Basic.

Два режима

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

Режим 1. Завершение полных строк при вводе

Когда пользователь вводит текст, отображаются встроенные завершения, которые можно принять нажатием клавиши TAB. Чтобы отклонить прогноз, можно использовать клавиши Esc или Delete.

Screenshot displaying Tab to accept whole line completion.

Режим 2. Завершение полных строк при выборе элемента IntelliSense

Когда у пользователя имеется элемент из списка IntelliSense, для предоставления прогнозов IntelliCode использует то, что ввел пользователь, а также то, что пользователь выбрал в качестве контекста. В этом случае отображается сообщение Tab Tab to accept (Нажмите TAB TAB, чтобы принять прогноз). При первом нажатии клавиши TAB принимается выбранный элемент из списка IntelliSense, а при втором — завершение полной строки. Чтобы отклонить прогноз, можно использовать клавиши Esc или Delete.

Screenshot displaying Tab Tab to accept selected completion item and whole line completion.

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

По умолчанию для принятия завершения полных строк используется клавиша Tab. Чтобы изменить клавишу принятия по умолчанию, выберите "Сервис" -> "Параметры"-> "IntelliCode" -> "Завершения для полных строк кода". Включите параметр Apply completions for whole lines on right arrow.

Screenshot of Settings menu to change setting to make right arrow as accept character.

Это приведет к изменению клавиши принятия с Tab на клавишу со стрелкой вправо ->

Screenshot of Settings menu to change right arrow to accept whole line completion.

Чтобы отклонить варианты завершения полных строк, можно использовать клавиши Esc или Delete.

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

См. заявление о конфиденциальности

Управление завершением полных строк

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

Screenshot of Setting for Turning IntelliCode Whole Line Completions On/Off.

Первый параметр (Show completions for lines of code) позволяет включить или отключить это завершение полных строк.

Второй параметр (Wait for pauses in typing before showing line completions) при включении выводит все завершения полных строк, только если пользователь приостановил ввод. Пользователь может предпочесть этот вариант, если в режиме по умолчанию он обнаружит, что использование этой функции отвлекает его.

Третий параметр (Show completions on new lines) можно включить или отключить в зависимости от того, хочет ли пользователь видеть варианты завершения полных строк при вводе новой строки, т. е. путем нажатия клавиши Return или Enter.

Отправка отзывов

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

Screenshot of submitting feedback for IntelliCode.