Jetbrains rubymine что это

Обновлено: 04.07.2024

Если вы разрабатываете на Ruby или Rails, возможно, вы слышали о RubyMine .

Code Insight включает в себя такие вещи, как интеллектуальное автозавершение кода, навигация по коду, языковые проверки с помощью быстрых исправлений, интеллектуальные уведомления и быстрая документация в редакторе. Так много терминов, но что они делают и зачем они вам нужны? Позвольте мне обратить ваше внимание на пять минут, прежде чем вы вернетесь к своему $ EDITOR $ и продолжите свою работу.

Автоматическое завершение кода

Скажем, вы создаете новую таблицу. RubyMine предложит возможные варианты автозаполнения соответствующих типов столбцов и свойств, как и следовало ожидать:

Но разве вы не хотели бы иметь доступ к колонкам позже, когда вы работаете над моделью? Конечно, вы сделаете это, и IDE сделает это за вас так же, как и автозаполнение всех встроенных в Rails вещей:

Как насчет возможности автоматического завершения методов, ранее определенных в модели, скажем, в контроллерах или других файлах ruby ​​в вашем проекте? Ты понял:

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

Вы можете работать со своими взглядами таким же образом. Я не говорю только о базовых предложениях синтаксиса HTML и ERB, они даны, но на самом деле все указанные сущности в вашем проекте:

Перейти к объявлению (иначе Перейти к определению)

Без сомнения, IDE оказалась гораздо более надежной при переходе к декларациям. Просто используйте ⌘ + клик | Ctrl + Click (или ⌘ + B | Ctrl + B, если вы поместите курсор на нужный объект) и перейдите к нужному определению:

Я попытался найти некоторые плагины, которые могли бы сделать то же самое для редакторов кода, которые я проверял в последнее время, но они не сильно помогли. Если вы знаете, ваши предложения в комментариях будет принята с благодарностью. Но до тех пор я придерживаюсь своей истории: переход к декларации сам по себе должен заставить вас попробовать RubyMine!

Статический анализ

Что касается проверки синтаксиса, RubyMine, безусловно, достаточно умен, чтобы обеспечить базовую подсветку синтаксиса для Ruby, Rails, JavaScript, HTML, CSS, ERB и многих других. Кроме того, в среде IDE есть ряд собственных полезных намерений, например, возможность конвертировать блоки do … end <> Найти и применить их с помощью того же Alt + Enter:

Кстати, кроме статического анализа, но с точки зрения намеренных действий, RubyMine даже предоставляет встроенную проверку RegExp:

Как и следовало ожидать, эти и другие проверки и намерения можно найти и легко включить или отключить в настройках.

Отличной альтернативой подсказкам имен параметров является информация о параметрах, которая может быть вызвана нажатием ⌘ + P | Ctrl + P. Например, это может быть полезно, если вы понимаете, что встроенные подсказки слишком сильно раздражают вас, и вы решили отключить их, но в какой-то момент вам нужно проверить имена параметров, которые вы объявили:

Умные уведомления и действия

Как еще одна особенность торговой марки всех IDE JetBrains, RubyMine предоставляет интеллектуальные уведомления, которые помогают пользователям никогда не забывать о рутинных задачах, таких как настройка обнаруженных источников данных или запуск bundle install

Есть более многоэтапные умные действия, которые могут пригодиться. Например, RubyMine имеет ярлык для быстрой навигации между сущностью Rails, например, контроллером, и его тестом (Shift + ⌘ + T | Ctrl + Shift + T). Если такого теста не существует, RubyMine предложит создать его на основе установленной вами инфраструктуры тестирования. Но что, если у вас еще нет тестовой среды? В этом случае RubyMine добавит необходимый гем в Gemfile, установит его для вас, а затем перейдет к недавно созданному тесту контроллера:

Говоря о сущностях Rails, вы также можете перейти к связанному символу Rails с помощью ⌃⌘ ↑ / Ctrl + Alt + Home.

