IntelliSense в Visual Studio
IntelliSense — это помощь по завершению кода, которая включает ряд функций: список членов, сведения о параметрах, быстрые сведения и полный текст Word. Эти возможности помогают получать дополнительные сведения об используемом коде, отслеживать параметры при вводе и добавлять вызовы свойств и методов путем нескольких нажатий клавиш.
Многие аспекты IntelliSense зависят от конкретного языка. Дополнительные сведения о IntelliSense для разных языков см. в разделах «Связанные материалы «.
Список участников
После ввода символа триггера (например, точки ( . ) в управляемом коде или :: в C++) появляется список допустимых членов типа (или пространства имен). Если продолжить вводить символы, список фильтруется таким образом, чтобы включать только члены, начинающиеся этими символами, или члены, у которых любое слово в имени начинается этими символами. IntelliSense также выполняет сопоставление «верблюжьего» стиля, поэтому вы можете просто ввести первую букву каждого слова с «верблюжьим» стилем в имени члена, чтобы просмотреть список совпадений.
После выбора элемента, его можно вставить в код, нажав клавишу TAB или введя пробел. При выделении элемента и вводе точки элемент отображается с конечной точкой, которая вызывает еще один список членов. При выборе элемента, но перед его вставками вы получите быструю информацию для элемента.
В списке членов значок слева указывает на тип члена, такой как пространство имен, класс, функция или переменная. Список может быть достаточно длинным; перемещаться вверх и вниз по списку можно с помощью клавиш PAGE UP и PAGE DOWN.


