Пользователь
0,0
рейтинг
3 января в 15:25

Разработка → Поддержка 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
Валерий Семенчук @VISTALL
карма
87,0
рейтинг 0,0
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (31)

  • +1
    И это круто. Единственная качественная альтернатива MonoDevelop (лично у меня с ним как-то не сложилось, даже на чисто визуальном уровне) под Linux. Спасибо!
    P.S. мне бы такую работоспособность…
    • +1
      Спасибо. Но это мой мой максимум. Я сильно ленив
      • 0
        Я бы сказал — сильно скромен :)
        • +1
          А лучше то что я сильно часто делаю ошибки :)
    • +1
      Я ошибся. Это не мой максимум, я делаю в свободное время. Это не моя основная работа. Да и ленив сильно
  • 0
    А зачем нужна поддержка С# 6 версии, unity3d на данный момент поддерживает только 3.0 версию?
    • 0
      Консула это только Unity IDE. Кто то кодить под Mono ктото под .NET
      • 0
        Спасибо, понятно. я просто не в курсе, что в unity3d можно было использовать .NET.
        • 0
          Ой. Ошибся. Консула это не только Unity IDE*
  • 0
    Большое спасибо за Consulo! Ты делаешь отличное дело!
  • 0
    Добрый день!
    Пробовал Consulo пол года назад — функционал понравился, но IDE сильно тормозила через пол часа работы и иногда падала, т.ч. в итоге остановился на VS с Resharper. Но вообще реализация хорошая, только стабильности не хватает.
    • +1
      можно было написать мне, и мы б решили эту проблему.
      • 0
        Планируется ли поддержка других языков?
        • 0
          А конкретно? Сейчас я планирую поднять немного JavaScript в свободное время от C#
          • 0
            Была попытка написания плагина для идеи языка D2, однако затихла…
            Если бы этот плагин пошёл… Имхо самая удачная IDE — это как раз эта :)
            • 0
              А можно линк?
              • 0
                • 0
                  А. D lang, D2 меня запутало. Автор этого плагина притих. Сейчас уже востанавливается работа над плагином Д от другого юзера. Увы думаю он не согласится перейти на Консулу, а я на идею. Тупик. Самим пока делать чтото я не горю, без коммюнити
                  • 0
                    А можно ссылку на плагин от того пользов
                  • 0
                    А можно ссылку на плагин от того пользователя?
                    Что-то мобильная версия глючит.
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        А как Sublime дела с дебагом? Autocomplete, навигация по коду?
        • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Пишу от имени моего коллеги, который является фанатом IDEA. Он говорит, что с удовольствием поддержал бы разработку, если бы было куда переводить деньги. Как вариант, можно сделать PayPal кошелёк или Patreon аккаунт.
    • 0
      ответил в ЛК
      • 0
        Спасибо за ответ. Как я писал выше, идея про поддержку со стороны пользователей исходила от моего коллеги (он фанат IDEA и сейчас работает с Unity3d, поэтому ваша разработка ему очень понравилась).

        Со своей стороны, думаю, было бы очень клёво завести Patreon или PayPal и выложить на GitHub и тут информацию об этом, чтобы все, кто захочет, могли поддержать вас.
        • 0
          Пока с этим проблемы :) Единственный способ что-то узнать — это написать мне. Да и вообще — лучше спрашивать, чем молчать (по поводу багов и всего другого)

          Спасибо
  • 0
    Огромное спасибо за этот замечательный продукт. Как только начал разрабатывать на Unity3d первым делом искал IDE на базе IDEA и не могу нарадоваться, что нашел Consulo. Радует оперативная реакция автора и многочисленные фиксы. Сам периодически создаю PR-ы, к сожалению на данный момент могу помочь только этим.
    Успехов в развитии продукта! И еще раз большое спасибо за труды
    • 0
      Спасибо
  • 0
    Очень круто. Правда я уже за несколько лет свыкся и с VS + resharper. Но вот для всех остальных языков использую IDEA и её производные.
    Так что нужно будет обязательно посмотреть.

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