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


IntelliSense в Visual Studio

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

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

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

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

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

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

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

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

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

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

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

Вы также можете изменить режим предложения, в котором в код вставляется только текст, который вы вводите. Например, если ввести идентификатор, который отсутствует в списке, и нажать клавишу Tab, запись заменяет введённый идентификатор в режиме автозаполнения. Чтобы переключаться между режимом завершения и режимом предложения, нажмите клавиши Ctrl +Alt+пробелили выберите Изменить>IntelliSense>Переключение режима завершения.

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

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

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

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

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

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

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

Вы можете вручную вызвать сведения о параметрах, выбрав Изменить>IntelliSense>сведения о параметрах, нажав клавиши CTRL+SHIFT+ПРОБЕЛ или нажав кнопку сведения о параметрах на панели инструментов редактора.

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

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

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

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

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

снимок экрана: функция

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

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

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

Вы можете отключить краткие сведения для кода C++, перейдя к Средства>Параметры>Текстовый редактор>C/C++>Дополнительнои установив Автоматическое отображение кратких сведений в false.

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

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

Параметры IntelliSense

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

Совет

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

Значки IntelliSense

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

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

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

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

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

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

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

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