Поддержка Unity в Consulo за 2015 год в одном посте

image

Хотя поддержка Unity в Consulo и появилась в конце 2014 года (первый коммит) — большинство возможностей появилось именно в 2015 году. Ниже описаны значимые фичи, которые были реализованы:

Для тех, кто пропустил мои посты:

Consulo — форк IntelliJ IDEA Community Edition, который имеет поддержку .NET (если быть точным — C#, поддержка которого и развивается в настоящий момент), Java и NodeJS.


Unity Event Methods


В конце 2014 года появилась поддержка маркеров для Unity Event Methods, таких как Update / Start и другие. Так же был добавлен быстрый способ добавления методов через completion (включая методы с параметрами):

image

Project Import


Это одна из самых больших задач по Unity. До этого момента, не было различия между Unity модулями таких как Assembly-CSharp-firstpass, Assembly-CSharp. Например, везде был доступ к UnityEditor классам — и можно было написать код, который не скомпилируется:

image

Работа с .meta файлами


До этого изменения — .meta файлы были видны в дереве проекта и скрыть их можно было только через глобальное игнорирование файлов по расширению, однако, это не очень правильно делать, т.к. это не чистая Unity IDE. Дополнительно, возникали проблемы с VCS, т.к. при удалении основных файлов, .meta-файлы оставались. Сейчас реализована следующая логика:

  • Вы можете самостоятельно включить/выключить отображение .meta файлов для существующих файлов
  • Мета-файлы без родительских файлов отображаются всегда
  • При удалении или изменении основного файла через IDE, соответствующий ему мета-файл так же удаляется или изменяется

image

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


Поддержка отладчика присутствовала с самого начала, но ее можно было использовать только для standalone билда игры, т.е. нужно было собрать и запустить игру, вне редактора Unity. Это было не очень удобно и вот, после 15 апреля 2015, можно смело делать attach к редактору, и получать все возможности отладчика (такие как изменения значения переменных в рантайме, или stepping)

image

ShaderLab


Unity имеет свой язык для написания шейдеров. Была добавлена поддержка синтаксиса, авто-дополнение, навигация внутри файла и базовый рефакторинг.

image

UnityScript


Хотя C# и преобладает при написании Unity-скриптов, но не стоит забывать о UnityScript. Поскольку поддержка UnityScript базируется на JavaScript-плагине (достаточно сыром), то возможности тут весьма ограничены:

image

Однако, уже сейчас UnityScript элементы доступны в авто-дополнении внутри C# классов:

image

C# классы в Unity-сценах


Многим знакома проблема, когда точка останова не работает. Она вроде как есть, но не срабатывает, хотя должна. После того, как вы уверуете в сверхъестественное, окажется, что вы просто забыли разместить класс в сцене. Подобная ситуация — одна из причин добавления возможности отображения, в какой сцене используется данный C# класс. Эта возможность доступна только для YML сцен, бинарные сцены не поддерживаются, поскольку формат файла закрыт, sad but true…

image

UnityEditor Integration


Ранее не было возможности открытия файла в Consulo по двойному клику в редакторе. Данный плагин призван добавить такую возможность.

Итог


Это почти полный список того что было добавлено в Consulo из Unity. Но помимо Unity развиваются и другие направления:

  • C# — многое было переделано, оптимизировано, добавлена поддержка C# 6
  • JavaScript и NodeJS — улучшена отладка, появилась поддержка Mocha
  • … и многое другое —, но это совсем другия история…

Спасибо Всем кто использует Consulo

© Habrahabr.ru