Поддержка Unity в Consulo за 2015 год в одном посте
Хотя поддержка Unity в Consulo и появилась в конце 2014 года (первый коммит) — большинство возможностей появилось именно в 2015 году. Ниже описаны значимые фичи, которые были реализованы:
Для тех, кто пропустил мои посты:
Consulo — форк IntelliJ IDEA Community Edition, который имеет поддержку .NET (если быть точным — C#, поддержка которого и развивается в настоящий момент), Java и NodeJS.
Unity Event Methods
В конце 2014 года появилась поддержка маркеров для Unity Event Methods, таких как Update / Start и другие. Так же был добавлен быстрый способ добавления методов через completion (включая методы с параметрами):
Project Import
Это одна из самых больших задач по Unity. До этого момента, не было различия между Unity модулями таких как Assembly-CSharp-firstpass, Assembly-CSharp. Например, везде был доступ к UnityEditor классам — и можно было написать код, который не скомпилируется:
Работа с .meta файлами
До этого изменения — .meta файлы были видны в дереве проекта и скрыть их можно было только через глобальное игнорирование файлов по расширению, однако, это не очень правильно делать, т.к. это не чистая Unity IDE. Дополнительно, возникали проблемы с VCS, т.к. при удалении основных файлов, .meta-файлы оставались. Сейчас реализована следующая логика:
- Вы можете самостоятельно включить/выключить отображение .meta файлов для существующих файлов
- Мета-файлы без родительских файлов отображаются всегда
- При удалении или изменении основного файла через IDE, соответствующий ему мета-файл так же удаляется или изменяется
Отладка в редакторе
Поддержка отладчика присутствовала с самого начала, но ее можно было использовать только для standalone билда игры, т.е. нужно было собрать и запустить игру, вне редактора Unity. Это было не очень удобно и вот, после 15 апреля 2015, можно смело делать attach к редактору, и получать все возможности отладчика (такие как изменения значения переменных в рантайме, или stepping)
ShaderLab
Unity имеет свой язык для написания шейдеров. Была добавлена поддержка синтаксиса, авто-дополнение, навигация внутри файла и базовый рефакторинг.
UnityScript
Хотя C# и преобладает при написании Unity-скриптов, но не стоит забывать о UnityScript. Поскольку поддержка UnityScript базируется на JavaScript-плагине (достаточно сыром), то возможности тут весьма ограничены:
Однако, уже сейчас UnityScript элементы доступны в авто-дополнении внутри C# классов:
C# классы в Unity-сценах
Многим знакома проблема, когда точка останова не работает. Она вроде как есть, но не срабатывает, хотя должна. После того, как вы уверуете в сверхъестественное, окажется, что вы просто забыли разместить класс в сцене. Подобная ситуация — одна из причин добавления возможности отображения, в какой сцене используется данный C# класс. Эта возможность доступна только для YML сцен, бинарные сцены не поддерживаются, поскольку формат файла закрыт, sad but true…
UnityEditor Integration
Ранее не было возможности открытия файла в Consulo по двойному клику в редакторе. Данный плагин призван добавить такую возможность.
Итог
Это почти полный список того что было добавлено в Consulo из Unity. Но помимо Unity развиваются и другие направления:
- C# — многое было переделано, оптимизировано, добавлена поддержка C# 6
- JavaScript и NodeJS — улучшена отладка, появилась поддержка Mocha
- … и многое другое —, но это совсем другия история…
Спасибо Всем кто использует Consulo