Быстрая документация

Наконец, RubyMine предоставляет в редакторе быструю документацию для встроенных объектов Ruby / Rails, а также для объектов, объявленных в приложении. Это означает, что вам не нужно выходить в Интернет каждый раз, когда вы наталкиваетесь на какой-то псевдоним, или искать в своем приложении объявление метода, которое вы не можете запомнить. Просто поместите курсор на ключевое слово, которое вы хотите найти, и нажмите F1. Самое приятное то, что он также работает из списка автозаполнения:

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

Если вы найдете что-то из этого, попробуйте скачать RubyMine и использовать его бесплатно в течение месяца. Если вся ваша команда разработчиков хотела бы попробовать RubyMine, вы также можете подать заявку на расширенную 90-дневную пробную версию.

Наконец, не забудьте проверить, имеете ли вы право на получение лицензии со скидкой: проекты OSS и студенты могут подать заявку на получение бесплатных лицензий JetBrains, а стартапы могут получить 50% скидку!

Здравствуй, Хабр! Как можно заметить по последним постам в блоге JetBrains, многие продукты компании находятся в стадии заключительных релизов в этом году.

В этой серии мы расскажем про новую версию IDE для Ruby и Rails, RubyMine 2017.3.




Оглавление

А теперь подробнее:

IDE стала умнее

Скорость

Нам удалось сделать 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 теперь еще круче

Кстати, нас также спрашивают, умеет ли IDE отображать кастомные пользовательские инспекции. Умеет, и некоторые пользователи уже в этом убедились:

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

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

Также, теперь можно выбрать какие операторы должны обосабливаться пробелами, а какие оставаться нетронутыми форматтером:

Поддержка EPP-темплейтов

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

А еще IDE быстро находит все использования темплейтов в проекте, и умеет удобно переименовывать переменные и параметры во всем приложении:

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

Таймаут можно настроить по времени, а можно и отключить вовсе:

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


При переключении между ветками IDE сохраняет состояние workspace: расположение вкладок редактора, окон инструментов и т. п.:

В гит-лог добавлен режим Show Changes to Parents. В этом режиме правая панель в логе показывает не только изменения в файлах с конфликтами, но и отдельно неконфликтные изменения для каждой ветки, участвующей в слиянии:

REST-клиент


Улучшения JavaScript

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

Базы данных

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

Важные мелочи

Среди других улучшений вы обнаружите поддержку Ruby 2.5, Docker Compose v3, Gems.rb, Cucumber Expressions и возможность переименовывать файлы из вкладок.

P.S. Пользуясь случаем, похвастаемся тем, что недавно в JetBrains прошел Ruby-митап:

Видеозаписи докладов должны появиться уже на этой неделе.

Выражаем благодарность организаторам и докладчикам, а также призываем присоединиться к Saint P Ruby User Group всех Ruby- и Rails- разработчиков, которые этого еще не сделали!

Мы рады приветствовать вас в продолжении курса «Настоящее программирование для всех» — продвинутый блок.

В первом уроке курса мы узнаем, что такое IDE (по-русски, среда разработки), установим и научимся пользоваться средой разработки RubyMine и поймём, чем она отличается от текстового редактора Sublime, которым мы пользовались в базовом блоке.

План урока

  1. Что такое IDE (среда разработки)?
  2. Установка RubyMine
  3. Настройка RubyMine
  4. Разбираемся с русскими символами и кодировками
  5. Создаем первый проект в RubyMine

Что такое IDE?

Если подойти к вопросу формально, то IDE — это Integrated Development Environment, или интегрированная среда разработки. Другими словами, это рабочее место разработчика, внутри которого у него под рукой будут все необходимые ему инструменты: редактор файлов, консоль, просмотр папок проекта и т. д.

Прямо как верстак плотника:

Удобное рабочее место

Основные функции IDE:

