IntelliSense в Visual Studio

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

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

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

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

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

В списке членов значок слева указывает на тип члена, такой как пространство имен, класс, функция или переменная. Список может быть достаточно длинным; перемещаться вверх и вниз по списку можно с помощью клавиш PAGE UP и PAGE DOWN.

Visual Studio Member List

Screenshot of IntelliSense List Members feature.

Функцию Список членов можно вызывать вручную, нажав клавиши CTRL+J, выбрав пункт Edit>IntelliSense>Список членов или нажав кнопку Список членов на панели инструментов редактора. При вызове в пустой строке или за пределами распознаваемой области в списке отображаются символы глобального пространства имен.

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

Можно также включить режим подсказки, в котором в код будет вставляться только печатаемый текст. Например, если ввести идентификатор, отсутствующий в списке, и нажать клавишу TAB, в режиме завершения введенный идентификатор был бы заменен записью из списка. Для переключения между режимом завершения и режимом подсказки нажмите CTRL+ALT+ПРОБЕЛ или выберите Изменить>IntelliSense>Переключить режим завершения.

Можно также включить режим подсказки, в котором в код будет вставляться только печатаемый текст. Например, если ввести идентификатор, отсутствующий в списке, и нажать клавишу TAB, в режиме завершения введенный идентификатор был бы заменен записью из списка. Чтобы переключиться между режимом завершения и режимом предложения, нажмите клавиши CTRL+ALT+ПРОБЕЛ или выберите "Изменить>IntelliSense Switch" между автоматическим и табуляционным завершением IntelliSense.>

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

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

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

Parameter Info

Screenshot of IntelliSense Parameter Info feature.

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

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

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

Функция "Краткие сведения" отображает полное объявление любого идентификатора в коде.

Visual Studio Quick Info

Screenshot of IntelliSense Quick Info feature.

При выборе члена в поле Список членов для него также отображаются краткие сведения.

Parameter Info in a C# code file

Screenshot of IntelliSense Quick Info & Parameter Info feature.

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

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

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

Завершение слов

Функция "Завершить слово" завершает оставшуюся часть имени переменной, команды или функции после ввода достаточного количества символов для однозначного определения термина. Чтобы вызвать функцию "Завершить слово", можно выбрать пункт меню Изменить>IntelliSense>Завершить слово либо нажать клавиши CTRL+ПРОБЕЛ или кнопку Завершить слово на панели инструментов редактора.

Параметры IntelliSense

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

Совет

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

Значки IntelliSense

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

Icon Специальные возможности Description
Public Icon Modifier Открытый класс Неограниченный доступ.
Protected Icon Modifier Защищенный класс Доступ ограничен содержащим классом или типами, которые являются производными от содержащего класса.
Protected Internal Icon Modifier Защищенный внутренний класс Доступ ограничен текущей сборкой или типами, которые являются производными от содержащего класса.
Internal Icon Modifier Внутренний класс Доступ ограничен текущей сборкой.
Private Icon Modifier Закрытый класс Доступ ограничен содержащим классом или типами, которые являются производными от содержащего класса в текущей сборке. (Доступно с версии C# 7.2.)

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

В некоторых случаях параметры IntelliSense могут не работать должным образом.

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

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

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

MessageBox( hWnd, "String literal|")

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