Использование инструментов Visual Studio для Unity

В этом разделе мы рассмотрим, как использовать возможности интеграции и повышения производительности набора средств Visual Studio для Unity, а также как использовать отладчик Visual Studio для разработки Unity.

Открытие скриптов Unity в Visual Studio

После установки Visual Studio в качестве внешнего редактора для Unity дважды щелкнув скрипт из редактора Unity, автоматически запустится или переключится на Visual Studio и откроется выбранный скрипт.

Кроме того, можно открыть Visual Studio без скрипта, открытого в редакторе исходного кода, выбрав меню "Ресурсы > " "Открыть проект C#" в Unity.

Screenshot of the Open C# project in Visual Studio.

Screenshot of the Open C# project in Visual Studio for Mac.

Доступ к документации по Unity

Доступ к документации по созданию скриптов Unity можно быстро получать из Visual Studio. Если набор средств Visual Studio для Unity не находит документацию по API в локальном режиме, он попытается найти ее через Интернет.

  • В Visual Studio выделите API Unity, с которым хотите ознакомиться (или наведите на него курсор), а затем нажмите клавиши CTRL+ALT+M, CTRL+H.
  • Вы также можете использовать меню справки > по API Unity вместо привязки ключей.

Screenshot of the Unity API Reference menu in Visual Studio.

  • В Visual Studio для Mac выделите или поместите курсор на API Unity, о котором вы хотите узнать, а затем нажмите кнопку Cmd+'
  • Вы также можете использовать меню справки > по API Unity вместо привязки ключей.

Screenshot of the Unity API Reference menu in Visual Studio for Mac.

IntelliSense для сообщений API Unity

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

  1. Поместите курсор на новую строку внутри тела класса, производного от MonoBehaviour.

  2. Начните вводить имя сообщения Unity, например OnTriggerEnter.

  3. После ввода букв "ontri" отображается список предложений IntelliSense.

Screenshot of using IntelliSense in Visual Studio.

  1. Выбранный элемент в списке можно изменить тремя способами:

    • с помощью клавиш со стрелками ВВЕРХ и ВНИЗ;

    • щелкая нужный элемент;

    • продолжив ввод имени нужного элемента.

  2. IntelliSense может вставить выбранное сообщение Unity, включая все необходимые параметры:

    • при нажатии клавиши TAB;

    • при нажатии клавиши ВВОД;

    • при двойном щелчке выбранного элемента.

Screenshot of the Insert Unity message from IntelliSense in Visual Studio.

Мастер создания скриптов Unity MonoBehavior

Мастер MonoBehavior можно использовать для просмотра списка всех методов API Unity и быстрого выполнения пустого определения. Эта функция, особенно со включенным параметром Создать комментарии для метода, полезна при изучении того, что доступно в Unity API.

Создание определений пустых методов MonoBehavior с помощью мастера MonoBehavior.

  1. В Visual Studio поместите курсор туда, где необходимо вставить методы, а затем нажмите клавиши CTRL+SHIFT+M для запуска мастера MonoBehavior. В Visual Studio для Mac нажмите клавиши CMD+SHIFT+M.

  2. В окне Создание методов скрипта установите флажок рядом с именем каждого метода, который нужно добавить.

  3. Чтобы выбрать необходимую версию, используйте раскрывающийся список Версия платформы.

  4. Методы по умолчанию вставляются в позицию курсора. В качестве альтернативы можно вставить их после любого метода, который уже реализован в классе. Для этого измените значение раскрывающегося списка точка вставки на нужное расположение.

  5. Если вы хотите, чтобы мастер создавал комментарии для выбранных методов, установите флажок Создать комментарии к методу. Эти комментарии позволяют лучше понять, когда вызывается метод и каковы его общие функции.

  6. Нажмите кнопку ОК, чтобы выйти из мастера и вставить методы в код.

Screenshot of the monobehavior wizard dialog in Visual Studio.

Screenshot of the monobehavior wizard dialog in Visual Studio for Mac.

Обозреватель проектов Unity

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

  • В главном меню Visual Studio выберите "Вид > обозревателя проектов Unity". Сочетание клавиш: ALT+SHIFT+E

Screenshot of the Unity Project Explorer window.

  • В Visual Studio для Mac панель решения автоматически ведет себя так, как при открытии проекта Unity.

Отладка Unity

Набор средств Visual Studio для Unity позволяет отлаживать скрипты редакторов и игр для проекта Unity с помощью мощного отладчика Visual Studio.

Отладка в редакторе Unity

Начать отладку

  1. Visual Studio можно подключить к Unity, нажав кнопку Воспроизвести, отмеченную меткой Подключить к Unity, или использовав клавишу F5.

Screenshot of the Attach to Unity button in Visual Studio.

  1. Подключите Visual Studio к Unity, нажав кнопку Воспроизвести, клавиши COMMAND+ВВОД или клавишу F5.