Во-первых, это текстовый редактор. Вы уже знаете про Sublime, он тоже очень удобный, красивый и функциональный. В любой IDE есть подсветка кода, а также проверка его на ошибки «на лету».

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

В-третьих, вы прямо в IDE видите структуру вашей программы. Без этого просто никуда, если программа у вас сложная. Вам не нужно переключаться в менеджер файлов (проводник в Windows) и искать нужный файл. Весь ваш проект постоянно у вас под рукой.

В-четвёртых, в течение этого курса мы расскажем вам о таких инструментах как отладчик, тесты и система контроля версий. Все эти инструменты (а также многие другие) можно встроить в IDE, о которой мы вам сегодня расскажем.

Установка RubyMine

Давайте, наконец, поставим себе IDE для разработки на Ruby — RubyMine. Для установки RubyMine на компьютер с Windows вам понадобится установленный ruby-installer и умение пользоваться консолью. Обо всём этом мы рассказывали в нашем втором уроке курса НПДВ-1.

RubyMine

IDE бывают разные. Выбор IDE чаще всего зависит от того языка, на котором вы работаете. Для Ruby есть несколько вариантов, которые относительно популярны: NetBeans, Komodo и RubyMine, на которой мы сегодня и сосредоточимся.

Мы выбрали RubyMine во-первых, потому что он максимально заточен под разработку на ruby. Во-вторых, потому что он основан на среде разработки IntelliJ IDEA, которая является самой удобной IDE из всех существующих на данный момент. И в-третьих, её разработали наши, питерские ребята из JetBrains.

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

Пробная версия RubyMine длится 30 дней (чего вам вполне хватит для того, чтобы пройти курс). А если решите купить эту систему — это будет не самым плохим вложением денег.

ВАЖНО! Все задания и программы курса работают и без RubyMine. Так что наличие этой среды у вас желательно, но не обязательно.

Для установки RubyMine её необходимо скачать с официального сайта:

В RubyMine можно работать под любой операционной системой. Сайт сам определит, какая у вас операционная система и предложит скачать именно нужный дистрибутив.

После этого, как обычно устанавливаем программу:

Установка RubyMine

Что такое проект?

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

Как на счёт нового проекта?

Для удобства в IDE принято выделять любую программу в проект. Проект логически объединяет все файлы одной программы и позволяет удобно их просматривать и открывать.

Грубо говоря, это папка на вашем компьютере, где лежат все файлы и подпапки вашей программы. Пока вы учитесь, у вас будет много учебных проектов и все они будут простыми (чаще всего, состоять из одного-двух файлов), но когда дело доходит до серьёзных программ, количество файлов одной программы может измеряться сотнями и даже тысячами. Поэтому концепция проектов себя полностью оправдывает.

Проект «Монетка»

Давайте создадим наш первый проект. Для начала создайте на диске новую папку rubytut2 , в которой мы будем хранить все наши проекты для второго курса. В этой папке создайте папку lesson1 . А затем создайте в RubyMine новый проект. Для этого выберите в меню запуска Create New Project и укажите путь к новому проекту:

После создания нового проекта в папке lesson1 появится папка coin . Скопируйте туда файлы из вашего домашнего задания к 4-му уроку базового блока или возьмите их из материалов к этому уроку.

Посмотрите, теперь в RubyMine видно всю структуру вашей программы. Она, конечно, не сложная. Но всё равно удобно. Нажмите на основном файле вашей программы правой кнопкой мыши и запустите его, выбрав пункт Run .

Проект «Монетка» в RubyMine

Вы увидите консоль RubyMine.

Настройка RubyMine

Давайте немного настроим RubyMine, чтобы нам было по-удобнее работать. Для этого можно либо выбрать в меню File → Settings , либо нажать Ctrl + Alt + S .

Найдите настройки шрифтов, вбив в поисковой строке слово font . Вы увидите что-то подобное:

Настройка шрифтов в RubyMine

