company_banner

Новая версия RubyMine: Chef, Puppet, EditorConfig и многое другое

    Мы в JetBrains искренне считаем, что программирование отнюдь не сводится к простому написанию кода. Программировать — значит постоянно развиваться, приумножать свои знания, совершенствовать навыки, используя при этом самые лучшие инструменты. Если вам знакома притча о двух дровосеках, в которой более искусен оказывается тот, кто не забывает наточить свой топор, то вы поймете наше стремление оттачивать инструменты разработки с каждым следующим релизом. Не стал исключением и последний релиз RubyMine, нашей среды для разработки на Ruby и Rails, о котором мы и хотим рассказать подробнее в этом посте. Кстати, вчера стало доступно для скачивания и первое обновление — RubyMine 7.0.1.





    Интеграция с Chef


    Система управления конфигурациями Chef теперь поддерживается посредством отдельного плагина, совместимого с RubyMine 7 и IntelliJ IDEA 14 и позволяющего распознавать и создавать книги, рецепты и ресурсы в IDE.

    Если установлен Chef gem и открыт проект, содержащий папку с каталогом recipes c ruby-файлом внутри, то при открытии этого файла RubyMine автоматически распознает его как рецепт и предлагает добавить соответствующую директорию в качестве книги:



    Структуру проекта можно в любой момент изменить в настройках (Settings | Project Structure):



    После того как завершены настройки, в файлах-рецептах становится доступным автодополнение кода как для ресурсов:



    так и для их атрибутов:



    Поддержка языка Puppet


    Поддержка языка Puppet в IDE также осуществляется посредством отдельного плагина, совместимого с RubyMine 7 и IntelliJ IDEA 14, который был значительно улучшен и заточен для работы с Puppet-манифестами.

    В первую очередь мы усовершенствовали механизм навигации, поскольку манифесты могут содержать большое число определений ресурсов, классов, узлов, переменных и т. д., которые необходимо корректно обрабатывать:



    Навигация осуществляется не только среди манифестов, созданных пользователем, но также и по модулям, установленным из Puppet Forge. Однако следует учесть, что используемые модули должны быть расположены в директории по умолчанию или в директории, указанной в конфигурационном файле puppet.conf:



    Плагин также реализует традиционные для наших IDE функции, такие как автодополнение кода, рефакторинги, инспекции, поиск использований, быструю документацию, форматирование кода, и т. д. — с учетом структуры проекта и установленных модулей:



    Новые возможности для настройки стиля кода


    В RubyMine 7 была добавлена поддержка формата EditorConfig, который позволяет использовать одни и те же настройки стиля кода в разных проектах и разных редакторах. Правила форматирования описываются в конфигурационном файле editorconfig, при добавлении которого в корень проекта правила автоматически распознаются и применяются:



    Обратите внимание, что правила форматирования, описанные в .editorconfig, по умолчанию имеют приоритет над настройками IDE. Выключить EditorConfig можно в настройках Editor | Code Style.

    Кроме того, в настройках форматирования (Editor | Code Style) появилась опция Detect and use existing file indents for editing, которая позволяет редактору определять и использовать текущие настройки форматирования в файле:



    Таким образом, даже если настройки стиля кода (такие как Use Tab Character и Indent Size) в редактируемом файле отличаются от настроек IDE, они будут сохраняться.

    Улучшенный отладчик


    При запуске проекта в режиме отладки теперь стала доступна интерактивная консоль, которая позволяет выполнять команды непосредственно в IDE с использованием в том числе и функции автодополнения кода:



    При запуске тестов в режиме отладки интерактивная консоль доступна в виде отдельной вкладки:



    Кроме того, в RubyMine 7 добавлена новая удобная функция отладчика: теперь значения объектов отображаются непосредственно в редакторе рядом с кодом:



    Более интеллектуальный анализ кода


    Благодаря идеям и замечаниям наших пользователей нам удалось сделать анализ кода в новой версии IDE еще умнее. Теперь в качестве атрибутов метода правильно распознаются также атрибуты YARD и методы RDoc:



    Поддержка RVM в качестве удаленного SDK проекта


    Удаленные интерпретаторы Ruby под управлением RVM теперь можно добавлять в качестве SDK проекта:



    Кроме того, мы улучшили и поддержку удаленных SDK на основе файлов конфигурации vagrant.

    Scratch-файлы


    С помощью функции Scratch Files теперь можно экспериментировать и прототипировать код прямо в редакторе, не создавая при этом новые файлы в проекте. По шорткату Shift-Cmd-N / Ctrl+Alt+Shift+Insert вы можете создать временный файл, выбрав нужный тип файла. Все возможности редактора, например автодополнение кода и инспекции, доступны в Scratch-файлах:



    И многое другое


    RubyMine 7 также унаследовал от WebStorm 9 ряд улучшений для веб-разработки, включая предварительный просмотр для Emmet, поддержку последних версий CSS3, Stylus и Sass, реформатирование кода для Slim и HAML, поддержку ReactJS и JSX/ES6 и др.

    Мы можем еще долго рассказывать о многих других, небольших, но от того не менее приятных и полезных новшествах RubyMine 7. Но не лучше ли просто попробовать новую версию в деле? Узнать подробнее о RubyMine 7 и скачать бесплатную 30-дневную пробную версию IDE вы можете на нашем сайте. Обновление бесплатно для всех пользователей, которые купили или обновили свои лицензии 13 ноября 2013 года или позднее. Также напоминаем о том, что все IDE от JetBrains теперь бесплатны для студентов.

    Мы постараемся ответить на ваши вопросы в комментариях, а также будем рады любым новым реквестам в нашем баг-трекере.

    Программируйте с удовольствием!
    -Команда JetBrains

    JetBrains

    144,00

    Делаем эффективные инструменты для разработчиков

    Поделиться публикацией

    Похожие публикации

    Комментарии 15
      +5
      Красавцы! Обожаю ваш продукт!
        +4
        Спасибо, релиз отличный, дебаггер — великолепный (такому можно простить тормоза).

        Ещё есть вопрос-оффтопик: мне всё чаще приходится программировать не только на Ruby. но и, например, на C. Или даже на смеси этих двух (попытался я как-то потыкать палкой в исходники смого интерпретатора Ruby). Однако с C работать из RubyMine не получается. Т.е. мне нужен гибрид RubyMine и CLion. Могу ли я «проапгрейдиться» с RubyMine на IntelliJ Idea и на плагинах настроить из неё «RubyMine с поддержкой C»? У меня как раз истекает лицензия на RubyMine.
          0
          Как один из мейнтейнеров debug гемов, используемых в RubyMine, очень вас понимаю :)
          К сожалению, выделение поддержки C++ в отдельный плагин пока планируется не ранее релиза 1.0.
          +1
          Ого, редактор для Chef и Puppet определенно интересно! Спасибо.
            0
            Попробовал поставить себе на Ubuntu 14.04 RubyMine 7, но столкнулся с тем, что шрифты выглядят ужасно (смотреть и читать такие шрифты целый день — невыносимая мука). Попробовал погуглить, но решения не нашел, говорят, что шрифты отрисовываются не средствами ОС, а средствами Java и повлиять на это невозможно.

            Неужели действительно нету решения и все, кто работает с RubyMine из-под Ubuntu вынуждены смотреть на эти убогие шрифты без малейшего сглаживания?
            +1
            В OS X Yosemite ругается на то, что RubyMine хочет Java SE 6 а он обозначен как legacy и для Yosemite рекомендуется установить Java SE 8

            discussions.apple.com/thread/6601242

              +5
              Извините, вопрос снят — нужен был апдейт для Java, установить можно скачав по ссылке more Info…
              0
              Все клево, только в 7 версии для мака сломалась автоподстановка: ни собственных хелперов, ни маршрутов. Откатился на 6.
                0
                Было бы здорово, если бы вы смогли показать какой-нибудь пример, в гисте или в трекере
                  0
                  Да я бы вроде и с радостью, но бета-тестер из меня так себе; тупо нет автокомплита хелперов
                +1
                Chef используют не только программисты на Ruby ;) Как насчет интеграции этого плагина в остальные продукты JetBrains?
                  +1
                  Поддержка Chef-а в любом случае подразумевает поддержку Ruby, именно поэтому плагин и совместим с RubyMine и IDEA. Думаю, самое подходящее решение для тех, кто использует Chef и при этом программирует не только на Ruby, это IDEA с набором соответствующих плагинов.

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

                Самое читаемое