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


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

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

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

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

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

В области "Параметры" разверните раздел Все параметры>Языки>C/C++>IntelliSense.

Снимок экрана: параметры IntelliSense для C++ в диалоговом окне

В диалоговом окне "Параметры" разверните раздел "Текстовый редактор>C/C++>IntelliSense ".

Снимок экрана: параметры IntelliSense для C++ в диалоговом окне

Элементы меню и сочетания клавиш, показанные на следующем рисунке, можно использовать для доступа к 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 для одного файла использует только стандартные каталоги включения для поиска файлов заголовков. Чтобы добавить дополнительные каталоги, откройте контекстное меню на узле решения и добавьте каталог в список отладочного исходного кода , как показано на следующем рисунке:

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