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

в 15:19, , рубрики: chef, editorconfig, IDE, puppet, ruby, ruby on rails, rubymine, web-разработка, Блог компании JetBrains

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Scratch-файлы

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

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

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

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

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

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

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

Автор: waggi

Источник

Поделиться

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js