- PVSM.RU - https://www.pvsm.ru -

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

image

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

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

Consulo [2] — форк 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 [3], можно смело делать attach к редактору, и получать все возможности отладчика (такие как изменения значения переменных в рантайме, или stepping)

image

ShaderLab

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

image

UnityScript

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

image

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

image

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

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

image

UnityEditor Integration

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

Итог

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

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

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

Автор: VISTALL

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/java/107880

Ссылки в тексте:

[1] первый коммит: https://github.com/consulo/consulo-unity3d/commit/42b09433bc0ebf30dfd6f47b3cd449409924a855

[2] Consulo: https://github.com/consulo/consulo

[3] 15 апреля 2015: https://github.com/consulo/consulo-unity3d/commit/313709e1f4e9f31ada4715b1fced6bd90444fe3e

[4] язык: http://docs.unity3d.com/Manual/SL-Shader.html

[5] Данный плагин: https://github.com/consulo/UnityEditorConsuloPlugin

[6] Источник: http://habrahabr.ru/post/254679/