Screenshot of the Play button in Visual Studio for Mac.

  1. Переключитесь в Unity и нажмите кнопку Воспроизвести, чтобы запустить игру в редакторе.

Screenshot of the Play button in Unity on Windows.

Screenshot of the Play button in Unity on macOS.

  1. Когда игра запущена в редакторе Unity при подключении к Visual Studio, все проходимые точки останова будут приостанавливать выполнение игры и выводить соответствующую строку кода в Visual Studio.

Остановка отладки

В Visual Studio нажмите кнопку Стоп или используйте сочетание клавиш SHIFT + F5.

Screenshot of the Stop button in Visual Studio.

Нажмите кнопку Остановить в Visual Studio для Mac или клавиши SHIFT+COMMAND+ВВОД.

Screenshot of the Stop button in Visual Studio for Mac.

Дополнительные сведения об отладке в Visual Studio см. в документации по отладчику Visual Studio.

Подключение к Unity и воспроизведение

Для дополнительного удобства кнопку Подключить к Unity можно заменить на режим Подключить к Unity и воспроизвести.

  1. Щелкните небольшую стрелку вниз рядом с кнопкой Подключить к Unity.

  2. В раскрывшемся меню выберите Подключить к Unity и воспроизвести.

    Screenshot of the Attach and play button in Visual Studio.

Затем на кнопке "Воспроизведение" появляется метка Подключение к Unity и воспроизведение. Нажатие этой кнопки или использование клавиши F5 приведет к автоматическому переключению на редактор Unity и запуску игры в редакторе, в дополнение к подключению отладчика Visual Studio.

Начать отладку и воспроизведение в редакторе Unity можно за один шаг, непосредственно из Visual Studio для Mac, выбрав конфигурацию Подключение к Unity и воспроизведение.

Screenshot of the Attach to Unity and Play button in Visual Studio for Mac.

Примечание

Если вы начали отладку с помощью конфигурации Attach to Unity и Play , кнопка "Остановить" также остановит редактор Unity.

Отладка сборок проигрывателя Unity

Вы можете отлаживать сборки разработки игроков Unity с помощью Visual Studio.

Включение отладки скриптов в проигрывателе Unity

  1. В Unity откройте параметры сборки, выбрав "Параметры сборки файлов>".

  2. В окне параметров сборки установите флажки Сборка разработки и Отладка скриптов.

    Screenshot of the Unity build settings for debugging.

Выбор экземпляр Unity для присоединения отладчика

  • В Visual Studio в главном меню выберите "Отладка Присоединения отладчика > Unity".

    Screenshot of the Attach Unity Debugging Window in Visual Studio.

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

    Screenshot of the Choose an instance of Unity to connect to window in Visual Studio.

    Проект Имя проекта Unity, который выполняется в этом экземпляре Unity.

    Компьютер Имя компьютера или устройства, на котором выполняется этот экземпляр Unity.

    Тип Редактор, если этот экземпляр Unity выполняется как часть редактора Unity; Проигрыватель, если этот экземпляр Unity является автономным игроком.

    Порт Номер порта UDP-сокета, через который данный экземпляр Unity обменивается данными.

Важно!

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

Выбор экземпляра Unity, который не отображается в списке

Если у вас есть известный проигрыватель Unity, который не отображается в списке, можно использовать кнопку "Входной IP-адрес" в окне "Выбор экземпляра Unity". Введите IP-адрес и порт работающего проигрывателя Unity, чтобы подключить отладчик.

Чтобы упростить отладку этого проигрывателя, не вводя IP-адрес и порт каждый раз, включите параметр "Использовать сохраненные целевые объекты отладки" в > меню "Средства параметров>" для Unity > "Общие".

Screenshot of the Use saved debug targets setting.

Visual Studio будет отображать сохраненные целевые объекты отладки в качестве параметра в кнопке "Присоединиться к Unity".

Screenshot of the Saved debug target setting.

  • В Visual Studio для Mac в верхнем меню выберите "Выполнить > присоединение к процессу".
  • В диалоговом окне "Присоединение к процессу " выберите параметр "Отладчик Unity " в раскрывающемся меню отладчика внизу.
  • Выберите экземпляр Unity из списка и нажмите кнопку "Присоединить ".

Отладка библиотеки DLL в проекте Unity

Многие разработчики Unity создают компоненты кода в виде внешних библиотек DLL, чтобы разрабатываемые ими функции можно было легко совместно использовать с другими проектами. Набор средств Visual Studio для Unity упрощает отладку кода в этих библиотеках DLL без создания проблем для другого кода в проекте Unity.

Примечание

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

Обратите внимание, что описанный здесь сценарий предполагает, что у вас есть исходный код, то есть вы разрабатываете или повторно используете свой собственный код, или у вас есть исходный код для библиотеки стороннего разработчика и вы планируете его развернуть в проекте Unity как библиотеку DLL. Данный сценарий не описывает отладку библиотеки DLL, для которой у вас нет исходного кода.

