Вот весна и перевалила через свою середину, к концу подходит апрель. Этот месяц был богат на хорошие новости от JetBrains: обновление ReSharper Ultimate, выпуск ReSharper C++ и CLion 1.0. А сегодня мы надеемся порадовать и Ruby-разработчиков. В среду, 15 апреля, вышло обновление нашей интеллектуальной среды для разработки на Ruby и Rails — RubyMine 7.1. Прежде всего, в новой версии мы усовершенствовали поддержку Puppet, кроме того уделили много внимания JavaScript и CoffeeScript, постарались привнести еще больше удобства и эффективности в процесс написания кода.
![](http://habrastorage.org/files/3c0/d92/e33/3c0d92e339444d0d9620dad2ca7d8353.png)
Усовершенствованная поддержка Puppet
В RubyMine 7 мы значительно улучшили работу с Puppet-манифестами, и в новой версии мы продолжили работать над интеграцией.
Поддержан синтаксис Puppet 4:
![](http://habrastorage.org/files/58b/544/44f/58b54444f9a44fc9853e08c4f35543fa.png)
Корректно обрабатываются библиотечные факты, функции и типы:
![](http://habrastorage.org/files/30a/c09/05d/30ac0905d12c4f28a8247ab8d74ffe55.png)
Стало возможным работать с динамическими окружениями Puppet:
![](http://habrastorage.org/files/b8e/946/67b/b8e94667b2db4c1eabd2f7c37c1c3060.png)
Веб-разработка
Как вы, возможно, знаете, наши IDE построены на базе платформы IntelliJ, что позволяет аккумулировать усилия и добавлять новый функционал во все те продукты, где он востребован. Так, RubyMine 7.1 унаследовал множество интересных и полезных новинок из WebStorm 10.
Для CoffeeScript улучшены навигация и форматирование, добавлена поддержка оператора ?=, а также деструктивного присваивания для массивов и объектов:
![](http://habrastorage.org/files/454/698/698/4546986984d5461b90eccd88d7a4cbe6.png)
Полностью переработана поддержка проектов с большим объемом JavaScript-кода, а также значительно расширена поддержка ECMAScript 6:
![](http://habrastorage.org/files/d05/19a/4b1/d0519a4b1c38477cbeb00830c537828f.png)
Включена поддержка типов union, ключевых слов let и const для TypeScript 1.4, а также «декораторов» и модулей ES6 для TypeScript 1.5. При компиляции в код JavaScript все ошибки подсвечиваются в редакторе на лету:
![](http://habrastorage.org/files/b09/8a8/e18/b098a8e18a4d402eb34ed814c24d50fa.png)
Эффективность написания кода
Мы постарались не забыть и о том функционале, с которым повседневный процесс написания кода становится эффективнее и приятнее.
Новый рефакторинг (Refactoring | Move) перемещает класс или модуль Ruby в отдельный файл, создает иерархию директорий и добавляет в исходный файл инструкцию “require”:
![](http://habrastorage.org/files/70f/a7c/40a/70fa7c40ae324b10ac9f7d0d07f4e8ad.png)
Режим Distraction-free (View | Enter Distraction Free Mode) — новый минималистичный режим убирает панели инструментов, окна и вкладки и позволяет вам сосредоточиться только на коде:
![](http://habrastorage.org/files/1a1/d21/fea/1a1d21fea50a4900a65cbea4ef7aa2ca.png)
Одновременное редактирование HTML-тегов — пока вы редактируете открывающий тег, RubyMine позаботится о закрывающем:
![](http://habrastorage.org/files/41f/88e/da3/41f88eda32804ac5895d1ba2294136f6.gif)
Кроме того, в версии 7.1 отладчик корректно работает с версией Ruby 2.2.x, ускорено выполнение команд Vagrant, реализована поддержка Phusion Passenger 5, а также поддержка HiDPI для Windows и Linux, переработаны дизайн и эргономика Welcome Screen.
Можно еще долго рассказывать о других, небольших, но от того не менее приятных и полезных новшествах RubyMine 7.1. Но не лучше ли просто попробовать новую версию в деле? Скачайте бесплатную 30-дневную пробную версию IDE на нашем сайте. Обновление бесплатно для всех пользователей, которые купили или обновили свои лицензии 16 апреля 2014 года или позднее.
Мы постараемся ответить на ваши вопросы в комментариях ниже, а также будем рады любым новым реквестам в нашем баг-трекере.
Программируйте с удовольствием!
Команда JetBrains
Комментарии (12)
Envek
22.04.2015 08:01А где можно почитать, как пользоваться поддержкой Puppet? Вот я открываю puppet-модуль с metadata.json и всё, как положено, но все классы из зависимых модулей подсвечены красным. Как указать RubyMine, где эти модули, или как установить их локально?
А в целом — восхитительно!enDal
22.04.2015 13:16Чтобы RubyMine видела модули, нужно настроить текущее окружение, посмотреть как это делается можно здесь.
Вообще, по умолчанию RubyMine пытается найти puppet.conf и понять самостоятельно, какой оттуда выводится modulepath. Если же вы используете окружения или какие-то нетривиальные места для модулей, можно, как раз-таки, настроив в RubyMine используемые окружения, указать нужный modulepath.
Интерфейса для установки модулей пока что нет, отчасти потому, что многие пользуются r10k или librarian-puppet для поддержки множества установленных модулей. Поэтому в вашем случае, видимо, пока что есть смысл воспользоваться консолью и puppet module. Тем не менее, мы собираемся сделать поддержку puppet forge в ближайшее время, голосуйте за RUBY-13580.Envek
22.04.2015 13:27RubyMine я использую на рабочей машине, не на сервере, никакого puppet.conf и в помине нет, а только есть установленные гемы puppet, puppet-lint и metadata-json-lint и всё. Я попробую создать конфиг и установить либрарианом модули куда-нибудь. Но внятного туториала не хватает.
P.S> Нельзя зайти на ваш сайт с макоси — Хром и Сафари не приемлют корневой сертификат Thawte. Только Файрфокс открывает.waggi Автор
22.04.2015 13:36Да, туториала действительно не хватает. Мы постараемся его написать в ближайшее время.
У меня сайт открывается нормально, а по какой именно ссылке вы заходите?
enDal
22.04.2015 13:42Tutorial постараемся сделать в ближайшее время.
P.S. Странно, Safari 8.0.5 успешно открывает. Попробуем разобраться
Rombl4
24.04.2015 12:43Как-то много места слева остается в минималистичном режиме. Это как-то лечится?
скриншотenDal
25.04.2015 18:52Задумка в том, чтобы текст по-возможности был отцентрирован в этом режиме и чтобы появление Project view не дергало редактор. Если это поведение не нравится, то можно проголосовать за IDEA-134555
shock_one
Судя по скриншотам, у вас RubyMine на Java 1.8. Есть ли преимущества от использования IDE с новой версией?
enDal
Например, она не моргает на OS X 10.10. В целом должно работать быстрее.
К сожалению, это пока экспериментальная версия и у некоторых пользователей есть проблемы с производительностью скроллинга.
shock_one
Установил — включает дискретную видеокарту при запуске на MBP. Удалил.