こんにちは、Habr! 先日、RubyおよびRails用のIDEの新しいバージョンである
RubyMine 2017.2をリリースしましたが、新しい製品について急いで話しています。

- Docker作成
- Docker Composeでのアプリケーションのデバッグ
- 自動修正RuboCop
- Rubyの「パンくずリスト」
- JavaScriptの機能強化
- VCSの新機能
- ユーザーインターフェース
- その他の改善
そして今、順番に:
Docker作成
前回のリリースで
は 、Dockerのサポート
を発表しました。 ただし、ユーザーは、新しいバージョンに正常に追加されたDocker Composeサポートを大幅に欠いていました。 RubyMineでDockerプロジェクトを開き、設定でDocker ComposeをリモートSDKとして設定します(Preferences / Settings | Languages&Frameworks | Ruby SDK and Gems | New remote | Docker Compose)。 これで、コード補完からデバッグまでIDEのすべての機能を使用して、コンテナ内のアプリケーションを操作できます。
ブログへのインストールの詳細をご覧ください。

Docker Composeでのアプリケーションのデバッグ
非常に期待されていたように、デバッグは別の発表に値します。 RubyMineデバッガーは、DockerおよびDocker Composeを介してコンテナーアプリケーションに使用できるようになりました。 これを行うには、
Gemfile
Docker / Composeを構成した後、
ruby-debug-ide
および
debase
を追加し、
bundle install
なく
Gemfile
エディターから直接起動される
Gemfile
docker-compose build
を使用して
bundle install
ます。 これについては、
ブログでも詳しく説明して
います。

自動修正RuboCop
以前のバージョンでは、RubyMineはRuboCopを使用してコードを分析する方法を学びました。 エディターで直接RuboCopを使用してコードをすばやく修正する機能を追加することにより、この機能を拡張しました。 これは非常に便利です。

rubocopインスペクションでエラーとして強調表示されたコードを見つけ、
Alt + Enterを押すと、エラーがファイル全体で修正されます。
Rubyの「パンくずリスト」
Ruby用のパン粉を追加しました。 小さいながらもかなり役立つ詳細。 モジュール、クラス、メソッド、ブロックのタイプの現在のコンテキスト、およびRSpecファイル内のグループと例の名前を表示します。

ところで、JavaScriptファイルにはパンくずリストもあります。 また、HTML、XML、YAMLについては、デザインを更新しました。
JavaScriptの機能強化
JavaScriptの改善点は次のとおりです。
- 新しいMoveシンボルのリファクタリングにより、ES6モジュールのクラス、グローバル関数、および変数を1つのJavaScript / TypeScriptファイルから別のファイルに正確に転送できます。
- JavaScriptコードでのオートコンプリートとナビゲーションでは、
webpack.config.js
説明されているプロジェクト設定(エイリアスなど)がwebpack.config.js
されるようにwebpack.config.js
。
- JavaScriptおよびTypeScriptファイルのクラス内のコードは、新しい[コードの再配置]アクションと[コードスタイル]設定-配置と空白行を使用して簡単に整理できるようになりました。
- ESLintを使用してコードのフォーマットを確認する場合、RubyMineは
.eslintrc
からIDEのフォーマット設定にいくつかのルールをインポートし、フォーマット時にそれらを自動的に適用します。
- アンパサンド(&)を使用して作成されたSassおよびSCSSセレクターでは、HTMLファイルのオートコンプリートとセレクター自体へのナビゲーションが機能するようになりました。
VCSの新機能
2つの新しいアクションがGitログに一度に表示されました:RevertおよびReword。
Revert-IDEでの
git revert
実装。選択したコミットのRevertを実行できます。

Rewordを使用すると、プッシュがまだ行われていないコミット(最後のコミットだけでなく)の名前を変更できます。

[コミット]ダイアログの設定を確定し、別の[コミットダイアログ]タブに移動しました(設定/設定|バージョン管理|コミットダイアログ)。 これで、ヘッダーとコミットの内容の分離を空行で制御でき、行の最大長を指定できます。

JetBrains IDEを使用している場合は、進行中の変更を一時的に遅らせることができることを知っています。 これは、たとえば、緊急に別のタスクに切り替えて、現在の変更を「棚に」入れて、緊急のタスクに干渉しないようにする必要がある場合に便利です。
このリリースでは、プレビューが[シェルフ]タブ[プレビュー]に表示され、選択したファイルに加えられた変更と、「遅延」バージョンと現在のファイルを比較する機能が表示されます。

ユーザーインターフェース
前回、Find in Pathにプレビューを追加しました。 現在、Gutterもそこにあります-エディターの左側のパネルには、行番号、ナビゲーションアイコン、およびファイルに加えられた変更のインジケーターが含まれています。

ところで、検索結果から重複する行も削除しました。 これで、重複する一致結果はすべて1行ですぐに強調表示されます。
その他の改善
- データベースツールの改善。
- スクラッチファイルでのRuboCopコード分析と自動修正。
- IDEのパフォーマンスを改善するための多くの修正。
- クリップボードにパッチを作成する機能。
新機能ページから新しいバージョンをダウンロードできます。 新規ユーザーには30日間の無料トライアルがあります。 企業については、
延長トライアル期間 (90日間)を提供する準備も整っています。
コメントであなたの考えを共有し、
トラッカーにバグを報告し、
Slackに参加してください!