IntelliSense в Visual Studio
IntelliSense — это помощь по завершению кода, которая включает функции, которые помогут вам узнать больше о используемом коде, отслеживать введенные параметры и добавлять вызовы к свойствам и методам с помощью нескольких нажатий клавиш.
К этим функциям относятся:
Многие аспекты IntelliSense зависят от языка. Дополнительные сведения о IntelliSense для разных языков см. в статьях, перечисленных в разделе Связанное содержимое.
Список участников
Список допустимых элементов из типа (или пространства имен) отображается после ввода символа триггера (например, периода (.
) в управляемом коде или ::
в C++. Если вы продолжаете вводить символы, список фильтруется, чтобы включить только элементы, начинающиеся с этих символов, или где начало любое слово в имени начинается с этих символов. IntelliSense также выполняет верблюдю регистр сопоставления, поэтому вы можете просто ввести первую букву каждого верблюдьего слова в имени члена, чтобы увидеть совпадения.
Выбрав элемент, его можно вставить в код, нажав клавишу TAB или введя пробел. Если выбрать элемент и ввести период, за ним появляется период, за которым выводится другой список участников. Когда вы выбираете элемент, но перед его вставкой, вы получаете быструю информацию для элемента.
В списке членов значок слева представляет тип члена, например пространство имен, класс, функцию или переменную. Список может быть длинным, поэтому вы можете нажать PgUp и PgDn, чтобы переместиться вверх или вниз в списке.
Вы можете вручную вызвать функцию "Элементы списка", введя Ctrl+J, выбрав Изменить>IntelliSense>Элементы списка, или нажав кнопку "Элементы списка" на панели инструментов редактора. При вызове пустой строки или вне распознаваемой области список отображает символы в глобальном пространстве имен.
Чтобы отключить List Members по умолчанию, чтобы он не отображался, если не требуется специально, перейдите в раздел Средства>Параметры>Текстовый редактор>Все языки и снимите галочку с Авто заполнение элементов списка. Если вы хотите отключить членов списка только для определенного языка, перейдите к общим параметрам для этого языка.
Вы также можете изменить режим предложения, в котором в код вставляется только текст, который вы вводите. Например, если ввести идентификатор, который отсутствует в списке, и нажать клавишу Tab, запись заменяет введённый идентификатор в режиме автозаполнения. Чтобы переключаться между режимом завершения и режимом предложения, нажмите клавиши Ctrl +Alt+пробелили выберите Изменить>IntelliSense>Переключение режима завершения.
Вы также можете изменить режим предложения, в котором в код вставляется только текст, который вы вводите. Например, если ввести идентификатор, который отсутствует в списке, и нажмите клавишу TAB, в режиме завершения запись заменит типизированный идентификатор. Чтобы переключиться между режимом завершения и режимом предложения, нажмите CTRL +ALT+пробелили выберите Редактировать>IntelliSense>Переключение между автоматическим и завершением IntelliSense только с вкладками.
Сведения о параметрах
сведения о параметрах предоставляют сведения о количестве, именах и типах параметров, необходимых для метода, параметра универсального типа атрибута (в C#) или шаблоне (в C++).
Параметр полужирным шрифтом указывает следующий параметр, необходимый при вводе функции. Для функций с перегрузкой можно использовать стрелки вверх и вниз, чтобы просмотреть альтернативные сведения о параметрах для перегрузок функций.
При аннотировании функций и параметров с помощью примечаний XML-документации эти примечания отображаются как информация о параметрах. Дополнительные сведения см. в примечания кода XML.
Вы можете вручную вызвать сведения о параметрах, выбрав Изменить>IntelliSense>сведения о параметрах, нажав клавиши CTRL+SHIFT+ПРОБЕЛ или нажав кнопку сведения о параметрах на панели инструментов редактора.
Краткие сведения
Быстрая информация отображает полное объявление любого идентификатора в вашем коде.
При выборе элемента из окна "Список участников" также отображается краткая информация.
Вы можете вручную вызвать Быструю справку, выбрав Изменить>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.