Функция IntelliSense не распознает макросы и функции Unreal Engine.Visual Assist это делает.

Visual Assist добавляет в Visual Studio интеллектуальную подсказку IntelliSense, навигацию и рефакторинг, учитывающие особенности Unreal Engine, — при этом корректно работает с макросами UCLASS, UFUNCTION и другими макросами UE, где встроенный парсер дает сбой.

Попробуйте полнофункциональную пробную версию Visual Assist в течение 30 дней. После покупки переустановка или перенастройка не требуются.

Visual Studio против Visual Assist

Избавьтесь от ложных ошибок и корректно анализируйте код Unreal Engine.

Это обычный класс Unreal. Он использует макросы UCLASS, UPROPERTY и UFUNCTION — макросы, на которых построен код Unreal. Слева встроенная функция IntelliSense в Visual Studio помечает корректный код как некорректный. Справа Visual Assist считывает те же макросы, поэтому ваш код остается чистым, и вы можете свободно в нем работать.

Visual Studio · IntelliSense only as shipped
UE bad
Visual Studio · with Visual Assist parsed
UE good
Одни и те же двенадцать строк, прочитанные двумя способами. Функция IntelliSense в Visual Studio не понимает GENERATED_BODY()компонент движения, поэтому она подкладывает красные волнистые линии под корректный код — три ложные ошибки, прежде чем вы что-либо наберете. Visual Assist считывает макросы Unreal, правильно раскрашивает типы и обеспечивает корректную работу функций «Перейти к определению», «Найти ссылки» и «Переименовать».
С помощью Visual Assist

Автозавершение спецификаторов макросов, встроенное

