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


IntelliSense в Visual Studio

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

К этим функциям относятся:

Многие аспекты IntelliSense зависят от языка. Дополнительные сведения о IntelliSense для разных языков см. в статьях, перечисленных в разделе Связанное содержимое.

В дополнение к IntelliSense Visual Studio предлагает завершения кода на основе искусственного интеллекта через GitHub Copilot. Встроенные предложения от Copilot работают вместе с IntelliSense для предоставления полнострочных и многострочных завершений. Дополнительные сведения см. в статье «Начало работы с автодополнениями GitHub Copilot».

Список участников

Список допустимых элементов из типа или пространства имен отображается после ввода символа триггера, например периода (.) в управляемом коде или :: в C++. При продолжении ввода символов список фильтрует только элементы, начинающиеся с этих символов, или где начало любого слова в имени начинается с этих символов. IntelliSense также выполняет сопоставление CamelCase, поэтому вы можете ввести только первую букву каждого CamelCase-слова в имени члена, чтобы увидеть результаты.

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

В списке членов значок слева представляет тип члена, например пространство имен, класс, функцию или переменную. Список может быть длинным, поэтому вы можете нажать PgUp и PgDn, чтобы переместиться вверх или вниз в списке.

снимок экрана функции списка элементов IntelliSense.

Вы можете вручную вызвать функцию "Элементы списка", введя Ctrl+J, выбрав Изменить>IntelliSense>Элементы списка, или нажав кнопку "Элементы списка" на панели инструментов редактора. При вызове его в пустой строке или вне распознаваемой области список отображает символы в глобальном пространстве имен.

Чтобы отключить List Members по умолчанию, чтобы он не отображался, если не требуется специально, перейдите в раздел Средства>Параметры>Текстовый редактор>Все языки и снимите галочку с Авто заполнение элементов списка. Чтобы отключить список участников только для определенного языка, перейдите к общим параметрам для этого языка.

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

Вы также можете изменить режим предложения, в котором в код вставляется только текст, который вы вводите. Например, если ввести идентификатор, который отсутствует в списке, и нажмите клавишу TAB, в режиме завершения запись заменяет типизированный идентификатор. Чтобы переключиться между режимом завершения и режимом предложения, нажмите CTRL +ALT+пробелили выберите Редактировать>IntelliSense>Переключение между автоматическим и завершением IntelliSense только с вкладками.

Сведения о параметрах

Сведения о параметрах показывают число, имена и типы параметров, необходимых методу, параметру универсального типа атрибута (в C#) или шаблону (в C++).

Параметр полужирным шрифтом отображает следующий параметр, который требуется при вводе функции. Для перегруженных функций используйте клавиши со стрелками ВВЕРХ и ВНИЗ , чтобы просмотреть другие сведения о параметрах перегрузки функции.

снимок экрана функции сведений о параметрах IntelliSense.

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

Вы можете вручную открыть сведения о параметрах, выбрав Правка>IntelliSense>Сведения о параметрах, нажав Ctrl++Shift++Space, или нажав кнопку Сведения о параметрах на панели инструментов редактора.

Краткие сведения

Быстрая информация отображает полное объявление любого идентификатора в вашем коде.

снимок экрана с функцией быстрой информации IntelliSense.

При выборе элемента из окна "Список участников" также отображается краткая информация.

снимок экрана функции быстрого получения информации IntelliSense и сведений о параметрах.

Вы можете вручную вызвать Быструю справку, выбрав Изменить>IntelliSense>Быстрое сведение, нажав клавиши CTRL+K, CTRL+I, или кнопкой Быстрая справка на панели инструментов редактора.

Если функция перегружена, IntelliSense может не отображать сведения обо всех формах перегрузки.

Чтобы отключить быструю информацию, перейдите в Инструменты>Параметры>Текстовый редактор>Все языки и снимите флажок Показать быстрые сведения при наведении в разделе Параметры.

Чтобы отключить Быструю информацию, перейдите в Инструменты>Параметры>Языки и снимите галочку с Показ быстрой информации при наведении в разделе Общие.

Полный текст Word

Завершение работы Word завершает оставшуюся часть переменной, команды или имени функции после ввода достаточно символов для диамбигуации термина. Вы можете вызвать готовое слово, выбрав Изменить>IntelliSense>Complete Word, нажав клавиши CTRL+пробелили нажав кнопку Завершить word на панели инструментов редактора.

Параметры IntelliSense

Параметры IntelliSense по умолчанию включены.

Чтобы отключить их, перейдите в Инструменты>Параметры>Языки>По умолчанию>Общие>Завершение операторов и снимите отметку с Сведения о параметрах или Автозаполнение списков.

Чтобы отключить их, перейдите в раздел Сервис>Параметры>Текстовый редактор>Все языки и снимите галочку с Информация о параметрах или Автолист элементов.

Совет

Чтобы изменить внешний вид элементов пользовательского интерфейса в Visual Studio, перейдите к разделу ">Параметры>среды>"и "Цвета". Дополнительные сведения об этих параметрах и взаимодействии с ними см. в диалоговом окне шрифты и цвета, среда, параметры.

Значки IntelliSense

Значки в IntelliSense передают дополнительное значение через модификаторы значков. К этим значкам относятся звезды, сердца и замки, наложенные на значок объекта, которые обозначают защищенные, внутренние или закрытые соответственно.

Икона Доступность Описание
модификатор общедоступного значка Общедоступный класс Доступ не ограничен.
модификатор защищенного значка Защищенный класс Доступ ограничен содержащим классом или типами, производными от содержащего класса.
модификатор защищенного внутреннего значка Защищенный внутренний класс Доступ ограничен текущей сборкой или типами, производными от содержащего класса.
модификатор внутренних значков Внутренний класс Доступ ограничен текущей сборкой.
модификатор приватного значка Частный класс Доступ ограничен содержащим классом или типами, производными от содержащего класса в текущей сборке. (Доступно с версии C# 7.2.)
Икона Доступность Описание
модификатор общедоступного значка Общедоступный класс Доступ не ограничен.
модификатор защищенного значка Защищенный класс Доступ ограничен содержащим классом или типами, производными от содержащего класса.
модификатор защищенного внутреннего значка Защищенный внутренний класс Доступ ограничен текущей сборкой или типами, производными от содержащего класса.
модификатор внутренних значков Внутренний класс Доступ ограничен текущей сборкой.
модификатор приватного значка Частный класс Доступ ограничен содержащим классом или типами, производными от содержащего класса в текущей сборке. (Доступно с версии C# 7.2.)

Устранение неполадок IntelliSense

Параметры IntelliSense могут работать не так, как ожидалось в некоторых случаях.

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

  • Курсор находится в примечании кода: невозможно использовать IntelliSense, если курсор находится в комментарии в исходном файле.

  • Курсор находится в строковом литерале: невозможно использовать IntelliSense, если курсор находится в кавычках вокруг строкового литерала, как показано в следующем примере:

    MessageBox( hWnd, "String literal|")
    
  • Автоматические параметры отключены. По умолчанию IntelliSense работает автоматически, но его можно отключить. Даже если автоматическое завершение инструкции отключено, можно вызвать функцию IntelliSense.