- PVSM.RU - https://www.pvsm.ru -
Привет! Недавно мы выпустили RubyMine 2017.1 [1], новую версию нашей IDE для Ruby и Rails, и уже обновили её до более стабильной версии 2017.1.1. Пора рассказать о том, что в ней нового.
А теперь подробнее:
Поддержка Docker доступна через плагин, который в версии 2017.1.1 уже “вшит” в IDE. Остается только зайти в настройки удаленной SDK (Settings/Preferences | Ruby SDK & Gems| New remote | Docker) и выбрать нужный образ. Автодополнение, анализ кода и прочие прелести IDE будут работать, за одним исключением: отладка приложений в Docker контейнерах станет доступна в версии 2017.2 [2], которая выйдет летом.
Подробнее о поддержке Docker читайте [3] в блоге (англ.).
Хотя мнения относительно использования гемсетов разнятся [4], по умолчанию это наиболее грамотный подход к управлению гемами, и задача нашей IDE — делать работу с ними удобнее. Поэтому в новой версии можно создавать RVM-гемсеты прямо в окне New Project, что позволит избежать конфликтов между гемами и их версиями для разных проектов. Подробнее в блоге [5].
Теперь гемсеты можно добавлять и в настройках SDK (Settings/Preferences | Ruby SDK & Gems).
Если вы Ruby/Rails программист, то, скорее всего, уже пользуетесь этим статическим анализатором кода и не нуждаетесь в его представлении. В этой версии мы научили IDE работать с RuboCop. RubyMine запускает cops в фоновом режиме, и выводит offenses в виде привычных для пользователей IDE инспекций.
К следующему релизу мы планируем научить RubyMine исправлять ошибки [6] и форматировать код [7] согласно стилю RuboCop.
В RubyMine предусмотрена возможность быстрого перехода между объектом и его тестом — Go to test [8] (Navigate| Test/Test Subject) (⇧⌘T/Ctrl+Shift+T). Мы немного расширили эту функциональность: к тестам контроллеров, моделей, хелперов и вью теперь можно не только перейти, но и быстро их создать.
Если вы попытаетесь перейти к, например, отсутствующему тесту контроллера используя Go to test, IDE предложит вам создать его с помощью Test::Unit или RSpec (мы планируем добавить [9] и другие фреймворки).
Мы также добавили возможность быстро откатить свежесозданный тест, а затем распространили эту возможность и на все сгенерированные сущности, помимо тестов.
В предыдущем релизе мы рассказывали [10] про улучшенное дополнение, навигацию и рефакторинг для Puppet. В новую версию мы также добавили возможность создания модулей Puppet прямо из диалога New Project. RubyMine самостоятельно найдет нужные Puppet’у гемы и предложит установить недостающие.
Создать новый модуль также можно с помощью Find action (⇧⌘A/Shift+Ctrl+A).
Ранее для нахождения модулей и определения зависимостей RubyMine опирался на metadata.json
и Puppetfile
. Теперь IDE научилась читать fixtures.yml
и устанавливать зависимости в соответствующую директорию. Подробнее о текущих правилах резолва в данном посте [11]. Кстати, на днях мы анонсировали [12] новый EAP (так мы называем свои бета-релизы), в котором можно находить модули и по modulepath
в environment.conf
. Если вы используете RubyMine для разработки с Puppet, обратите внимание.
В большинстве случаев RubyMine сам установит необходимые зависимости при открытии проекта или же внесении изменений в процессе разработки. Однако, если этого не произошло, можно установить зависимости вызвав контекстное меню в окне Project и выбрав Install dependencies. Это действие также доступно через Find action.
Важно отметить, что навигация и автодополнение для модулей будут работать в строгом соответствии с их зависимостями, а не выдавать все подряд. Пример можно найти в этом посте [13].
Поиск в Git-логе стал значительно быстрее, что будет заметно в проектах с длинной историей.
В поиске можно использовать регулярные выражения, а также сделать его чувствительным к регистру.
Скачать новую версию можно со страницы What’s new [19]. Для новых пользователей действует 30-дневный бесплатный пробный период.
Делитесь своими мыслями и проблемами в комментариях, мы постараемся помочь. Докладывать о багах можно также в трекер [20], за что вам заранее большое спасибо.
Автор: artysark
Источник [21]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/ruby/253047
Ссылки в тексте:
[1] RubyMine 2017.1: https://jetbrains.com/ruby/whatsnew
[2] версии 2017.2: https://confluence.jetbrains.com/display/RUBYDEV/Development+Roadmap#DevelopmentRoadmap-RubyMine2017.2(~July2017)
[3] читайте: https://blog.jetbrains.com/ruby/2017/03/rubymine-2017-1-rc1-improved-docker-support/
[4] разнятся: https://habrahabr.ru/post/120272/
[5] блоге: https://blog.jetbrains.com/ruby/2017/01/rubymine-2017-1-eap-2-creating-gemsets-rubocop-support
[6] исправлять ошибки: https://youtrack.jetbrains.com/issue/RUBY-19447
[7] форматировать код: https://youtrack.jetbrains.com/issue/RUBY-15896
[8] Go to test: https://www.jetbrains.com/help/ruby/2017.1/navigating-between-test-and-test-subject.html
[9] планируем добавить: https://youtrack.jetbrains.com/issue/RUBY-19144
[10] рассказывали: https://habrahabr.ru/company/JetBrains/blog/317004/
[11] данном посте: https://blog.jetbrains.com/ruby/2017/02/rubymine-2017-1-eap-8-puppet-module-generation-docker-support/
[12] анонсировали: https://blog.jetbrains.com/ruby/2017/04/rubymine-2017-1-2-better-puppet-fixed-issues/
[13] этом посте: https://blog.jetbrains.com/ruby/2016/12/rubymine-2017-1-eap-puppet-project-structure/
[14] хабропосте про DataGrip: https://habrahabr.ru/company/JetBrains/blog/325066/
[15] подсказки для названий параметров: https://blog.jetbrains.com/ruby/2017/02/rubymine-2017-1-eap-6-creating-tests-with-go-to-test/#param-hints
[16] Сделан: https://blog.jetbrains.com/ruby/2017/02/rubymine-2017-1-eap-6-creating-tests-with-go-to-test/#markdown-plugin
[17] мгновенно отображает: https://blog.jetbrains.com/ruby/2017/03/rubymine-2017-1-eap-9-bug-fixes-minor-improvements/#find-in-path
[18] в виде иконки: https://twitter.com/rubymine/status/852157525843746816
[19] What’s new: https://www.jetbrains.com/ruby/whatsnew/
[20] трекер: https://youtrack.jetbrains.com/issues/ruby
[21] Источник: https://habrahabr.ru/post/326806/
Нажмите здесь для печати.