Помощь искусственного интеллекта при написании кода

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

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

Screenshot of Whole Line Completion by IntelliCode in Visual Studio.

Как это работает

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

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

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

Два режима

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

Режим 1: автозаполнения Кто строк при вводе

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

Screenshot displaying Tab to accept whole-line autocompletion.

Режим 2. автоматическое заполнение Кто строки при выборе элемента IntelliSense

Когда у пользователя имеется элемент из списка IntelliSense, для предоставления прогнозов IntelliCode использует то, что ввел пользователь, а также то, что пользователь выбрал в качестве контекста. В этом случае вы увидите "Вкладка табуляции для принятия" прогноза. Первая вкладка принимает выбранный элемент из списка 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 autocompletion.

Чтобы закрыть автозавершение всей строки, ESC можно использовать ключи или Delete ключи.

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

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

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

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

Screenshot of setting for turning IntelliCode whole-Line autocompletions on or 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.

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

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

Следующие шаги

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