Что такое Intellisense Visual Studio
Обновлено: 24.11.2024
Списки завершения
Члены типа или пространства имен
Имена переменных, команд и функций
Фрагменты кода в списках завершения
Ключевые слова языка в списках завершения
Методы расширения в списках завершения
В списке завершения отображаются не все методы расширения для объектов String.
Методы расширения используют другой значок, чем методы экземпляра. Справочное руководство по значкам списка см. в разделе Представление классов и Значки обозревателя объектов. Когда метод экземпляра и метод расширения с одинаковыми именами находятся в области действия, в списке завершения отображается значок метода расширения.
Отфильтрованные списки завершения
Атрибуты. Когда вы применяете атрибут к типу, список завершения фильтруется таким образом, что список содержит только те типы, которые происходят из пространств имен, содержащих эти типы, например атрибут.
Поймать предложения
Инициализаторы объектов: в списке завершения отображаются только элементы, которые можно инициализировать.
новое ключевое слово: когда вы вводите новое и нажимаете пробел, появляется список завершения. Элемент автоматически выбирается в списке в зависимости от контекста в вашем коде. Например, элементы автоматически выбираются в списке завершения для объявлений и операторов return в методах.
Ключевое слово перечисления: при нажатии пробела после знака равенства для назначения перечисления появляется список завершения. Элемент автоматически выбирается в списке в зависимости от контекста в вашем коде. Например, элементы автоматически выбираются в списке завершения после того, как вы наберете ключевое слово return и сделаете заявление.
операторы as и is: отфильтрованный список завершения отображается автоматически, когда вы нажимаете пробел после ввода ключевого слова as или is.
События. Когда вы вводите ключевое слово event , список завершения содержит только типы делегатов.
Справка по параметрам автоматически сортируется по первой перегрузке метода, которая соответствует введенным параметрам. Если доступно несколько перегрузок метода, вы можете использовать стрелки вверх и вниз для перехода к следующей возможной перегрузке в списке.
Последние использованные элементы
IntelliSense запоминает элементы, которые вы недавно выбрали во всплывающем окне List Members, для автоматического завершения имени объекта. В следующий раз, когда вы будете использовать список участников, самые последние использованные элементы будут отображаться вверху. История последних использовавшихся элементов очищается между каждым сеансом Visual Studio.
переопределить
Когда вы вводите override и затем нажимаете пробел, IntelliSense отображает все допустимые члены базового класса, которые вы можете переопределить, во всплывающем списке. При вводе возвращаемого типа метода после переопределения IntelliSense предлагает отображать только те методы, которые возвращают тот же тип. Если IntelliSense не может найти совпадений, он отображает все члены базового класса.
Улучшенный AI IntelliSense
Visual Studio IntelliCode предоставляет списки завершения IntelliSense с улучшенным искусственным интеллектом. IntelliCode предсказывает наиболее вероятный правильный API для использования, а не просто представляет список элементов в алфавитном порядке. Он использует текущий контекст кода и шаблоны для предоставления динамического списка.
Автоматическая генерация кода
Добавить с помощью
Операция "Добавить с помощью IntelliSense" автоматически добавляет требуемую директиву using в файл кода. Эта функция позволяет вам сосредоточиться на коде, который вы пишете, вместо того, чтобы переключать внимание на другую часть кода.
Чтобы инициировать операцию "Добавить с помощью", поместите курсор на ссылку типа, которая не может быть разрешена. Например, когда вы создаете консольное приложение, а затем добавляете XmlReader в тело метода Main, в этой строке кода появляется красная волнистая линия, поскольку ссылка на тип не может быть разрешена. Затем вы можете вызвать добавление с помощью быстрых действий. Быстрые действия видны только тогда, когда курсор находится на несвязанном типе.
Нажмите значок лампочки ошибки, а затем выберите с помощью System.Xml; для автоматического добавления директивы using.
Добавить отсутствующие директивы using при вставке
Удалить и отсортировать использование
Параметр Remove and Sort Usings сортирует и удаляет объявления using и extern без изменения поведения исходного кода. Со временем исходные файлы могут стать раздутыми и трудными для чтения из-за ненужных и неорганизованных директив использования. Опция Remove and Sort Usings сжимает исходный код, удаляя неиспользуемые директивы using, и улучшает читаемость за счет их сортировки. В меню "Правка" выберите IntelliSense, а затем выберите "Упорядочить использование".
Реализовать интерфейс
IntelliSense позволяет реализовать интерфейс во время работы в редакторе кода. Обычно для правильной реализации интерфейса необходимо создать объявление метода для каждого члена интерфейса в вашем классе. При использовании IntelliSense после ввода имени интерфейса в объявлении класса отображается лампочка быстрых действий. Лампочка дает вам возможность реализовать интерфейс автоматически, используя явное или неявное именование. При явном именовании объявления методов содержат имя интерфейса. При неявном именовании объявления методов не указывают интерфейс, к которому они принадлежат. Доступ к явно названному методу интерфейса возможен только через экземпляр интерфейса, а не через экземпляр класса. Дополнительные сведения см. в разделе Явная реализация интерфейса.
Реализовать интерфейс создает минимальное количество заглушек методов, необходимое для удовлетворения интерфейса. Если базовый класс реализует части интерфейса, эти заглушки не создаются повторно.
Реализовать абстрактный базовый класс
IntelliSense позволяет автоматически реализовывать элементы абстрактного базового класса во время работы в редакторе кода. Обычно для реализации членов абстрактного базового класса требуется создание нового определения метода для каждого метода абстрактного базового класса в производном классе. При использовании IntelliSense после ввода имени абстрактного базового класса в объявлении класса отображается лампочка быстрых действий. Лампочка дает возможность автоматически реализовать методы базового класса.
Заглушки методов, создаваемые функцией "Реализовать абстрактный базовый класс", моделируются фрагментом кода, определенным в файле MethodStub.snippet. Фрагменты кода можно модифицировать. Дополнительные сведения см. в разделе Пошаговое руководство. Создание фрагмента кода.
Создать на основе использования
Функция "Создать на основе использования" позволяет использовать классы и члены до их определения. Вы можете создать заглушку для любого класса, конструктора, метода, свойства, поля или перечисления, которые вы хотите использовать, но еще не определили. Вы можете создавать новые типы и элементы, не выходя из текущего местоположения в коде. Это сводит к минимуму перерывы в рабочем процессе.
Под каждым неопределенным идентификатором отображается красная волнистая линия. Когда вы наводите указатель мыши на идентификатор, во всплывающей подсказке появляется сообщение об ошибке. Чтобы отобразить соответствующие параметры, вы можете использовать одну из следующих процедур:
Нажмите на неопределенный идентификатор. Под идентификатором появляется лампочка ошибки быстрых действий. Нажмите на лампочку ошибки.
Нажмите на неопределенный идентификатор и нажмите клавиши CTRL+. (Ctrl + точка).
Щелкните правой кнопкой мыши неопределенный идентификатор и выберите "Быстрые действия и рефакторинг".
Отображаемые параметры могут включать следующее:
Создать свойство
Создать поле
Создать метод
Создать класс
Создать новый тип (для класса, структуры, интерфейса или перечисления)
Создать обработчики событий
В редакторе кода IntelliSense может помочь вам подключить методы (обработчики событий) к полям событий.
При вводе оператора += после поля события в файле .cs IntelliSense предложит вам нажать клавишу Tab. Это вставляет новый экземпляр делегата, который указывает на метод, обрабатывающий событие.
Если вы нажмете клавишу Tab, IntelliSense автоматически завершит оператор и отобразит ссылку на обработчик событий в виде выделенного текста в редакторе кода. Чтобы завершить автоматическое подключение событий, IntelliSense предложит вам снова нажать клавишу Tab, чтобы создать пустую заглушку для обработчика событий.
Если новый делегат, созданный IntelliSense, ссылается на существующий обработчик событий, IntelliSense передает эту информацию во всплывающей подсказке. Затем вы можете изменить эту ссылку; текст уже выделен в редакторе кода. В противном случае автоматическое подключение событий на этом этапе завершено.
Если вы нажмете клавишу Tab, IntelliSense заглушит метод с правильной сигнатурой и поместит курсор в тело вашего обработчика событий.
Используйте команду "Перейти назад" в меню "Вид" (Ctrl+-), чтобы вернуться к оператору подключения к событию.
IntelliSense — это общий термин, обозначающий различные функции редактирования кода, включая завершение кода, информацию о параметрах, краткую информацию и списки участников. Функции IntelliSense иногда называют другими именами, такими как "завершение кода", "помощь по содержимому" и "подсказка по коду".
IntelliSense для вашего языка программирования
Visual Studio Code IntelliSense предоставляется по умолчанию для JavaScript, TypeScript, JSON, HTML, CSS, SCSS и Less. VS Code поддерживает автодополнение на основе слов для любого языка программирования, но его также можно настроить на более богатую технологию IntelliSense, установив языковое расширение.
Ниже приведены самые популярные языковые расширения в Marketplace.Выберите плитку расширения ниже, чтобы прочитать описание и отзывы, чтобы решить, какое расширение лучше всего подходит для вас.
Функции IntelliSense
Функции VS Code IntelliSense поддерживаются языковой службой. Языковая служба обеспечивает интеллектуальное завершение кода на основе языковой семантики и анализа исходного кода. Если языковая служба знает возможные варианты завершения, предложения IntelliSense будут появляться по мере ввода. Если вы продолжаете вводить символы, список членов (переменных, методов и т. д.) фильтруется и включает только элементы, содержащие введенные вами символы. Нажатие Tab или Enter вставит выбранный элемент.
Вы можете активировать IntelliSense в любом окне редактора, введя ⌃Пробел (Windows, Linux Ctrl+Space ) или введя символ запуска (например, символ точки ( . ) в JavaScript).
Совет. Виджет предложений поддерживает фильтрацию CamelCase, то есть вы можете вводить буквы в верхнем регистре в имени метода, чтобы ограничить количество предложений. Например, "cra" быстро вызовет "createApplication".
При желании вы можете отключить IntelliSense во время ввода. См. раздел Настройка IntelliSense ниже, чтобы узнать, как отключить или настроить функции IntelliSense VS Code.
Согласно языковой службе, вы можете просмотреть краткую информацию для каждого метода, нажав ⌃Пробел (Windows, Linux Ctrl+Пробел ) или щелкнув значок информации. Сопроводительная документация к методу теперь развернется в сторону. Расширенная документация останется прежней и будет обновляться по мере навигации по списку. Вы можете закрыть это, снова нажав ⌃Пробел (Windows, Linux Ctrl+Пробел) или щелкнув значок закрытия.
После выбора метода вам предоставляется информация о параметрах.
Когда применимо, языковая служба покажет базовые типы в кратких сведениях и сигнатурах методов. На изображении выше вы можете увидеть несколько любых типов. Поскольку JavaScript динамичен и не требует типов и не принуждает их к принудительному исполнению, любой предполагает, что переменная может быть любого типа.
Типы завершения
Приведенный ниже код JavaScript иллюстрирует завершение IntelliSense. IntelliSense предоставляет как предполагаемые предложения, так и глобальные идентификаторы проекта. Выведенные символы представлены первыми, за ними следуют глобальные идентификаторы (показаны значком Word).
VS Code IntelliSense предлагает различные типы автозавершений, в том числе предложения языкового сервера, фрагменты и простые текстовые автодополнения на основе слов.
Методы и функции | метод, функция, конструктор |
Переменные | < td>variable|
Поля | field |
Параметры типа | typeParameter |
Константы | константа |
Классы | класс |
Интерфейсы | интерфейс |
Структуры | struct |
События | событие |
Операторы | оператор |
module | |
Свойства и атрибуты | property |
Значения и перечисления | значение, перечисление |
Ссылки | ссылка |
Ключевые слова | ключевое слово |
Файлы | файл |
Папки | папка |
Цвета | цвет |
Единица измерения | блок |
Префиксы сниппета | фрагмент |
Слова | текст |
Настройка IntelliSense
Вы можете настроить работу IntelliSense в настройках и привязках клавиш.
Настройки
Параметры, показанные ниже, являются настройками по умолчанию. Вы можете изменить эти настройки в файле settings.json, как описано в разделе Параметры пользователя и рабочей области.
Завершение вкладок
Редактор поддерживает "завершение с помощью табуляции", которое вставляет наиболее подходящее завершение при нажатии Tab . Это работает независимо от того, отображается виджет предложения или нет. Кроме того, нажатие Tab после вставки предложения вставит следующее лучшее предложение.
По умолчанию завершение с помощью табуляции отключено. Используйте параметр editor.tabCompletion, чтобы включить его. Эти значения существуют:
- off — (по умолчанию) завершение с помощью табуляции отключено.
- on – завершение с помощью табуляции включено для всех предложений, а повторные вызовы вставляют следующее наилучшее предложение.
- onlySnippets — автодополнение с помощью табуляции вставляет только статические фрагменты, префикс которых совпадает с префиксом текущей строки.
Бонус за местоположение
Сортировка предложений зависит от информации о расширении и от того, насколько точно они соответствуют текущему слову, которое вы вводите. Кроме того, вы можете попросить редактора повысить предложения, которые появляются ближе к положению курсора, используя editor.suggest.Настройка localityBonus.
На приведенных выше изображениях видно, что count , context и colocated отсортированы по областям, в которых они появляются (цикл, функция, файл).
Выбор предложения
По умолчанию VS Code предварительно выбирает ранее использовавшееся предложение в списке предложений. Это очень удобно, так как вы можете быстро вставить одно и то же завершение несколько раз. Если вы хотите изменить поведение, например всегда выбирать верхний элемент в списке предложений, вы можете использовать параметр editor.suggestSelection.
- сначала — всегда выбирайте самый верхний элемент списка.
- recentUsed — (по умолчанию) выбирается ранее использовавшийся элемент, если префикс (тип для выбора) не выбирает другой элемент.
- recentUsedByPrefix — выберите элементы на основе предыдущих префиксов, которые завершили эти предложения.
"Введите для выбора" означает, что текущий префикс (примерно текст слева от курсора) используется для фильтрации и сортировки предложений. Когда это происходит и когда его результат отличается от результата недавно использованного, ему будет отдан приоритет.
При использовании последней опции, недавноUsedByPrefix , VS Code запоминает, какой элемент был выбран для определенного префикса (частичный текст). Например, если вы набрали co, а затем выбрали console, в следующий раз, когда вы наберете co, консоль предложений будет выбрана заранее. Это позволяет быстро сопоставлять различные префиксы с различными предложениями, например, co -> console и con -> const .
Фрагменты в предложениях
По умолчанию VS Code показывает фрагменты кода и варианты завершения в одном виджете. Вы можете управлять поведением с помощью параметра editor.snippetSuggestions. Чтобы удалить фрагменты из виджета предложений, установите значение «none» . Если вы хотите видеть фрагменты, вы можете указать порядок относительно предложений; вверху ("top"), внизу ("bottom") или в строке в алфавитном порядке ("inline"). По умолчанию используется "встроенный" .
Привязки клавиш
Привязки клавиш, показанные ниже, являются привязками клавиш по умолчанию. Вы можете изменить их в файле keybindings.json, как описано в разделе «Привязки клавиш».
Примечание. Существует гораздо больше привязок клавиш, связанных с IntelliSense. Откройте «Сочетания клавиш по умолчанию» («Файл» > «Настройки» > «Сочетания клавиш») и найдите «предложить».
Устранение неполадок
Если вы обнаружите, что IntelliSense перестала работать, возможно, языковая служба не запущена. Попробуйте перезапустить VS Code, и это должно решить проблему. Если вам по-прежнему не хватает функций IntelliSense после установки языкового расширения, откройте проблему в репозитории языкового расширения.
Совет. Для настройки и устранения неполадок JavaScript IntelliSense см. документацию по JavaScript.
Определенное языковое расширение может не поддерживать все функции VS Code IntelliSense. Просмотрите README расширения, чтобы узнать, что поддерживается. Если вы считаете, что с расширением языка есть проблемы, вы обычно можете найти репозиторий проблем для расширения через VS Code Marketplace. Перейдите на страницу сведений о расширении и выберите ссылку "Поддержка".
Дальнейшие шаги
-
- Получите максимальную отдачу от разработки JavaScript, включая настройку IntelliSense. - См. пример IntelliSense в действии в пошаговом руководстве по Node.js. - Узнайте, как настроить отладку для вашего приложения. - Узнайте, как создавать расширения, добавляющие IntelliSense для новых языков программирования.
Частые вопросы
Почему я не получаю предложений?
Это может быть вызвано разными причинами. Во-первых, попробуйте перезапустить VS Code. Если проблема не устранена, обратитесь к документации расширения языка. Информацию об устранении неполадок, связанных с JavaScript, см. в разделе, посвященном языку JavaScript.
Почему я не вижу предложенных методов и переменных?
Эта проблема вызвана отсутствием файлов объявления типа (типизации) в JavaScript. Вы можете проверить, доступен ли пакет файла объявления типа для конкретной библиотеки, используя сайт TypeSearch. Дополнительную информацию об этой проблеме можно найти в разделе о языке JavaScript. Для других языков см. документацию по расширению.
IntelliSense – это средство для завершения кода, включающее ряд функций: список элементов, сведения о параметрах, краткая информация и полное слово.Эти функции помогают узнать больше об используемом коде, отслеживать вводимые параметры и добавлять вызовы свойств и методов всего несколькими нажатиями клавиш.
Многие аспекты IntelliSense зависят от языка. Дополнительные сведения об IntelliSense для разных языков см. в темах, перечисленных в разделе См. также.
Список участников
Список допустимых членов типа (или пространства имен) появляется после ввода символа триггера (например, точки ( . ) в управляемом коде или :: в C++). Если вы продолжаете вводить символы, список фильтруется и включает только те элементы, которые начинаются с этих символов или где начало любого слова в имени начинается с этих символов. IntelliSense также выполняет сопоставление в верблюжьем регистре, поэтому вы можете просто ввести первую букву каждого слова в верблюжьем регистре в имени члена, чтобы увидеть совпадения.
Выбрав элемент, вы можете вставить его в свой код, нажав клавишу Tab или введя пробел. Если вы выберете элемент и наберете точку, после элемента появится точка, которая вызовет другой список участников. Когда вы выбираете элемент, но перед тем, как вставить его, вы получаете краткую информацию об элементе.
В списке элементов значок слева представляет тип члена, например пространство имен, класс, функцию или переменную. Список значков см. в разделе Представление классов и Значки обозревателя объектов. Список может быть довольно длинным, поэтому вы можете нажимать PgUp и PgDn для перемещения вверх или вниз по списку.
Вы можете вызвать функцию List Members вручную, нажав Ctrl+J, выбрав Edit > IntelliSense > List Members или нажав кнопку List Members на панели инструментов редактора. Когда он вызывается на пустой строке или за пределами распознаваемой области, список отображает символы в глобальном пространстве имен.
Чтобы отключить элементы списка по умолчанию (чтобы они не отображались, если их не вызвать специально), перейдите в раздел Инструменты > Параметры > Все языки и снимите флажок Автосписок членов. Если вы хотите отключить участников списка только для определенного языка, перейдите к общим настройкам для этого языка.
Вы также можете перейти в режим предложения, в котором в код вставляется только введенный вами текст. Например, если вы введете идентификатор, которого нет в списке, и нажмете Tab, в режиме завершения запись заменит введенный идентификатор. Чтобы переключиться между режимом завершения и режимом предложения, нажмите Ctrl+Alt+Пробел или выберите «Правка» > IntelliSense > «Переключить режим завершения».
Информация о параметрах
Параметр, выделенный жирным шрифтом, указывает следующий параметр, который требуется при вводе функции. Для перегруженных функций можно использовать клавиши со стрелками вверх и вниз для просмотра информации об альтернативных параметрах перегруженных функций.
Когда вы аннотируете функции и параметры комментариями XML-документации, комментарии будут отображаться как информация о параметрах. Дополнительные сведения см. в разделе Предоставление комментариев к XML-коду.
Вы можете вручную вызвать информацию о параметрах, выбрав «Правка» > IntelliSense > «Информация о параметрах», нажав Ctrl+Shift+Пробел или нажав кнопку «Информация о параметрах» на панели инструментов редактора.
Краткая информация
Краткая информация отображает полное объявление любого идентификатора в вашем коде.
При выборе участника из списка участников также появляется краткая информация.
Краткую информацию можно вызвать вручную, выбрав «Правка» > IntelliSense > «Краткая информация», нажав Ctrl+K, Ctrl+I или выбрав кнопку «Краткая информация» на панели инструментов редактора.
Если функция перегружена, IntelliSense может отображать информацию не для всех форм перегрузки.
Вы можете отключить краткую информацию для кода C++, выбрав Инструменты > Параметры > Текстовый редактор > C/C++ > Дополнительно и установив для параметра Auto Quick Info значение false .
Завершить слово
Complete Word завершает остальную часть имени переменной, команды или функции после того, как вы введете достаточно символов, чтобы устранить неоднозначность термина. Вы можете вызвать Complete Word, выбрав Edit > IntelliSense > Complete Word, нажав Ctrl+Пробел или выбрав кнопку Complete Word на панели инструментов редактора.
Параметры IntelliSense
Параметры IntelliSense включены по умолчанию. Чтобы отключить их, выберите «Инструменты» > «Параметры» > «Текстовый редактор» и снимите флажок «Информация о параметрах» или «Автоматический список членов», если вам не нужна функция «Список членов».
Значки IntelliSense
Значки в IntelliSense могут придавать дополнительное значение с помощью модификаторов значков.Это звездочки, сердечки и замки, расположенные поверх значка объекта, обозначающие защищенный, внутренний или личный соответственно.
Устранение неполадок IntelliSense
В некоторых случаях параметры IntelliSense могут работать не так, как вы ожидаете.
Курсор находится ниже кода ошибки. Возможно, вы не сможете использовать IntelliSense, если в коде над курсором существует незавершенная функция или другая ошибка, поскольку IntelliSense может не проанализировать элементы кода. Вы можете решить эту проблему, закомментировав соответствующий код.
Курсор находится в комментарии к коду. Вы не можете использовать IntelliSense, если курсор находится в комментарии в исходном файле.
Курсор находится в строковом литерале. Вы не можете использовать IntelliSense, если курсор находится в кавычках вокруг строкового литерала, как в следующем примере:
Автоматические параметры отключены. По умолчанию IntelliSense работает автоматически, но вы можете отключить его. Даже если автоматическое завершение операторов отключено, вы можете активировать функцию IntelliSense.
IntelliSense – это набор функций, упрощающих программирование. IntelliSense для C++ доступен как для отдельных файлов, так и для файлов, являющихся частью проекта C++. В кроссплатформенных проектах некоторые функции IntelliSense доступны в файлах .cpp и .c в проекте с общим кодом, даже если вы работаете в контексте Android или iOS.< /p>
В этой статье представлен обзор функций C++ IntelliSense. Сведения о настройке проекта для IntelliSense и устранении неполадок см. в разделе Настройка проекта C++ для IntelliSense.
Функции IntelliSense в C++
IntelliSense – это набор функций, упрощающих программирование. Поскольку у разных людей разные представления об удобстве, практически все функции IntelliSense можно включить или отключить в диалоговом окне «Параметры» в разделе «Текстовый редактор» > «C/C++» > «Дополнительно». Диалоговое окно «Параметры» доступно из меню «Инструменты» в строке меню.
Для доступа к IntelliSense можно использовать элементы меню и сочетания клавиш, показанные на следующем рисунке.
Завершение операторов и список участников
Когда вы начинаете вводить ключевое слово, тип, функцию, имя переменной или другой элемент программы, распознаваемый компилятором, редактор предлагает дополнить слово за вас.
Список значков и их значения см. в разделе Значки представления класса и обозревателя объектов.
При первом вызове списка участников отображаются только те элементы, которые доступны для текущего контекста. Если после этого вы нажмете Ctrl+J, будут показаны все участники независимо от доступности. Если вы вызываете его в третий раз, отображается еще более широкий список элементов программы. Вы можете отключить список участников в диалоговом окне «Параметры» в разделе «Текстовый редактор» > «C/C++» > «Общие» > «Автоматический список участников».
Справка по параметрам
Когда вы вводите открывающую фигурную скобку вызова функции или угловую скобку в объявлении переменной шаблона класса, редактор показывает небольшое окно с типами параметров для каждой перегрузки функции или конструктора. «Текущий» параметр, основанный на местоположении курсора, выделен жирным шрифтом. Вы можете отключить информацию о параметрах в диалоговом окне "Параметры", выбрав "Текстовый редактор" > "C/C++" > "Общие" > "Информация о параметрах".
Краткая информация
При наведении курсора мыши на переменную появляется встроенное небольшое окно, в котором отображается информация о типе и заголовок, в котором определяется тип. Наведите указатель мыши на вызов функции, чтобы увидеть сигнатуру функции. Вы можете отключить краткую информацию в диалоговом окне «Параметры» в разделе «Текстовый редактор» > «C/C++» > «Дополнительно» > «Автоматическая краткая информация».
Ошибка волнистых линий
Загогулины под элементом программы (переменная, ключевое слово, фигурная скобка, имя типа и т. д.) привлекают ваше внимание к ошибке или потенциальной ошибке в коде. Когда вы пишете предварительное объявление, появляется зеленая волнистая линия, чтобы напомнить вам, что вам все еще нужно написать реализацию.Фиолетовая волнистая линия появляется в общем проекте, если в коде, который в данный момент не активен, есть ошибка, например, когда вы работаете в контексте Windows, но вводите что-то, что было бы ошибкой в контексте Android. Красная волнистая линия указывает на ошибку компилятора или предупреждение в активном коде, с которым вам нужно разобраться.
Цвет кода и шрифты
Цвета и шрифты по умолчанию можно изменить в диалоговом окне «Параметры» в разделе «Среда» > «Шрифты и цвета». Здесь вы можете изменить шрифты для многих окон пользовательского интерфейса, а не только для редактора. Параметры, специфичные для C++, начинаются с «C++»; остальные настройки предназначены для всех языков.
Кроссплатформенный IntelliSense
В проекте с общим кодом некоторые функции IntelliSense, такие как волнистые линии, доступны даже при работе в контексте Android. Если вы напишите код, который приведет к ошибке в неактивном проекте, IntelliSense по-прежнему будет отображать волнистые линии, но они будут другого цвета, чем волнистые линии для ошибок в текущем контексте.
Рассмотрите приложение OpenGLES, настроенное для сборки для Android и iOS. На рисунке показан редактируемый общий код. На этом изображении активным проектом является iOS.StaticLibrary:
Обратите внимание на следующее:
Переменная приветствия в строке 11 инициализируется идентификатором HELLO , который теперь имеет красную волнистую линию. Это связано с тем, что в текущем активном проекте iOS не определен идентификатор HELLO.
В строке 12 идентификатор BYE выделен фиолетовой волнистой линией, поскольку этот идентификатор не определен в (в настоящее время) неактивном проекте Android.NativeActivity. Несмотря на то, что эта строка компилируется, когда активным проектом является iOS, она не будет компилироваться, когда активным проектом является Android. Поскольку это общий код, его следует исправить, даже если он компилируется в текущей активной конфигурации.
Если вы измените активный проект на Android, волнистые линии изменятся:
Переменная приветствия в строке 11 инициализируется идентификатором HELLO , который имеет фиолетовую волнистую форму. Это связано с тем, что в неактивном в данный момент проекте iOS не определен идентификатор HELLO.
В строке 12 идентификатор BYE отмечен красной волнистой линией, поскольку этот идентификатор не определен в активном проекте.
IntelliSense для отдельных файлов
Когда вы открываете один файл вне какого-либо проекта, вы по-прежнему получаете IntelliSense. Вы можете включить или отключить определенные функции IntelliSense в диалоговом окне «Параметры» в разделе «Текстовый редактор» > «C/C++» > «Дополнительно». Чтобы настроить IntelliSense для отдельных файлов, не являющихся частью проекта, найдите раздел IntelliSense и поиск файлов, не входящих в проект.
По умолчанию IntelliSense для одного файла использует только стандартные включаемые каталоги для поиска файлов заголовков. Чтобы добавить дополнительные каталоги, откройте контекстное меню в узле "Решение" и добавьте свой каталог в список исходного кода отладки, как показано на следующем рисунке:
Включить или отключить функции
Поскольку у разных людей разные представления об удобстве, практически все функции IntelliSense можно включить или отключить в диалоговом окне "Параметры" в разделе "Текстовый редактор" > "C/C++" > "Дополнительно". Диалоговое окно «Параметры» доступно из меню «Инструменты» в строке меню.
Читайте также: