+38/050/370-3627
+38/067/502-3306
+38/044/257-2444
Новини

RubyMine 2017.3 - нова версія IDE для Ruby та Rails

IDE стала розумнішою

Швидкість

JetBrains вдалося зробити IDE швидше, що помітно при роботі з великими програмами. Наприклад, тепер перевірка всього коду на помилки (Code | Inspect Code) займає значно менше часу порівняно з RubyMine 2017.1 та 2017.2:

Навігація до оголошення методів

Користувачі люблять RubyMine за можливість швидкого переходу до визначення методів та змінних у проекті та використовуваних гемів, і ми намагаємося покращувати цю функціональність. Так, навігація до рейкових колбеків та респондерів у версії 2017.3 стала значно надійнішою:

Ми всерйоз налаштовані покращувати базову підтримку Ruby та Rails та в наступних версіях.

IDE розпізнає параметри, що викликаються

І не просто розпізнає, а набагато краще, ніж раніше. RubyMine підкаже, якщо кількість аргументів, що передаються, не відповідає їх вихідній кількості в оголошеному методі:


Підтримка програм із вкладеними проектами


IDE навчилася розпізнавати вкладені проекти, коректно встановлювати залежності і переходити до них за необхідності:
Якщо ваш додаток є монорепозиторієм, спробуйте нову версію і повідомте нам, якщо зіткнетеся з проблемами.

Підтримка WSL

Якщо у вас Windows, то не проходьте повз цю нову можливість. RubyMine навчився працювати з Windows Bash, що дозволяє уникнути хворобливих налаштувань Ruby на "вінді". Рецепт:

  • Встановити bash відповідно до цього посібника.
  • Додати WSL як віддалену SDK у налаштуваннях (Preferences / Settings | Languages ​​& Frameworks | Ruby SDK and Gems | New remote).
  • Забути, що ви маєте справу з Windows.

Покращений рефакторинг

RubyMine має набір рефакторингів, що дозволяють зручно упорядковувати код. Зокрема, опція Extract Methodдопомагає швидко винести логічно виділений за змістом код окремий метод. Тепер ця опція може ще й одразу винести код у секцію private чи protected. Якщо секція ще відсутня у файлі, RubyMine створить її самостійно:

RuboCop тепер ще крутіший


У попередньому релізі JetBrains навчили RubyMine застосовувати автокорекції RuboCop для всього файлу прямо з редактора. Починаючи з версії 2017.3, ви можете не тільки виявити та виправити всі помилки, але й пофіксувати лише певний cop department або offense class (блог). Жодних плагінів, все працює одразу “з коробки”! /> До речі, нас також запитують, чи вміє IDE відображати кастомні інспекції користувача. Вміє, і деякі користувачі вже переконалися в цьому:

Більше опцій code style

У налаштуваннях (Preferences / Settings | Editor | Code style | Ruby) тепер можна задати відступи для private і protected секцій. RubyMine запам'ятає вибрані налаштування та використовує їх при форматуванні коду в редакторі (Code | Reformat code):

Також, тепер можна вибрати які оператори повинні обособлюватися пробілами, а які залишатися недоторканими форматером :

Підтримка EPP-темплейтів

Деякі наші користувачі займаються керуванням конфігурацій та використовують Puppet. Для них реалізовано підтримку Embedded Puppet. Зокрема, додано автозаповнення та навігація до EPP-темплейтів та маніфестів:

А ще IDE швидко знаходить все використання темплейтів у проекті, і вміє зручно перейменовувати змінні та параметри у всьому додатку:

Таймаут для відладчика

JetBrains додали опцію Trace to_s evaluation (Preferences / Settings | Build, Execution, Deployment | Debugger), при виборі якої відладчик почне викидати повідомлення про таймаут у випадку зверху:

Таймаут можна налаштувати за часом, а можна й відключити зовсім:

VCS

Interactive rebase останніх змін у Git тепер можна запустити прямо з лога, натиснувши на базовий коміт:

При перемиканні між гілками IDE зберігає стан workspace: розташування вкладок редактора, вікон інструментів і т.п.:

До гіт-логу додано режим Show Changes to Parents. У цьому режимі права панель у лозі показує не тільки зміни у файлах з конфліктами, а й окремо неконфліктні зміни для кожної гілки, що бере участь у злитті:

REST-клієнт

Відтепер працювати з REST-запитами можна за допомогою нового інструменту на основі редактора. Достатньо створити файл у проекті з роздільною здатністю .http і відкрити його в редакторі:

Детальний аналіз роботи з новим REST-клієнтом.

Покращення JavaScript

  • Для Vue.js з'явилося автодоповнення коду та навігація для props, властивостей та методів, а також нова колекція шаблонів коду.
  • Нові рефакторинги Extract type alias та Extract interface для TypeScript.
  • Оновлена ​​документація та покращене автодоповнення для стандартних методів та об'єктів JavaScript. Відкриття проектів стало швидше завдяки заздалегідь побудованим індексам для цих методів.
  • Імпорти в JavaScript- та TypeScript-файлах тепер додаються автоматично при копіюванні та вставці коду з одного файлу в інший.

Докладніше про покращення можна дізнатися на сторінці What's new in WebStorm, а також у ролику:

Бази даних

  • Якщо ви працюєте з великою кількістю джерел даних (data sources), ці джерела даних тепер можна організувати до груп.
  • Для зручності роботи з числовими даними в таблиці тепер вони вирівнюються праворуч.
  • Для PostgreSQL у вікні інструментів Database відображаються Users та Roles, а також підтримуються Foreign Data Wrappers.
  • Можна вставляти дані в таблицю з Excel.
  • Кілька значень таблиці можна порівнювати між собою.
  • Експорт у DDL тепер підтримує більше опцій та доступний через Context menu | SQL Scripts SQL Generator.
  • Автодоповнення для JOIN сталі кмітливіше.

Інші новини