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


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

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

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

 Снимок экрана: завершение полных строк IntelliCode в Visual Studio.

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

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

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

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

Два режима

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

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

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

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

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

Когда у пользователя имеется элемент из списка IntelliSense, для предоставления прогнозов IntelliCode использует то, что ввел пользователь, а также то, что пользователь выбрал в качестве контекста. В этом случае вы увидите "Вкладка табуляции для принятия" прогноза. Первая вкладка принимает выбранный элемент из списка IntelliSense, а вторая вкладка принимает завершение всей строки. Чтобы отклонить прогноз, можно использовать клавиши Esc или Delete.

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

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

По умолчанию Tab ключ используется для принятия автозаполнения всей строки. Чтобы изменить ключ приема по умолчанию на стрелку вправо, перейдите к разделу "Параметры>инструментов>IntelliCode ->Advanced".

Включите параметр Apply completions for whole lines on right arrow.

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

Включите параметр Apply whole line completions on right arrow.

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

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

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

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

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

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

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

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

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

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

В разделе "Средства", "Параметры", IntelliCode, "Общие", параметр Show inline completions позволяет включать или отключать автозаполнения всей строки.

Вкладка "Дополнительно" имеет дополнительные параметры.

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

Первый параметр Apply whole line completions on right arrow был рассмотрен ранее в этой статье.

Второй параметр Disable suggestions while debugging позволяет свести к минимуму отвлекающие факторы при отладке.

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

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

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

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

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

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

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