Загляните также во вкладку Appearance :

Настройка внешнего вида RubyMine

А также настройте внешний вид консоли:

Настройка внешнего вида консоли в RubyMine

И наконец, самое важное. Чтобы наши программы работали с русским языком в RubyMine, нужно настроить кодировку. Но для начала давайте, наконец, разберёмся с тем, что это такое.

Что такое кодировки?

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

К сожалению, каждая компания, занимающаяся производством компьютеров или программного обеспечения считала своим долгом придумать для себя собственную кодировку, поэтому этих кодировок огромный зоопарк. Этот зоопарк усиливается тем, что кодировки бывают разными в зависимости от того, символы какого языка нам нужно закодировать.

Подробнее про кодировки можно почитать на Википедии.

А пока, простой пример:

Вот какие коды нужно использовать для того, чтобы закодировать слово cat , набранное, конечно же, латиницей, в каждой из этих кодировок:

Обратили внимание, что символы для всех трёх букв совпадают? То же самое будет и с любой латинской буквой. При разработке каждой из этих кодировок (слава Богу) учли, что для того, чтобы они были совместимы, неплохо бы закодировать латинские символы одинаковыми числами. Нижняя часть вышеперечисленных таблиц кодировки полностью соответствует самой первой кодировке ASCII.

Давайте же посмотрим, что происходит с русскими буквами:

Как видите, всё не так однозначно. Именно поэтому вы часто видите кракозябры на своих компьютерах. Фактически, шифровку, которую вам передают ребята из соседнего двора (с другого сайта или одна программа — другой), ваш компьютер расшифровывает неправильно. Ваш компьютер видит число и предполагает, что кодировка одна (допустим cp1251), а тот, кто это число создавал (другой компьютер или ваша собственная программа), предполагал другую кодировку, например UTF-8. Поэтому при преобразовании чисел в символы происходят ошибки и вместо нужных символов выводятся другие.

Чтобы этот аспект не мешал нам в наших программах, давайте настроим все наши инструменты на работу в одной и той же кодировке: UTF-8. Она разрабатывалась сильно позже всех и включает в себя, помимо русского, множество языков. Если говорить коротко, следует предпочитать кодировку UTF-8 всем другим кодировкам при разработке программ и создании сайтов.

Настройка кодировки UTF-8 в RubyMine

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

Внимательно повторите все шаги!

Во-первых, настройте кодировку консоли Windows. Для этого в Панели инструментов выберите настройку языков. Во вкладке Дополнительно нажмите кнопку Изменить язык системы и выберите там Русский (Россия). После этого придётся перезагрузить компьютер.

Настройка кодировки консоли в Windows

После перезагрузки компьютера откройте командную строку и выполните команду chcp . Если вы всё настроили правильно, то вы увидите надпись

Во-вторых, настроим кодировки в RubyMine. Откройте настройки (File -> Settings) и найдите там настройки кодировок (File Encodings).

Установите кодировку UTF-8 для проектов (Project Encoding) и для файлов настроек по умолчанию (Default encoding for properties files).

Внимание, теперь для самой среды разработки (IDE Encoding) выберите кодировку IBM866. Это важно, т.к. мы настроили нашу консоль для работы именно с этой кодировкой.

Настройка кодировок в RubyMine

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

Экспортируем проект «Виселица»

Теперь, когда мы настроили кодировки, можем экспортировать нашу «Виселицу» и не бояться, что у нас будут проблемы с отображением русских символов.

Скопируйте программу viselitsa (из материалов к этому уроку или из 14-го урока курса НПДВ-1) в нашу папку урока rubytut2/lesson1 . В RubyMine выберите File -> Open и укажите путь к нашей «Виселице».

Открываем проект «Виселица»

Теперь вы видите структуру проекта: все файлы и папки с данными ( data , images ):

Откройте файлы в редакторе RubyMine, освойтесь. Посмотрите, как всё круто и удобно.

Важно! Обратите внимание, как мы поменяли в тексте программы подключение файлов в проект с помощью команды require_ralative . Это необходимо сделать, чтобы программу можно было запускать из RubyMine. Ну и вообще, так подключать файлы более правильно..

А в следующем уроке мы узнаем, что такое система контроля версий, познакомимся с git и научимся с его помощью правильно хранить наши программы.

JetBrains RubyMine 2020.1

RubyMine — умная и удобная интегрированная среда разработки для языка Ruby и веб-фреймворка Rails, которая включает в себя все необходимые разработчику инструменты и поддерживает наиболее востребованные технологии из мира Ruby.
Как и все IDE, разработанные на основе платформы IntelliJ, RubyMine обладает уникальным механизмом анализа кода, который лежит в основе таких функций, как интеллектуальное автодополнение кода, рефакторинг, исправление кода на лету и навигация по коду.
Особенностью RubyMine является то, что для всех перечисленных выше функций учитывается специфика каждого конкретного проекта.

Так, к примеру, для Rails-приложения переименование модели приведет к переименованию соответствующих контроллера и файлов представлений, а также к созданию миграционного файла для внесения необходимых изменений в базу данных.
Навигация позволит быстро перейти от метода контроллера к файлу представления и обратно, или к соответствующим тестовым сценариям.
В случае RubyMotion-приложения, автодополнение кода работает не только для языка Ruby, но и для кода на Objective-C, причем не только в редакторе, но и в консоли.
Кроме того, RubyMine позволяет полностью настроить рабочую среду, отвечающую требованиям разработчика, начиная с цветовой схемы, расположения окон, сочетания клавиш быстрого доступа и заканчивая интеграцией с системой контроля версий, базой данных, или настройкой удаленного сервера.

Системные требования:
·Операционная система: Windows 8, 10 (only x64)
Минимальные:
·ОЗУ: 2 ГБ
·Дисковое пространство: 2,5 ГБ и еще 1 ГБ для кэшей
·Разрешение монитора: 1024x768
Рекомендуемые:
·ОЗУ: 8 ГБ
·Дисковое пространство: SSD-накопитель с не менее 5 ГБ свободного места
Разрешение монитора: 1920x1080

Торрент JetBrains RubyMine 2020.1 подробно:
Дополнительная информация:
·Редактор кода с подстветкой синтаксиса, функцией автодополенения
·Анализ кода на лету с возможностью моментального исправления
·Быстрая навигация по элементам проекта и элементам кода
·Диаграммы моделей, классов, гемов
·Пошаговый отладчик Ruby-кода с возможностью выставления точек остановки и трассировки
·Поддержка тестовых фреймворков RSpec, Cucumber, Shoulda, MiniTest, Test::Unit с удобным графическим интерфейсом
·Поддержка языка Ruby версий от 1.8.6 до 2.x
·Поддержка таких Ruby-инструментов, как bundler, RVM, rbenv, pik, и т.д.
·Поддержка веб фреймворка Rails версий от 2.x до 5.x, а также веб-фреймворка Sinatra
·Полноценная поддержка языков HTML/HAML, CSS/Sass/Less, jаvascript/CoffeeScript
·Поддержка набора инструментов Emmet
·Отладчик кода jаvascript/CoffeeScript на базе Mozilla Firefox и Google Chrome
·Полноценная поддержка Puppet
·Интеграция с системами контроля версий Git, Subversion, Mercurial, Perforce, CVS с удобным графическим интерфейсом
·История изменений с возможностью сравнения версий, как в рамках поддерживаемых VCS, так и в рамках локальной истории IDE
·Светлая и темная цветовые схемы с возможностью индивидуальной настройки
·Встроенные схемы клавиш быстрого доступа на базе схем Textmate, NetBeans, Eclipse, Emacs, Vi/Vim
·Windows, macOS, Linux

Читайте также: