Unity: Использовать Visual Studio вместо MonoDevelop
В Unity заходим в Edit -> Preferences… -> External Tools -> External script editor -> Browse… и выбираем путь до запускного файла VS. У меня это «C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe»
Теперь при двойном клике на файле со скриптом на панели Assets, откроется Visual Studio.
Не смотря на то, что Visual Studio поставляется со своим собственным компилятором C#, и вы можете использовать его для проверки ваших скриптов на ошибки, Unity по прежнему использует собственный компилятор C# для компиляции ваших скриптов. Однако использование компилятора Visual Studio все равно очень эффективно, потому что вам не нужно постоянно переключаться в Unity чтобы проверить свои скрипты на наличие ошибок.
Компилятор C# в Visual Studio обладает большим количеством возможностей чем C# компилятор в Unity. Это означает, что код (содержащий новейшие возможности C#) не вызовет ошибок в Visual Studio, но может вызвать ошибки в Unity.
Unity автоматически создает и поддерживает файлы .sln и .csproj для Visual Studio. Когда кто-либо добавляет/переименовывает/перемещает/удаляет файлы из под Unity, Unity восстанавливает .sln и .csproj файлы. Так же вы можете добавить файлы в ваш проект Visual Studio. Unity импортирует эти файлы и в следующий раз создаст файлы проекта снова, включив в них добавленные вами файлы.
Unity не обновит файлы проекта Visual Studio после обновления AssetServer или SVN. Вы можете вручную заставить Unity обновить файлы проекта Visual Studio через меню: Assets->Sync MonoDevelop Project
http://docs.unity3d.com/ru/current/Manual/VisualStudioIntegration.html
По умолчанию кнопки для вызова справки по Unity — Ctrl + Alt + M , Ctrl + H .
Изменить стандартную IDE в Unity
Как сообщить Unity 3d открыть скрипты с помощью Monodevelop?
Моя система работает:
- Ubuntu 17.10
- MonoDevelop 5.10
- Unity 2017.3.0p2
Обычно, под окнами, Unity откроет скрипты с Visual Studio при двойном щелчке.
Я под Linux и для достижения того же, что я должен использовать Monodevelop. Все работает нормально, но я хотел бы, чтобы единство запускало Monodevelop для редактирования скриптов.
Большинство форумов говорят, что единство должно запускать моно для редактирования скрипта, но по какой-то причине мой построенный не является. Если я попытаюсь открыть скрипт в Unity, то ничего не происходит. Его даже не спрашивают, как он должен открыть файл.
Кто-нибудь знает, как это сделать?
Откройте " Edit → Preferences , перейдите на вкладку " External Tools ", а затем выберите "MonoDevelop" в раскрывающемся меню " External Script Editor :
Если ваша версия Unity не появилась с встроенным MonoDevelop. Из того же меню нажмите кнопку обзора и перейдите в автономный исполняемый файл MonoDevelop.
MonoDevelop
MonoDevelop — это интегрированная среда разработки (IDE), поставляемая вместе с Unity. IDE сочетает в себе функции текстового редактора с дополнительными возможностями для отладки и выполнения других задач по управлению проектами. Здесь не будет рассматриваться текстовый редактор, так как он достаточно интуитивен, но интеграция редактора и отладчика с Unity описана ниже.
Настройка MonoDevelop
MonoDevelop устанавливается по умолчанию вместе с Unity. Во время установки Unity на Windows, вы можете отменить установку MonoDevelop. Вы должны убедиться, что MonoDevelop установлен в качестве внешнего редактора скриптов в Preferences (меню: Unity > Preferences, а затем выберите панель External Tools). Если эта опция включена, Unity запустит MonoDevelop и будет использовать его в качестве редактора по умолчанию для всех скриптовых файлов.
Настройка отладчика
Чтобы включить отладку исходного кода (см. ниже для подробностей) в MonoDevelop, вам сперва следует проверить, что в Preferences, на панели External Tools включена опция Editor Attaching. Затем, вам следует синхронизировать ваш Unity проект с проектом MonoDevelop (меню: Assets > Sync MonoDevelop Project). Кроме того, убедитесь, что в BuildSettings целевой платформы (меню: File > Build Settings) включены опции Development Build и Script Debugging. Если вы собираете под WebPlayer, тогда вам следует дополнительно убедиться, что в контексте вашего проигрывателя выбран канал версий для разработчиков (правый клик в Windows или cmd-клик в Mac OSX).
Включение отладки в webplayer
Just before starting a debugging session, select the target you wish to debug from the target list next to the play button (Unity Editor, OSX Player, etc.). You can also select “Attach To Process”, this will show the full list of debuggable Unity processes.
Вкладка, показывающая значения переменных
With these steps completed, you are ready to being debugging your Unity scripts by clicking the play button.
Отладка исходного кода
Текущие открытые исходные файлы отображаются в MonoDevelop в виде вкладок и могут быть отредактированы как в стандартном текстовом редакторе. Также есть серая шкала точек останова (breakpoint bar) слева от панели редактора. Щелчок на этой шкале добавит так называемый маркер точки останова ( breakpoint ) напротив текущей строчки кода.
Breakpoint, добавленный в код а строке 16
Добавление breakpoint’а на линию сообщает Unity, что по достижению этой линии во время Play Mode, следует приостановить выполнение скрипта. Когда скрипт так “замораживается”, вы можете использовать отладчик для определения того, что именно делает скрипт.
Стрелка показывает, что выполнение приостановлено на точке останова
При приостановке выполнения на точке останова, во вкладках в нижней части окна MonoDevelop показывается информация о текущем состоянии выполнения. Возможно, наиболее важной из вкладок является Locals.
Вкладка, показывающая значения переменных
В этой вкладке показаны значения локальных переменных в текущей функции (псевдо-локальная переменная с именем this автоматически доступна в каждой функции, хоть она и не объявлена явно; это ссылка на текущий экземпляр скрипта, так что через “this” можно получить доступ ко всем переменным, объявленным в скрипте). Вы можете использовать точки прерывания вместе с вкладкой Locals для получения эффекта, аналогичного добавлению выражений print в ваш код — вы можете просматривать значения переменных в любой удобный вам момент времени. Однако во вкладке Locals вы также можете редактировать значения переменных. Это может оказаться полезным в случае, если вы нашли неверно установленную переменную и хотите проверить, пропадёт ли проблема при установке правильного значения.
Другая полезная функция MonoDevelop — пошаговое выполнение. Когда выполнение приостановится на точке останова, станет доступна шкала отладочных инструментов в верхней части окна MonoDevelop:-
Инструменты пошаговой отладки MonoDevelop
Первые четыре кнопки известны как Continue (продолжить), Step Over (шаг через), Step In (шаг внутрь) и Step Out (шаг наружу) и могут срабатывать по командам из меню Run (самая правая кнопка, Detach может быть использована для окончания отладочной сессии). Continue продолжает выполнение до очередной точки останова. И Step Over и Step In выполняют одну строку кода в один момент времени. Различия между ними в том, что Step Over полностью выполняет любые функции за одну линию, а Step In позволяет “шагнуть” внутрь функции. Так зачастую можно случайно использовать Step In для корректно работающих функций, существует Step Out, который продолжит выполнение до конца текущей функции и остановится снова в коде, который её вызвал.
Детальное описание техник отладки исходного кода не подходит этому разделу, но существуют различные книги и web ресурсы, в которых можно найти все подробности по этой теме. Кроме того, проведение небольших экспериментов поможет почувствовать мощь этих инструментов и понять как их использовать для отслеживания основных типов ошибок.