Отладка проекта с управляемой библиотекой DLL, используемой в проекте Unity

  1. Добавьте существующий проект библиотеки DLL в решение Visual Studio, которое создается набором средств Visual Studio для Unity. В ряде случаев вы можете создать новый проект с управляемой библиотекой DLL, который будет содержать компоненты кода проекта Unity. В этом сценарии в решение Visual Studio можно добавить новый проект с управляемой библиотекой DLL.

    Screenshot of the Add > Existing Item menu.

    В любом случае набор средств Visual Studio для Unity сохраняет ссылку на проект, даже если он должен повторно создать файлы проекта и решения, поэтому эти действия нужно будет выполнить только один раз.

  2. Создайте ссылку на нужный профиль платформы Unity в проекте DLL. В Visual Studio в свойствах проекта DLL для свойства Целевая платформа укажите версию платформы Unity, которую вы используете. Это библиотека базового класса Unity, соответствующая уровню совместимости API, на который ориентирован ваш проект, например библиотека базовых классов Unity full, micro или web. Благодаря этому ваша библиотека DLL не будет вызывать методы платформы, существующие на других платформах или уровнях совместимости, но которые могут отсутствовать в версии платформы Unity, которую вы используете.

Примечание

Указанные ниже действия требуется выполнять, только если вы используете устаревшую среду выполнения Unity. В новой среде выполнения Unity такие выделенные профили версии 3.5 использовать не нужно. Выберите профиль .NET 4.x, совместимый с вашей версией Unity.

Screenshot of the selecting target framework for a project in Visual Studio.

  1. Скопируйте библиотеку DLL в папку Asset (ресурсы) своего проекта Unity. В Unity ресурсы представляют собой файлы, которые упаковываются и развертываются вместе с вашим приложением Unity, чтобы их можно было загружать во время выполнения. Так как библиотеки DLL связываются во время выполнения, их необходимо развертывать как ресурсы. Для развертывания в виде ресурса редактору Unity требуется, чтобы библиотеки DLL были помещены в папку Assets вашего проекта Unity. Предусмотрены два способа выполнения этой задачи.

    • Измените параметры сборки проекта DLL, чтобы добавить выполняемую после сборки задачу, которая скопирует выходные файлы DLL и PDB из выходной папки в папку Активы проекта Unity.

    • Измените параметры сборки проекта DLL, чтобы сделать выходной папкой папку Assets проекта Unity. Теперь файлы DLL и PDB будут сразу помещаться в папку Assets.

    PDB-файлы необходимы для отладки, так как они содержат символы отладки библиотеки DLL и сопоставляют код DLL с формой его исходного кода. Если будет применяться устаревшая среда выполнения, Инструменты Visual Studio для Unity будут использовать сведения из файлов DLL и PDB для создания файла DLL.MDB. Это формат отладочных символов, применяемый устаревшим модулем обработки скрипов Unity. Если будет применяться новая среда выполнения и формат Portable-PDB, Инструменты Visual Studio для Unity не будут пытаться преобразовывать символы, так как новая среда выполнения Unity может самостоятельно обрабатывать файлы Portable-PDB.

    См. подробнее сведения о создании PDB-файлов. Если будет применяться новая среда выполнения, убедитесь, что для параметра "Отладочная информация" задано значение "Переносимый" для корректного создания файла Portable PDB. Если будет применяться устаревшая среда выполнения, воспользуйтесь значением "Полный".

  2. Выполните отладку своего кода. Теперь вы можете отлаживать свой исходный код DLL вместе с исходным кодом проекта Unity и использовать все доступные функции, например точки останова и пошаговое выполнение кода.

Сочетания клавиш

Для быстрого доступа средств Unity к функциям Visual Studio можно использовать соответствующие сочетания клавиш. Ниже приведен список таких сочетаний клавиш.

Команда Сочетание клавиш Имя контекстной команды
Открыть мастер MonoBehavior CTRL+SHIFT+M EditorContextMenus.CodeWindow.ImplementMonoBehaviours
Открыть обозреватель проектов Unity ALT+SHIFT+E View.UnityProjectExplorer
Доступ к документации по Unity CTRL+ALT+M, CTRL+H Help.UnityAPIReference
Присоединиться к отладчику Unity (проигрыватель или редактор) значение по умолчанию отсутствует Debug.AttachUnityDebugger

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

Команда Сочетание клавиш Имя контекстной команды
Открыть мастер MonoBehavior Cmd+Shift+М EditorContextMenus.CodeWindow.ImplementMonoBehaviours
Доступ к документации по Unity Cmd+' Help.UnityAPIReference

Если вас не устраивает сочетание клавиш по умолчанию, его можно изменить. Сведения о том, как изменить его, см. в разделе "Настройка интегрированной среды разработки".