Помощь искусственного интеллекта при написании кода
Автозавершение целых строк IntelliCode предсказывает следующий фрагмент вашего кода на основе текущей части кода и показывается как серый текст inline-прогноз. Представьте автозавершение, как серый текст, который вы видите при вводе электронных писем, но применяемый к коду.
Эта функция поддерживает C# в Visual Studio 2022.
Принцип работы
IntelliCode использует крупномасштабную модель трансформера, обученную на около полумиллиона общедоступных репозиториев с открытым исходным кодом из GitHub. Эта модель делает прогнозы о том, что вы вводите далее на основе богатых знаний о том, что вы закодировали до сих пор, включая:
- Имена и позиции переменных
- Библиотеки, которые вы используете
- Функции в соседнем коде
- Список IntelliSense
Модель выполняется на локальном компьютере, что позволяет использовать функцию в автономных и изолированных средах. Эта функция поддерживает C#.
Два режима
IntelliCode обеспечивает завершение двумя способами— один, когда пользователь вводит и два, когда пользователь выбрал элемент в списке IntelliSense.
Режим 1. Автозаполнения всей строки при вводе
При вводе пользователя отображаются полные автозавершения строк, которые можно принять, нажав Tab. Чтобы отклонить предсказание, можно использовать клавиши Esc
или Delete
.
Режим 2: Автозаполнение всей строки, когда выбран элемент IntelliSense
Если пользователь имеет элемент из выбранного списка IntelliSense, IntelliCode использует то, что пользователь ввел + то, что пользователь выбрал в качестве контекста для предоставления прогнозов. В этом случае вы видите предложение "Tab Tab для принятия". Первая вкладка подтверждает выбранный элемент из списка IntelliSense, а вторая вкладка подтверждает дополнение всей строки. Чтобы закрыть прогноз, можно использовать ключи Esc
или Delete
.
Принятие или закрытие автозавершения всей строки
По умолчанию ключ Tab
используется для принятия автозаполнения всей строки. Чтобы изменить ключ приема по умолчанию на стрелку вправо, перейдите к разделу Tools>Options>IntelliCode —>Advanced.
Включите параметр с именем Apply completions for whole lines on right arrow
.
Включите параметр Apply whole line completions on right arrow
.
Чтобы отменить автозавершение всей строки, можно использовать клавиши ESC
или Delete
.
Конфиденциальность
См. политику конфиденциальности
Управление автозаполнениями всей строки
Вы можете управлять функцией автозаполнения всей строки с помощью небольшой фиолетовой лампочки, показанной в правом нижнем углу редактора, рядом с элементом управления масштабированием.
Первый параметр, Show completions for lines of code
позволяет включить или отключить автозавершение всей строки.
Второй параметр, Wait for pauses in typing before showing line completions
, если включен, выполняет автозаполнения всей строки только в том случае, если пользователь приостановил ввод. Вы могли бы предпочесть эту опцию, если считаете автозавершения всей строки отвлекающими в режиме по умолчанию.
Третий параметр, Show completions on new lines
можно включить или отключить в зависимости от того, нужно ли отображать автозаполнения всей строки при вводе новой строки, то есть путем нажатия клавиши Return
или Enter
.
В toolsOptions, IntelliCode, General, параметр Show inline completions
позволяет включить или отключить автозаполнения всей строки.
На вкладке Advanced есть дополнительные параметры.
Первый параметр, 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