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


Функции IntelliSense Visual C++

IntelliSense — это имя, заданное набору функций, которые упрощают написание кода. IntelliSense для C++ доступен для автономных файлов, а также для файлов, входящих в проект C++. В кроссплатформенных проектах некоторые функции IntelliSense доступны в .cpp и C-файлах в проекте общего кода, даже если вы находитесь в контексте Android или iOS.

В этой статье представлен обзор функций IntelliSense на C++ . Сведения о настройке проекта для IntelliSense и устранении неполадок см. в статье "Настройка проекта C++ для IntelliSense".

Функции IntelliSense в C++

IntelliSense — это имя, заданное набору функций, которые упрощают написание кода. Так как разные люди имеют разные идеи о том, что удобно, практически все функции IntelliSense могут быть включены или отключены в диалоговом окне "Параметры " в разделе "Текстовый редактор>C/C++>Advanced". Диалоговое окно "Параметры" доступно в меню "Сервис " в строке меню.

Диалоговое окно

Элементы меню и сочетания клавиш, показанные на следующем рисунке, можно использовать для доступа к IntelliSense.

Меню IntelliSense

Завершение выражений и список элементов

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

Окно

При первом вызове списка участников отображаются только элементы, доступные для текущего контекста. При нажатии Ctrl+J после этого отображаются все члены независимо от уровня доступа. При вызове его в третий раз отображается еще более широкий список элементов программы. Список элементов можно отключить в диалоговом окне "Параметры" в разделе "Текстовый редактор>C/C++>Общие>элементы списка авто".

Список членов Visual C++

Справка по параметру

При вводе открывающей фигурной скобки для вызова функции или угловой скобки при объявлении переменной шаблона класса, редактор отображает небольшое окно с типами параметров для каждой перегрузки функции или конструктора. Параметр current (на основе расположения курсора) выделен полужирным шрифтом. Сведения о параметрах можно отключить в диалоговом окне "Параметры " в разделе "Текстовый редактор>C/C++>Общие>параметры".

Справка по параметру Visual C++

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

При наведении указателя мыши на переменную отображается небольшое окно, в котором отображаются сведения о типе и заголовок, в котором определен тип. Наведите указатель мыши на вызов функции, чтобы просмотреть подпись функции. В диалоговом окне "Параметры " можно отключить краткие сведения в текстовом редакторе>C/C++>Advanced>Auto Quick Info.

Краткое руководство по Visual C++

Волнистые подчеркивания ошибок

Squiggles под элементом программы (переменная, ключевое слово, фигурные скобки, имя типа и т. д.) привлекают ваше внимание к ошибке или потенциальной ошибке в коде. При написании предварительного объявления отображается зеленая волнистая линия, чтобы напомнить вам, что вам по-прежнему нужно написать реализацию. Фиолетовая волнистая линия появляется в общем проекте, если в коде, который в данный момент не активен, например, когда вы работаете в контексте Windows, но вводите что-то, что станет ошибкой в контексте Android. Красная волнистая стрелка указывает на ошибку компилятора или предупреждение в активном коде, с которым необходимо справиться.

Ошибки Visual C++

Цвет кода и шрифты

Цвета и шрифты по умолчанию можно изменить в диалоговом окне "Параметры" в разделе "Шрифты и цвета>". Здесь можно изменить шрифты для многих окон пользовательского интерфейса, а не только редактор. Параметры, относящиеся к C++, начинаются с "C++"; Другие параметры предназначены для всех языков.

Кроссплатформенная технология IntelliSense

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

Рассмотрим приложение OpenGLES, настроенное для сборки для Android и iOS. На рисунке показан редактируемый общий код. На этом изображении активный проект — iOS.StaticLibrary:

IOS выбран в качестве активного проекта.

Обратите внимание на следующее:

  • Ветвь #ifdef в строке 6 выделена серым цветом, чтобы указать, что она неактивна, так как __ANDROID__ не определен для проекта iOS.

  • Переменная приветствия в строке 11 инициализирована с идентификатором HELLO, который теперь имеет красный волнистый элемент. Это связано с тем, что идентификатор HELLO в настоящее время не определен в активном проекте iOS.

  • Строка 12 имеет фиолетовую волнистую линию под идентификатором BYE, потому что этот идентификатор не определен в (в данный момент) неактивном проекте Android.NativeActivity. Несмотря на то, что эта строка компилируется, когда iOS является активным проектом, он не будет компилироваться, когда Android является активным проектом. Так как это общий код, следует исправить код, даже если он компилируется в текущей активной конфигурации.

Если вы измените активный проект на Android, волнистые подчёркивания изменятся:

  • Ветвь #else в строке 8 серым цветом помечена, чтобы показать неактивный регион, так как __ANDROID__ определен для проекта Android.

  • Переменная приветствия в строке 11 инициализирована с идентификатором HELLO, который выделен фиолетовой волнистой линией. Это связано с тем, что идентификатор HELLO не определён в iOS проекте, который в настоящее время неактивен.

  • Строка 12 имеет красную волнистую линию подчеркивания на идентификаторе BYE, так как этот идентификатор не определен в активном проекте.

IntelliSense для автономных файлов

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

Intellisense для одного файла Visual C++

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

Добавление пути к файлу заголовка.

Включение или отключение функций

Так как разные люди имеют разные идеи о том, что удобно, практически все функции IntelliSense могут быть включены или отключены в диалоговом окне "Параметры " в разделе "Текстовый редактор>C/C++>Advanced". Диалоговое окно "Параметры" доступно в меню "Сервис " в строке меню.

Диалоговое окно