Привет, Хабр!

Вот весна и перевалила через свою середину, к концу подходит апрель. Этот месяц был богат на хорошие новости от JetBrains: обновление ReSharper Ultimate, выпуск ReSharper C++ и CLion 1.0. А сегодня мы надеемся порадовать и Ruby-разработчиков. В среду, 15 апреля, вышло обновление нашей интеллектуальной среды для разработки на Ruby и Rails — RubyMine 7.1. Прежде всего, в новой версии мы усовершенствовали поддержку Puppet, кроме того уделили много внимания JavaScript и CoffeeScript, постарались привнести еще больше удобства и эффективности в процесс написания кода.



Усовершенствованная поддержка Puppet


В RubyMine 7 мы значительно улучшили работу с Puppet-манифестами, и в новой версии мы продолжили работать над интеграцией.

Поддержан синтаксис Puppet 4:


Корректно обрабатываются библиотечные факты, функции и типы:


Стало возможным работать с динамическими окружениями Puppet:


Веб-разработка


Как вы, возможно, знаете, наши IDE построены на базе платформы IntelliJ, что позволяет аккумулировать усилия и добавлять новый функционал во все те продукты, где он востребован. Так, RubyMine 7.1 унаследовал множество интересных и полезных новинок из WebStorm 10.

Для CoffeeScript улучшены навигация и форматирование, добавлена поддержка оператора ?=, а также деструктивного присваивания для массивов и объектов:


Полностью переработана поддержка проектов с большим объемом JavaScript-кода, а также значительно расширена поддержка ECMAScript 6:


Включена поддержка типов union, ключевых слов let и const для TypeScript 1.4, а также «декораторов» и модулей ES6 для TypeScript 1.5. При компиляции в код JavaScript все ошибки подсвечиваются в редакторе на лету:


Эффективность написания кода


Мы постарались не забыть и о том функционале, с которым повседневный процесс написания кода становится эффективнее и приятнее.

Новый рефакторинг (Refactoring | Move) перемещает класс или модуль Ruby в отдельный файл, создает иерархию директорий и добавляет в исходный файл инструкцию “require”:


Режим Distraction-free (View | Enter Distraction Free Mode) — новый минималистичный режим убирает панели инструментов, окна и вкладки и позволяет вам сосредоточиться только на коде:


Одновременное редактирование HTML-тегов — пока вы редактируете открывающий тег, RubyMine позаботится о закрывающем:


Кроме того, в версии 7.1 отладчик корректно работает с версией Ruby 2.2.x, ускорено выполнение команд Vagrant, реализована поддержка Phusion Passenger 5, а также поддержка HiDPI для Windows и Linux, переработаны дизайн и эргономика Welcome Screen.

Можно еще долго рассказывать о других, небольших, но от того не менее приятных и полезных новшествах RubyMine 7.1. Но не лучше ли просто попробовать новую версию в деле? Скачайте бесплатную 30-дневную пробную версию IDE на нашем сайте. Обновление бесплатно для всех пользователей, которые купили или обновили свои лицензии 16 апреля 2014 года или позднее.

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

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

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


  1. shock_one
    21.04.2015 22:05

    Судя по скриншотам, у вас RubyMine на Java 1.8. Есть ли преимущества от использования IDE с новой версией?


    1. enDal
      21.04.2015 22:10
      +3

      Например, она не моргает на OS X 10.10. В целом должно работать быстрее.
      К сожалению, это пока экспериментальная версия и у некоторых пользователей есть проблемы с производительностью скроллинга.


      1. shock_one
        21.04.2015 22:59

        Установил — включает дискретную видеокарту при запуске на MBP. Удалил.


  1. Envek
    22.04.2015 08:01

    А где можно почитать, как пользоваться поддержкой Puppet? Вот я открываю puppet-модуль с metadata.json и всё, как положено, но все классы из зависимых модулей подсвечены красным. Как указать RubyMine, где эти модули, или как установить их локально?

    А в целом — восхитительно!


    1. enDal
      22.04.2015 13:16

      Чтобы RubyMine видела модули, нужно настроить текущее окружение, посмотреть как это делается можно здесь.
      Вообще, по умолчанию RubyMine пытается найти puppet.conf и понять самостоятельно, какой оттуда выводится modulepath. Если же вы используете окружения или какие-то нетривиальные места для модулей, можно, как раз-таки, настроив в RubyMine используемые окружения, указать нужный modulepath.

      Интерфейса для установки модулей пока что нет, отчасти потому, что многие пользуются r10k или librarian-puppet для поддержки множества установленных модулей. Поэтому в вашем случае, видимо, пока что есть смысл воспользоваться консолью и puppet module. Тем не менее, мы собираемся сделать поддержку puppet forge в ближайшее время, голосуйте за RUBY-13580.


      1. Envek
        22.04.2015 13:27

        RubyMine я использую на рабочей машине, не на сервере, никакого puppet.conf и в помине нет, а только есть установленные гемы puppet, puppet-lint и metadata-json-lint и всё. Я попробую создать конфиг и установить либрарианом модули куда-нибудь. Но внятного туториала не хватает.
        P.S> Нельзя зайти на ваш сайт с макоси — Хром и Сафари не приемлют корневой сертификат Thawte. Только Файрфокс открывает.


        1. waggi Автор
          22.04.2015 13:36

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

          У меня сайт открывается нормально, а по какой именно ссылке вы заходите?


        1. enDal
          22.04.2015 13:42

          Tutorial постараемся сделать в ближайшее время.
          P.S. Странно, Safari 8.0.5 успешно открывает. Попробуем разобраться


  1. lenferer
    22.04.2015 08:24

    Академических лицензий большей нет?


    1. yul
      22.04.2015 09:25
      +1

      Вроде бесплатно: www.jetbrains.com/student


  1. Rombl4
    24.04.2015 12:43

    Как-то много места слева остается в минималистичном режиме. Это как-то лечится?

    скриншот
    image


    1. enDal
      25.04.2015 18:52

      Задумка в том, чтобы текст по-возможности был отцентрирован в этом режиме и чтобы появление Project view не дергало редактор. Если это поведение не нравится, то можно проголосовать за IDEA-134555