Начните вводить текст внутри оператора `<p>` UPROPERTY(или `<p>`, UFUNCTION(и Visual Assist покажет доступные спецификаторы, каждый с кратким описанием его назначения. Больше не нужно копаться в документации Epic, чтобы вспомнить, используется ли `<p>` EditAnywhereили `<p>` EditDefaultsOnly. Visual Studio ничего здесь не показывает, потому что параметры находятся внутри макроса, который она не читает.

ОБЪЕКТ НЕДВИЖИМОСТИ ( Редактировать │)
Λ VA · Спецификаторы свойств
Благодаря функции EditAnywhere, редактирование возможно в редакторе + PIE
S EditDefaultsOnly archetype only
S EditInstanceOnly только экземпляры
S VisibleAnywhere только для чтения в редакторе
S BlueprintReadWrite получить + установить в BP
Параметры находятся прямо внутри макроса. Visual Assist предлагает варианты, которые вы можете использовать по мере ввода, с однострочной примечанием к каждому из них.
Бок о бок

Unreal Engine C++, пошаговое описание функций

Что меняется, когда Visual Assist считывает ваш проект Unreal, по сравнению со встроенной в Visual Studio функцией IntelliSense?

Visual Studio IntelliSense против Visual Assist — Unreal Engine C++
Задача Только функция IntelliSense в Visual Studio Visual Studio с Visual Assist
Поддержка макросов UE
: UCLASS · UFUNCTION · UPROPERTY · USTRUCT
Выдает ошибки в макросах Unreal Engine и сгенерированном .generated.hфайле. Часто помечает правильный код как неправильный. Считывает макросы Unreal напрямую, поэтому ваши объявления отображаются корректно.
Перейти к определению Часто дает сбои в коде, генерируемом макросами, и ситуация ухудшается в крупных проектах. Сразу переходит к определению, даже для кода, который добавляют макросы.
Найти ссылки Использует скрытые функции внутри макросов и теряет результаты при работе с большими проектами. Находит любое применение, включая те, которые добавляют макросы.
Переименование / Рефакторинг Нестабильно работает в коде с большим количеством макросов. Легко пропустить какой-либо момент. Переименовывает весь проект или сообщает, до каких объектов не может дотянуться.
Красные волнистые линии на действительном коде UE Распространенная ошибка. Ложные ошибки появляются в правильном UCLASSи корректном GENERATED_BODYкоде. Visual Assist считывает макросы, поэтому исправный код не помечается как неработающий.
Производительность при работе с большими кодовыми базами По мере роста проекта производительность замедляется и возникают задержки. Сохраняет высокую скорость даже при работе с проектами больших размеров, выполняя задачи в фоновом режиме.
Встроенные документы спецификаторов макросов Не предлагается. Спецификаторы находятся внутри макроса, который он не считывает. Предлагает варианты уточнений, которые можно использовать, каждое с кратким пояснением.
Попробуйте Visual Assist бесплатно в течение 30 дней

Получите точный синтаксис для макросов UE.

Парсер VA полностью понимает контекст расширенного языка программирования Unreal Engine и соответствующим образом корректирует подсветку синтаксиса и отступы. Раздражающие табуляции, ложные ошибки и немаркированные символы при объявлении UFUNCTIONS и UCLASS теперь в прошлом.

Автозавершение спецификатора макроса

Для большинства U*Macros ввод спецификаторов происходит быстро и без необходимости обращаться к документации. Если вы модифицируете движок или добавляете новые спецификаторы, Visual Assist обнаружит их и добавит подсказки.

Навигация и рефакторинг с учетом пользовательского интерфейса

Функция Visual Assist считывает спецификаторы U*Macro, и мы использовали это для повышения интеллектуальности наших функций. Функции Goto, Goto Related, Find References, Rename и Change Signature были расширены для поддержки неявных методов.

Больше никаких красных закорючек

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

Встраивание документации из базовых классов UE

Документация по Unreal Engine C++ часто находится в самом коде. Visual Assist понимает расширенный язык программирования Unreal, поэтому он будет отображать комментарии и диалоги из базовых классов и спецификаторов U*Macro.

Возможности Visual Assist

Общие возможности C++, которые приносят пользу в крупных игровых проектах.

Открытие и поиск файлов (Shift+Alt+O)

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

Узнать больше

Найти символы (Shift+Alt+S)

Легко сортируйте тысячи символов с помощью расширенных функций фильтрации и сортировки: по переменным, классам, структурам или в рамках решения. Из этого диалогового окна вы можете скопировать символ, перейти к нему или даже найти все ссылки на него.

Узнать больше

Список методов в файле (Alt+M)

Перемещайтесь по текущему файлу, выбирая из простого выпадающего списка классов и методов. Фильтруйте список, используя подстроки.

Узнать больше

Реализуйте виртуальные методы (Shift+Alt+Q)

Быстро создавайте заглушки для методов интерфейса или виртуальных методов базового класса в C++ или C#. Эта комбинация клавиш открывает меню быстрых действий и рефакторинга, которое предоставляет множество контекстно-зависимых параметров в зависимости от положения курсора или выделенной области кода.

Узнать больше

Откройте соответствующий файл (Alt+O)

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

Узнать больше

Часто задаваемые вопросы

Да. Visual Assist полностью поддерживает проекты UE4 и UE5 в Visual Studio. Его парсер понимает синтаксис макросов UE, включая UCLASS, USTRUCT, UFUNCTION и UPROPERTY, обеспечивая точную подсказку IntelliSense, подсветку синтаксиса и навигацию в обеих версиях движка.
Встроенный парсер Visual Studio не понимает систему макросов Unreal Engine. Макросы отражения UE (UCLASS, UFUNCTION и т. д.) генерируют дополнительный скрытый код во время компиляции, который стандартный парсер не может обработать, что приводит к ложным красным подчеркиваниям, некорректной подсветке и неработоспособности функции «Перейти к определению». Visual Assist использует собственный парсер, который корректно обрабатывает код C++ с большим количеством макросов.
Некоторые функции, которые не всегда надежно работают со стандартной версией Visual Studio: точная подсветка синтаксиса для объявлений UFUNCTION, UCLASS, USTRUCT и UPROPERTY; автодополнение спецификаторов макросов (введите U*Macro и увидите корректные спецификаторы прямо в коде); поиск ссылок, переименование и изменение сигнатуры, которые понимают неявные методы UE; и стабильный переход к определению в больших кодовых базах UE, где IntelliSense обычно дает сбой.
Нет. Visual Assist использует фоновый параллельный парсер, который индексирует ваше решение, не блокируя IDE. Большие проекты UE — это основной сценарий использования. Большинство пользователей сообщают об отсутствии существенных изменений во времени запуска IDE или ее отзывчивости.
Да. VA Intelligence работает в проектах UE так же, как и в любых проектах на C++. Он работает с локальными моделями — ваш код никогда не покидает ваш компьютер — запускается только тогда, когда вы явно его вызываете, и требует от вас проверки и принятия любых предложенных изменений, прежде чем они будут применены.
Никакой специальной настройки для UE не требуется. Установите Visual Assist, откройте свой проект UE в Visual Studio, и VA немедленно начнет обработку в фоновом режиме. Поддержка макросов UE включена по умолчанию. Установка занимает менее пяти минут.
Да — 30 дней, полный продукт, кредитная карта не требуется. Размер установочного файла — 129 МБ.

Отзывы

«Если я потеряю руки, я смогу печатать ртом. Заберите мою работу в качестве ассистента врача, и на этом всё».

Она не пишет код за меня, но предоставляет инструменты, позволяющие писать его быстрее и качественнее. Мне очень нравится функция проверки кода VA, и метод извлечения кода действительно помогает.

2022

«Визуальная поддержка абсолютно необходима».

Функция Visual Assist абсолютно необходима для профессионального программирования в Visual Studio… Экономия времени благодаря использованию этих элементарных вещей настолько существенна, что нет никаких причин использовать Visual Studio без Visual Assist.

2022

«Отличное программное обеспечение для быстрого написания кода!»

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

2022

«Визуальная поддержка абсолютно необходима при работе с большими кодовыми базами».

Visual Assist значительно превосходит встроенную систему Intellisense в Visual Studio. Используя Visual Assist, я обнаружил, что трачу гораздо меньше времени на просмотр кода Unreal Engine, а также своего собственного. Функция «Поиск символов» также позволяет фильтровать код движка, чтобы быстро находить символы в собственном коде.

2022

«Отличная производительность в крупных проектах, удобен для повседневной работы».

Это наиболее производительное решение из нескольких вариантов, которые я опробовал в крупном проекте.

2022

«Настоящий помощник».

Меньше ошибок, меньше поиска в Google и меньше путаницы. Он предоставляет то, что я ожидаю от современной системы IntelliSense.

2022

«Если я потеряю руки, я смогу печатать ртом. Заберите мою работу в качестве ассистента врача, и на этом всё».

Она не пишет код за меня, но предоставляет инструменты, позволяющие писать его быстрее и качественнее. Мне очень нравится функция проверки кода VA, и метод извлечения кода действительно помогает.

2022

«Визуальная поддержка абсолютно необходима».

Функция Visual Assist абсолютно необходима для профессионального программирования в Visual Studio… Экономия времени благодаря использованию этих элементарных вещей настолько существенна, что нет никаких причин использовать Visual Studio без Visual Assist.

2022

«Отличное программное обеспечение для быстрого написания кода!»

Я думаю, что виртуальный помощник отлично справляется со своей основной задачей! Рефакторинг кода, который мне очень помогает в моих проектах. Я могу писать код быстрее и сдавать результаты быстрее. Мне кажется, я настолько пристрастился к этой программе, что не могу без неё обойтись ни дня! И это правда!

2022

«Визуальная поддержка абсолютно необходима при работе с большими кодовыми базами».

Visual Assist значительно превосходит встроенную систему Intellisense в Visual Studio. Используя Visual Assist, я обнаружил, что трачу гораздо меньше времени на просмотр кода Unreal Engine, а также своего собственного. Функция «Поиск символов» также позволяет фильтровать код движка, чтобы быстро находить символы в собственном коде.

2022

«Отличная производительность в крупных проектах, удобен для повседневной работы».

Это наиболее производительное решение из нескольких вариантов, которые я опробовал в крупном проекте.

2022

«Настоящий помощник».

Меньше ошибок, меньше поиска в Google и меньше путаницы. Он предоставляет то, что я ожидаю от современной системы IntelliSense.

2022

Замечательные вещи случаются постоянно.

Visual Assist постоянно пополняется новыми функциями, полезными для разработчиков на C++ и Unreal Engine.