Функцию Список членов можно вызывать вручную, нажав клавиши CTRL+J, выбрав пункт Edit>IntelliSense>Список членов или нажав кнопку Список членов на панели инструментов редактора. При вызове в пустой строке или за пределами распознаваемой области в списке отображаются символы глобального пространства имен.
Чтобы отключить список участников по умолчанию (чтобы он не отображался, если оно не было специально вызвано), перейдите в раздел «>Параметры>текста редактора>всех языков» и отмените выбор элементов списка «Авто». Если требуется отключить список членов только для конкретного языка, перейдите к параметрам Общие для этого языка.
Можно также включить режим подсказки, в котором в код будет вставляться только печатаемый текст. Например, если ввести идентификатор, отсутствующий в списке, и нажать клавишу TAB, в режиме завершения введенный идентификатор был бы заменен записью из списка. Для переключения между режимом завершения и режимом подсказки нажмите CTRL+ALT+ПРОБЕЛ или выберите Изменить>IntelliSense>Переключить режим завершения.
Можно также включить режим подсказки, в котором в код будет вставляться только печатаемый текст. Например, если ввести идентификатор, отсутствующий в списке, и нажать клавишу TAB, в режиме завершения введенный идентификатор был бы заменен записью из списка. Чтобы переключиться между режимом завершения и режимом предложения, нажмите клавиши CTRL+ALT+ ПРОБЕЛ или выберите «Изменить>IntelliSense Switch» между автоматическим и табуляционным завершением IntelliSense.>
Сведения о параметрах
Функция «Сведения о параметрах» предоставляет сведения о числе параметров, необходимых методу, параметру атрибута универсального типа (в C#) или шаблону (в C++), а также об именах и типах таких параметров.
Выделение параметра полужирным шрифтом указывает на следующий параметр, необходимый при вводе функции. Для перегруженных функций можно использовать клавиши СТРЕЛКА ВВЕРХ и СТРЕЛКА ВНИЗ для просмотра сведений об альтернативных параметрах для перегрузок функций.


При аннотировании функций и параметров при помощи комментариев XML-документации комментарии будут отображаться в качестве сведений о параметрах. Дополнительные сведения см. в разделе Создание XML-примечаний к коду.
Сведения о параметрах можно вызвать вручную, выбрав Изменить>IntelliSense>Сведения о параметрах, нажав клавиши CTRL+SHIFT+ПРОБЕЛ или кнопку Сведения о параметрах на панели инструментов редактора.
Краткие сведения
Функция «Краткие сведения» отображает полное объявление любого идентификатора в коде.


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


Краткие сведения можно открыть вручную, выбрав пункт меню Изменить>IntelliSense>Краткие сведения или нажав клавиши CTRL+K, CTRL+Iили кнопку Краткие сведения на панели инструментов редактора.
Если функция перегружена, IntelliSense может не отображать информацию для всех форм перегрузки.
Чтобы отключить краткие сведения для кода C++, можно перейти в меню Сервис>Параметры>Текстовый редактор>С/С++>Дополнительно и задать для параметра Автоматические краткие сведения значение false .
Завершение слов
Функция «Завершить слово» завершает оставшуюся часть имени переменной, команды или функции после ввода достаточного количества символов для однозначного определения термина. Чтобы вызвать функцию «Завершить слово», можно выбрать пункт меню Изменить>IntelliSense>Завершить слово либо нажать клавиши CTRL+ПРОБЕЛ или кнопку Завершить слово на панели инструментов редактора.
Параметры IntelliSense
Параметры IntelliSense включены по умолчанию. Чтобы отключить их, перейдите к разделу «Параметры >>текста» в текстовом редакторе>«Все языки» и отмените выбор сведений о параметрах или автоматических элементов списка, если вы не хотите использовать функцию «Элементы списка».
Если вы хотите изменить внешний вид элементов пользовательского интерфейса в Visual Studio, перейдите в раздел » >Параметры>параметров среды>» и «Цвета». Дополнительные сведения об этих параметрах и взаимодействии с ними см . в диалоговом окне «Шрифты и цвета», «Среда», «Параметры».
Значки IntelliSense
Значки в IntelliSense могут передавать дополнительные значения с помощью модификаторов значков. Это звезды, сердечки и замки, расположенные поверх значка объекта, которые означают защищенное, внутреннее или закрытое использование соответственно.
| Icon | Специальные возможности | Description |
|---|---|---|
![]() |
Открытый класс | Неограниченный доступ. |
![]() |
Защищенный класс | Доступ ограничен содержащим классом или типами, которые являются производными от содержащего класса. |
![]() |
Защищенный внутренний класс | Доступ ограничен текущей сборкой или типами, которые являются производными от содержащего класса. |
![]() |
Внутренний класс | Доступ ограничен текущей сборкой. |
![]() |
Закрытый класс | Доступ ограничен содержащим классом или типами, которые являются производными от содержащего класса в текущей сборке. (Доступно с версии C# 7.2.) |
Устранение неполадок IntelliSense
В некоторых случаях параметры IntelliSense могут не работать должным образом.
Курсор находится под ошибкой кода. Если в коде над курсором имеется неполная функция или другая ошибка, функция IntelliSense может перестать работать, поскольку ей не удается проанализировать элементы кода. Для устранения этой проблемы можно отметить соответствующий код комментарием.
Курсор находится в комментарии к коду. Если курсор находится в комментарии в файле исходного кода, вы не сможете использовать IntelliSense.
Курсор находится в строковом литерале. Вы не сможете использовать IntelliSense, если курсор находится внутри кавычек, в которые заключен строковый литерал, как показано в следующем примере:
MessageBox( hWnd, "String literal|")
Автоматические параметры отключены. По умолчанию функция IntelliSense работает автоматически, но ее можно отключить. Вы можете вызывать функцию IntelliSense, даже если автоматическое завершение операторов отключено.
Связанный контент
- C# IntelliSense
- Visual Basic IntelliSense
- IntelliSense для JavaScript
- Написание и рефакторинг кода (C++)
- Создание XML-примечаний к коду
Как настроить подсказки в VS Code?
Попробовал поработать на VS Code. Всё нравится, но максимально бесит работа подсказок. Можно ли настроить их?
Из основных проблем:
-лишние методы(типа ввожу «console.» и в списке предлагаемых вылазит «length»)
-отображение кучи лишних переменных(в подсказках показываются переменные из других функций, свойства других объектов).
Можно ли сделать подсказки в VS Code более адекватными?
- Вопрос задан более трёх лет назад
- 37607 просмотров
Комментировать
Решения вопроса 2

Egorian @Egorian Автор вопроса
Короче, как всегда. Доки наше всё. https://code.visualstudio.com/docs/editor/intellisense
Тут можно покопаться в настройках и настроить подсказки на свой вкус
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать

Ищу работу. Контакты в профиле.
В корень проекта положить tsconfig.json
< "compilerOptions": < "allowJs": true, "alwaysStrict": true, "baseUrl": ".", "emitDecoratorMetadata": true, "experimentalDecorators": true, "module": "esnext", "moduleResolution": "node", "target": "ESNext", "lib": [ "dom", "es2017" ] >, "exclude": [ "static", "build", "dist", "node_modules" ] >
+
Установите в зависимости проекта типы для библиотек, которые идут без типов .d.ts в комплекте https://www.npmjs.com/~types
P.S. Подсказки в vscode лучшие.
Настройки системы IntelliSense в Visual Studio

Система Visual Studio устанавливает много настроек средств IntelliSense по умолчанию, но многие из них можно изменить с помощью диалогового окна Options, если их значения, заданные по умолчанию, не устраивают разработчика. Некоторые из этих настроек связаны только с определенным языком программирования.
Общие настройки
Сначала рассмотрим настройки из группы Keyboard в разделе Environment. Каждой команде, доступной в системе Visual Studio, соответствует вполне определенная запись в списке комбинаций клавиш (на рисунке ниже показано диалоговое окно Options, которое открывается по команде Tools —> Options):

Комбинации клавиш, заданные по умолчанию, можно заменить или добавить новые. Комбинации клавиш для команд системы IntelliSense приведены в таблице ниже:
Выводит на экран информацию команды Quick Info о выбранном элементе
Пытается дополнить слово, если существует однозначное соответствие, или выводит список, если есть несколько совпадений
Переключает систему IntelliSense из режима подсказки в режим дополнения
Выводит на экран информацию о списке параметров вызываемой функции
Открывает диалоговое окно Code Snippet, в котором можно выбрать фрагмент кода, чтобы вставить его автоматически (создание и использование сниппетов мы рассмотрим позже)
Генерирует полную заглушку метода по шаблону
Генерирует определения абстрактного класса из заглушки
Генерирует явную реализацию интерфейса для определения класса
Генерирует неявную реализацию интерфейса для определения класса
Используя способы, описанные в статье «Горячие клавиши в Visual Studio», можно добавить новые комбинации клавиш или изменить существующие для любой команды.
Дополнение инструкции
Работой системы IntelliSense можно управлять либо в глобальном масштабе, как показано на рисунке ниже, либо для каждого языка программирования в отдельности. Для того чтобы определить способ вывода списка членов классов или вообще отменить его вывод, на закладке General в группе All Languages диалогового окна Options можно изменить настройки Statement Completion:

Настройки для языка C#
Кроме общих настроек интегрированной среды разработки и языков программирования для системы IntelliSense, некоторые языки, например C#, имеют дополнительную закладку для определения собственных настроек. С помощью закладки настроек для языка C#, показанной на рисунке ниже, можно также задать способ вызова и использования средств технологии IntelliSense.

Во-первых, можно отключить список дополнений, чтобы они не появлялись автоматически. Некоторые разработчики предпочитают делать именно так, потому что списки членов классов мешают им набирать тексты своих программ. Если список дополнений выводится не автоматически, а только по вызову, то пользователь может сам решить, что включать в эти списки, помимо стандартных записей, включая ключевые слова и фрагменты кода.
Для того чтобы выбрать запись в списке членов классов, можно использовать любой из символов, доступных в разделе Selection In Completion List, или нажать клавишу пробела. В заключение, как указывалось ранее, система Visual Studio автоматически выделит тот член класса в списке, который использовался последним. В языке C# можно либо отключить это свойство, либо очистить историю.
Дополнительные возможности системы IntelliSense
Кроме основных аспектов технологии IntelliSense, в системе Visual Studio 2013 реализованы также дополнительные функциональные возможности интегрированной среды разработки, которые тоже относятся к этой технологии. Эти свойства подробно обсуждаются позже, а в этой статье приводится лишь их краткое описание.
Сниппеты
Сниппеты (code snippets) — это фрагменты кода, которые можно автоматически генерировать и вставлять в свой собственный код вместе с соответствующими ссылками и директивами using, помечая переменные фразы, чтобы облегчить их замену. Для того чтобы открыть диалоговое окно Code Snippets, следует нажать клавиши , .
В поисках требуемого сниппета можно перемещаться по иерархии каталогов сниппетов. Если разработчик знает комбинацию клавиш, установленную для конкретного сниппета, он может просто нажать ее и клавишу , и система Visual Studio вставит сниппет, не открывая диалоговое окно. Мощь сниппетов будет продемонстрирована в одной из следующих статей.

Комментарии XML
Комментарии XML используются как способ автоматического документирования проектов и решений. Еще одним преимуществом использования XML-комментариев в своем коде является то, что система Visual Studio может использовать их в своей системе IntelliSense для вывода подсказок и более полной информации о параметрах, помимо простой информации о типах, как это делается в обычных пользовательских классах. Мы приведем примеры использования комментариев XML в одной из следующих статей.
Добавление собственных схем IntelliSense
Пользователь может добавить собственные схемы IntelliSense, которые бывают полезными для редактирования XML- и HTML-файлов. Для этого следует создать правильно отформатированный XML-файл и инсталлировать его в подкаталог Common7\Packages\schemas\xml каталога инсталляции системы Visual Studio (по умолчанию C:\Program Files\Microsoft Visual Studio ). Например, можно расширить возможности технологии IntelliSense для XML-редактора, включив свою собственную схему определений. Описание процесса создания таких схем, выходит за рамки нашего руководства, но о нем можно прочитать в статье «Функции IntelliSense редактора XML».
Итак, в этой и предыдущих статьях мы рассмотрели систему IntelliSense. Функциональные возможности технологии IntelliSense выходят за пределы основного окна редактирования кода. Мощь технологии IntelliSense, проявляющаяся в автоматическом дополнении инструкций и параметров, можно использовать во многих других инструментальных окнах, например Command и Immediate. Любые ключевые слова и даже переменные и объекты, известные в текущем контексте на протяжении сессии отладки, могут быть найдены с помощью списка членов классов IntelliSense. Технология IntelliSense во всех ее проявлениях значительно повышает эффективность работы системы Visual Studio по сравнению с большинством других доступных инструментов. Постоянно отслеживания нажатия клавиш, чтобы обеспечить обратную визуальную связь или автоматическое дополнение и генерацию кода, система IntelliSense позволяет разработчикам исключительно быстро, эффективно и правильно набирать программы с первой попытки.
Поиск в Visual Studio
В интегрированной среде разработки (IDE) Visual Studio представлено множество меню, параметров и функций, которые не всегда легко запомнить. Функция поиска в Visual Studio реализована в виде единого поля, с помощью которого разработчики могут находить меню и параметры интегрированной среды разработки, а также выполнять поиск в коде. Благодаря ей начинающие и опытные разработчики, использующие Visual Studio, смогут легко находить нужные элементы интегрированной среды разработки и фрагменты кода.
Поиск в Visual Studio 2022 версии 17.6 или более поздней
Если вы используете Visual Studio 2022 версии 17.6 или более поздней версии, у вас есть доступ к новому интерфейсу поиска: все в одном поиске.
Сведения о интерфейсе поиска «все в одном»
При использовании «Все в одном поиске» вы можете искать функции, но и выполнять поиск элементов кода.

Чтобы включить эту функцию, перейдите в раздел > «Параметры параметров>среды> предварительной версии» новые возможности> поиска Visual Studio.

После включения всех встроенных и перезапуска Visual Studio новый интерфейс поиска отображается в виде параметра рядом с строкой меню.

Сочетания клавиш для поиска
Вы можете использовать сочетание клавиш CTRL+Q для поиска функций и сочетания клавиш CTRL+T для поиска кода.
Фильтры для запросов
Чтобы быстро получить отфильтрованный интерфейс, можно ввести соответствующие префиксы перед запросом или использовать соответствующие сочетания клавиш, чтобы открыть поиск с нужным фильтром.
| Фильтр | Префикс | Сочетания клавиш |
|---|---|---|
| files | f: | Ctrl+Shift+T |
| типов объектов | t: | CTRL+1, CTRL+T |
| members | m: | Alt+\ |
Дополнительные сведения о новом интерфейсе поиска см. в статье » Лучший поиск» в Visual Studio и «Все в одном поиске», доступные в блоге 17.6 .
Поиск в Visual Studio 2022 версии 17.5 или более ранней версии
В следующих разделах рассматриваются различные типы результатов поиска, которые можно найти, если вы используете Visual Studio 2022 версии 17.5 или более ранней версии (для включения Visual Studio 2019).
В отличие от других функций поиска, таких как поиск в файлах или поиске Обозреватель решений, результаты поиска в Visual Studio включают функции интегрированной среды разработки, параметры меню, имена файлов и многое другое. Чтобы получить доступ к нему, используйте сочетание клавиш CTRL +Q для просмотра поля поиска. Или выберите поле ввода поиска Visual Studio, которое находится рядом с строкой меню:
Команда, выполняемая поиском Visual Studio, — это Window.QuickLaunch функция, называемая кратким поиском или кратким запуском.
Поиск меню, параметров и окон
Поле поиска Visual Studio можно использовать для поиска настроек, параметров и других элементов конфигурации. Например, поиск по фразе изменить тему позволяет быстро найти и открыть диалоговое окно, в котором можно изменить цветовую тему Visual Studio, как показано на следующем снимке экрана.

В большинстве случаев функция поиска в Visual Studio также будет предлагать сведения о меню, сочетаниях клавиш и расположении каждого элемента, представленного в результатах.
В поле поиска Visual Studio также можно искать команды и пункты меню. Например, чтобы быстро найти и выполнить команду «Очистить решение», введите в поле поиска очистить реш. В результатах поиска также приводятся сведения о том, где можно найти эту команду в меню, как показано на следующем снимке экрана.

Наконец, можно искать окна или панели, которые могут быть случайно закрыты. Например, чтобы найти и открыть окно обозревателя тестов, введите в поле поиска слово тест.

Поиск файлов и кода
Функция поиска в Visual Studio также позволяет находить элементы решения по имени файла, коду, методу и другим совпадениям. На следующем снимке экрана в результате поиска по слову markdown были найдены файл MarkdownMetaExtractor.cs, класс MarkdownMetaExtractor и два метода в решении.

Можно также выполнить поиск с использованием верблюжьего стиля. На следующем снимке экрана показаны результаты поиска по запросу FSS, которые включают файл, класс и метод FolderSizeScanner.

Сочетания клавиш для результатов поиска
Результаты поиска включают вкладки для all, Code, Visual Studio. Вы можете сэкономить время, используя следующие сочетания клавиш для различных типов поиска:
Связанный контент
- Команды Visual Studio
- Сочетания клавиш в Visual Studio




