Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
IntelliSense — это имя, заданное набору функций, которые упрощают написание кода. IntelliSense для C++ доступен для автономных файлов и файлов, входящих в проект C++. В кроссплатформенных проектах некоторые функции IntelliSense доступны в .cpp и C-файлах в проекте общего кода, даже если вы находитесь в контексте Android или iOS.
В этой статье представлен обзор функций IntelliSense на C++ . Сведения о настройке проекта для IntelliSense и устранении неполадок см. в статье "Настройка проекта C++ для IntelliSense".
Функции IntelliSense в C++
IntelliSense — это имя, заданное набору функций, которые упрощают написание кода. Практически все функции IntelliSense можно включить или отключить, выбравпункт "Параметры>" в строке меню.
В области "Параметры" разверните раздел Все параметры>Языки>C/C++>IntelliSense.
В диалоговом окне "Параметры" разверните раздел "Текстовый редактор>C/C++>IntelliSense ".
Элементы меню и сочетания клавиш, показанные на следующем рисунке, можно использовать для доступа к IntelliSense.
Завершение выражений и список элементов
При вводе ключевого слова, типа, функции, имени переменной или другого элемента программы, распознаваемого компилятором, редактор предлагает дополнить слово.
При первом вызове списка участников отображаются только элементы, доступные для текущего контекста. При нажатии Ctrl+J после этого отображаются все члены независимо от уровня доступа. При вызове его в третий раз отображается еще более широкий список элементов программы. Список элементов можно отключить в диалоговом окне "Параметры" в разделе "Текстовый редактор>C/C++>Общие>элементы списка авто".
Справка по параметру
При вводе открывающей фигурной скобки для вызова функции или угловой скобки при объявлении переменной шаблона класса, редактор отображает небольшое окно с типами параметров для каждой перегрузки функции или конструктора. Параметр current (на основе расположения курсора) выделен полужирным шрифтом. Сведения о параметрах можно отключить в диалоговом окне "Параметры " в разделе "Текстовый редактор>C/C++>Общие>параметры".
Краткие сведения
При наведении указателя мыши на переменную отображается небольшое окно, в котором отображаются сведения о типе и заголовок, в котором определен тип. Наведите указатель мыши на вызов функции, чтобы просмотреть подпись функции. В диалоговом окне "Параметры " можно отключить краткие сведения в текстовом редакторе>C/C++>Advanced>Auto Quick Info.
Волнистые подчеркивания ошибок
Squiggles под элементом программы (переменная, ключевое слово, фигурные скобки, имя типа и т. д.) привлекают ваше внимание к ошибке или потенциальной ошибке в коде. При написании предварительного объявления отображается зеленая волнистая линия, чтобы напомнить вам, что вам по-прежнему нужно написать реализацию. Фиолетовая волнистая линия появляется в общем проекте, когда имеется ошибка в коде, который не активен в текущем контексте. Например, если вы работаете в контексте Windows и вводите что-то, что будет ошибкой в контексте Android. Красная волнистая стрелка указывает на ошибку компилятора или предупреждение в активном коде, с которым необходимо справиться.
Цвет кода и шрифты
Цвета и шрифты по умолчанию можно изменить в диалоговом окне "Параметры" в разделе "Шрифты и цвета>". Здесь можно изменить шрифты для многих окон пользовательского интерфейса, а не только редактор. Параметры, относящиеся к C++, начинаются с "C++"; Другие параметры предназначены для всех языков.
Кроссплатформенная технология IntelliSense
В проекте общего кода некоторые функции IntelliSense, такие как волнистые линии, доступны даже при работе в среде Android. Если вы напишете код, который вызовет ошибку в неактивном проекте, IntelliSense все равно отображает подчеркивания, но они имеют другой цвет, чем подчеркивания ошибок в текущем контексте.
Рассмотрим приложение OpenGLES, настроенное для сборки для Android и iOS. На рисунке показан редактируемый общий код. На этом изображении активный проект — iOS.StaticLibrary:
Обратите внимание на следующее:
Ветвь
#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 для одного файла использует только стандартные каталоги включения для поиска файлов заголовков. Чтобы добавить дополнительные каталоги, откройте контекстное меню на узле решения и добавьте каталог в список отладочного исходного кода , как показано на следующем рисунке: