RubyMine の新機能

RubyMineの新機能

2019.2 (7月29日)

RubyMine 2019.2はRails 6とRuby 2.7のサポートを追加し、YARDサポートとデバッガを改善し、多くのプラットフォーム改善を組み入れます。以下のすべての新しいことをチェックして、今日更新してください。RubyMine Slackに課題をお知らせください(英語)

デバッガー

Debugger speed comparison v2019.1 v2019.2

高速デバッガ

デバッガは TracePoint :line を使ってプログラムの実行を1行ずつトレースしました。v2019.2のために、デバッガがコードのどの部分で実行を一時停止するかを選択し、残りのコードをオーバーヘッドから解放できるようにするためのMRI用のネイティブ拡張を設計しました。その結果、デバッガを劇的にスピードアップし、以下の新機能を実装することができました。

Smart Step Into

スマート・ステップ情報

以前は、デバッグセッションで多数のメソッドがある行に出くわした場合、RubyMineは1行の最初のメソッドにステップインすることしかできませんでした。新しく追加されたスマート・ステップ情報は、この制限を取り除き、同じ行にある特定のすべてのメソッドまたはブロック呼び出しにステップインして調査することを可能にします。

Block breakpoints

ブロックブレークポイント

新しいバージョンでは、行だけでなくブロックにもブレークポイントを設定できます。ブロックを含む行にブレークポイントを設定するために左のガターをクリックすると、RubyMineはライン、ブロック、またはその両方にブレークポイントを設定するかどうかを確認します。

RubyMineでRubyおよびRailsスクリプトをデバッグする方法の詳細については、RubyMineでデバッグする(英語)を参照してください。

Ruby 2.7

パターン・マッチング

RubyMine 2019.2は実験的な機能としてRuby 2.7の最初のプレビューで紹介されたパターンマッチングをサポートしています。IDEは新しい構文を識別し、ナビゲート、使用方法の検索、およびオブジェクトの名前変更に役立ちます。

Rubyのパターンマッチングについて(英語)

Numbered block parameters

番号付きブロックパラメーター

新しいバージョンのRubyMineは番号付きパラメータの構文を認識し、それらの使用箇所を示したり見つけたりします。これは、Ruby 2.7のもう1つの実験的な機能で、ブロック変数を定義する代わりに、デフォルトのパラメータとしてパラメータ番号を使用してブロック内の値を割り当てることができます。

Rails 6

Action Mailbox support

アクションメールボックス

RubyMine 2019.2は、Rails 6に同梱されるAction Mailboxをサポートしています。IDEは、ルーティングメソッドとコールバックの自動補完を提案し、それらの実装と使用方法の間を移動します。

Action Mailbox inspections

また、ApplicationMailboxrouting 呼び出しを追加するのを忘れたかどうか、メールボックスに process メソッドを追加することを忘れないようにするためのインスペクションもいくつか追加しました。後者はまた迅速な修正を提供します。

この詳細なGoRailsエピソード(英語)で Action Mailboxの使い方の詳細を学びましょう。

列挙型サポート

ActiveRecord::Enumに対する適切なコードインサイトのサポートを追加しました。これには、コードの自動補完、ナビゲーション、および列挙型の名前とメソッドの使用方法の検索が含まれます。Rails 6で導入された列挙型の負のスコープもサポートされています。

YARD

Improved YARD support

改善されたYARDサポート

YARDタグの作成と管理を支援し、YARD注釈に基づくRubyMineでのコードの自動補完を改善するために、YARDのサポートを徐々に改善しています。新しいバージョンでは、@overload および @yieldparam タグに適切な型注釈とインスペクションが追加されています。

RubyMineの機能の詳細な概要とYARDに関する新たな改善点については、RubyMineでのYARDのサポート(英語)を参照してください。

ファクトリーボット

Rename factories

ファクトリーを変更する

v2019.2では、(Shift+F6)ファクトリー、シーケンス、および特性の名前を変更できます。IDEはそれらの定義を見つけ、それとすべての用法、ファクトリ名と一致する場合はファイル名を変更することを提案します。

また、ファイル構造ビュー(Cmd/Alt+F7)とポップアップ(Cmd/Ctrl + F12)にファクトリ、シーケンス、および特性を追加し、安全に削除する機能(リファクタリング | 安全な削除)を追加しました。

JavaScript

Destructuring intentions

新しいインテンションアクション

新しい非構造化への伝播 インテンション(Alt-Enter)を使用すると、可能であれば追加の変数を別の構造に置き換えることができます。分割を完全に削除するには、構造化をプロパティーまたはインデックスアクセスに置き換えますというインテンションアクションを使用します。

Dynamic usages in Refactoring Preview

改善された名前変更リファクタリング

JavaScriptまたはTypeScriptファイル内のシンボルの名前を変更すると、IDEは動的な使用箇所をグループ化し、デフォルトでリファクタリングから除外します。これにより、リファクタリングがより正確になり、リファクタリング・プレビューツールウィンドウで何を正確に名前変更する必要があるかをより詳細に制御できます。

Vuetify props

Vue.jsコンポーネントライブラリーのサポート強化

コンポーネント用のコード補完と、Vuetify、BootstrapVue、Quasar、およびその他のいくつかのVueコンポーネントライブラリーのpropsの精度が向上しました。これは、IDEでこれらのライブラリーを操作するために採用した新しいアプローチによって可能になりました。

Duplicate code inspection

重複コードの検索

新しい重複したコードの一部 インスペクションはあなたのコードをその場でチェックし、すぐにエディターで重複の可能性を強調表示します。JavaScript、TypeScript、CSS、Sass、SCSS、Lessで動作します。

RubyMine 2019.2で利用可能なJavaScriptの改善については、WebStormの新機能を参照してください。

コード・スタイル

Edit code style configurations

EditorConfigサポートの改善

v2019.2では、複数の .editorconfig ファイルを追加することによって、プロジェクトのさまざまな部分でさまざまなコードスタイルを維持できます。長い間サポートされてきた標準のEditorConfig(英語)オプションに加えて、利用可能なすべてのIDEコードスタイルオプションをカバーするIDE固有のプロパティーを使用できるようになりました。

シェルスクリプト

Shell script editing

シェルスクリプトを編集する

新しいバージョンはシェルスクリプトのサポートを追加します。これにはコード補完、クイックドキュメント、.sh および .bash ファイルのテキスト名前変更、およびシェルスクリプトの実行設定が含まれます。IDEはまたlintためシェルチェック(英語)とを統合しshfmt(英語)コードをフォーマットするため。

Git

.gitignore autocompletion

.gitignoreの自動補完

.gitignore ファイルでは、IDEはファイルとフォルダーに対してコード補完提案を提供します。プロジェクトツールウィンドウでこのファイルまたはフォルダーにジャンプする名前のCmd/Ctrl-clickプロジェクトビューとローカルの変更タブから .gitignore にファイルをすばやく追加することもできます - それを右クリックして.gitignoreに追加するを選択します。

データベース・ツール

Improvements in Database tools – Full-text search

全文検索でデータを探す

データがどこにあるのかわからなくても、データベース内のデータを検索できるようになりました。検索したいデータ・ソースを右クリックして、全文検索 (Ctrl+Alt+Shift+F / Cmd+Alt+Shift+F)を選択します。クエリの結果は、データが見つかった文字列だけを表示するようにフィルタリングされます。

RubyMine 2019.2でも利用可能なその他のデータベースの改善については、DataGripの新機能を参照してください。

その他の改善点:

  • 標準gem(英語)サポート
  • アクションテキストのサポート
  • Cucumber 4のサポート
  • バージョン管理ツールウィンドウのUIが少し改善されました
2019.1 (4月4日)

Docker

Docker-compose exec

docker-compose execとDockerの見直し

RubyMineはのサポートを追加します
docker-compose exec簡単に言うと、このコマンドを有効にすると、アプリケーションの実行やデバッグ、gemsのインストール、その他の開発作業を以前よりも速く行うことができます。

詳細はRubyMineからDocker/Docker Composeを操作する方法(英語)を参照してください。

Experimental: Run with docker compose.

RubyMineをスピードアップ

Docker SDK(英語)を使用している場合は、実験機能ruby.docker.internal.via.exec を有効にしてRubyMineを高速化します。

これで、Dockerイメージを再構築することなく、gemsを追加し、rakeタスク、railsコマンド、その他環境を更新するものを実行することができます。

最近使用したロケーション

Recent locations

最近使用したロケーション・ポップアップ

新しい最近使用したロケーションポップアップは、コードベースをナビゲートする方法を一新しました。このポップアップは、実際にコードが何であるかだけを覚えているときに実際のコードを見つけるのに役立ちますが、どこでそれを見たのかわからないのです。入力を開始して結果を絞り込み、必要なコードにジャンプします。

詳細はRubyMineナビゲーション: 最近使用したロケーション・ポップアップ(英語)を参照してください。

プロファイラー

Create i18n translation

アプリケーションのプロファイル

RubyMine 2019.1は統合rbspy(英語)、あなたのアプリケーションおよび/またはテストが遅くなるコードの一部を発見するのに役立つネイティブプロファイラを提供します。

詳しいチュートリアルは、RubyMineでrbspyを使用してRubyおよびRailsアプリをプロファイルする(英語)を参照してください。

Attach profiler to running app

実行中のアプリに接続する

実行中のアプリケーションにプロファイラ(アクションの検索/プロファイラーをプロセスに接続)を接続してリアルタイムで調査できます。

ファクトリーボット

自動補完およびナビゲート属性

ファクトリを追加すると、RubyMineはその属性と、可能であればその値も自動補完します。たとえば、Railsモデルファクトリの場合、IDEはそのフィールドとその内容、さらには関連付けでフィールドを自動補完します。そしてもちろん、それらのオブジェクトの定義と使用箇所の間を行き来することもできます。

Complete factory creation methods in test files

自動補完とナビゲートメソッド

テストを書いているときは、自動補完して create , build , build_stubbedなどのファクトリー作成メソッドの定義にナビゲートすることができます。

シーケンス、特性、エイリアスなど、Factory Botのその他の優れた機能も完全にサポートされています。

完全な MVC 統合

また、関連ファイルポップアップ(ナビゲート/関連記号)にファクトリを追加し、それらが存在する場合はファクトリ宣言の一部に移動できるようにガターを追加しました。

呼び出し階層

Call Hierarchy

メソッド呼び出しを調査する

新しい呼び出し階層アクションは、調査中のメソッドを使用するメソッド(「呼び出し元」)、これらの呼び出し元を呼び出すメソッド、および必要に応じてさらに深く掘り下げるのに役立ちます。

詳しくは、このブログ投稿(英語)を参照してください。

TruffleRuby

TruffleRuby

TruffleRubyのサポート

RubyMine 2019.1はTruffleRubyのサポートを追加しました! 現在のRuby SDKをTruffleRubyに切り替えるには、インタープリターがインストールされていることを確認し、Ruby SDKの設定でそれを選択してください。

ちなみに、このリリースでは、Rubyバージョンマネージャーに関する多くの課題も修正されました。

JavaScript

TypeScript in Vue

VueアプリでのTypeScriptのサポート向上

RubyMineは、.vueファイル内のTypeScriptコードに対する独自のTypeScriptサポートと共に、TypeScript言語サービスを使用するようになりました。つまり、より正確な型チェックと型情報が得られ、サービスによって提供されるクイックフィックスを使用して、TypeScriptツールウィンドウの現在のファイルにあるすべてのTypeScriptエラーを確認できるようになります。

Highlight errors in tests

テストで失敗した行の強調表示

Jest、Karma、Mocha、またはProtractorを使用してテストを実行したときに一部のテストが失敗した場合、問題が発生した場所をエディターで確認できます。IDEはスタックトレースからの情報を使用して、失敗したコードを強調表示します。ホバーすると、テストランナーからのエラーメッセージが表示され、すぐにテストのデバッグを開始できます。

New debugger console

新しいデバッガコンソール

JavaScriptとNode.jsのデバッグツールウィンドウで、新しく改善された対話型デバッガコンソールにアクセスしましょう。ツリービューを使用してオブジェクトを表示するようになりました。また、CSSによるログメッセージのスタイル設定と、console.group()およびconsole.groupEnd()を使用したグループ化をサポートしました。あらゆる種類のログメッセージを除外することもできます。

New debugger console

npm スクリプトの補完

package.jsonファイルに新しいスクリプトを追加するときに、IDEはインストールされたパッケージによって提供される利用可能なコマンドの提案を提供します。nodeと入力すると、IDEはフォルダーとファイルの名前を提案します。npm runと入力すると、現在のファイルに定義されているタスクのリストが表示されます。

RubyMine 2019.1で利用可能なJavaScriptの改善については、 WebStormの新機能を参照してください。

HTMLとCSS

HTML and CSS

更新されたドキュメント

CSSプロパティー、HTMLタグ、および属性のドキュメント(F1)に、MDNからのブラウザサポートに関する最新の説明と情報、およびMDNに関する全記事へのリンクが表示されるようになりました。

カスタムテーマ

Custom themes

新しいUIテーマ

プラグインとして利用可能なRubyMineの新しいカラフルなUIテーマを使用することができます。ダーク・パープル(英語)グレー(英語)、およびシアンライト(英語)テーマから選択するか、独自のテーマを作成してください

データベース・ツール

Improvements in Database tools – New Sources

RubyMineのデータベースツールは、DataGripチームの私たちの同僚のおかげで、いくつか素晴らしい改善がなされました。

  • 新しいデータベースのサポート: Greenplum、Vertica、およびApache Hive
  • コード補完は、CREATEとDROPの組み合わせステートメントをサポートする
  • MySQLとMariaDBでのDEFINER属性のサポート
  • MariaDBでOracleモードをサポート
  • プロジェクトのデフォルトフォルダーを設定できるようになりました

その他の改善点:

  • Springでテストを実行しデバッグする機能
  • ポリモーフィック関連: サポートされているsourceおよびsource_typeパラメータ
  • bundle.configを使用して代替gemfilesを指定する
  • bundle.configを使用してローカルgemsパスを指定する
  • I18n: デフォルトオプションのサポート
  • Railsモデルにおけるクエリフィールドメソッドのサポートの向上
2018.3 (11月22日)

コード・インサイト

Support for Rails scopes

Railsスコープ

IDEはRailsスコープをはるかに良く理解するようになりました。たとえば、関連オブジェクトをスコープに追加すると、RubyMineは使用可能なファインダメソッドを提案します。また、チェーンスコープのコード自動補完とナビゲーションも検出します。

Struct support

構造体

RubyMineはStructを完全にサポートしています。これで、他のRubyクラスとそのインスタンスと同じ方法で、Structクラスのオブジェクトを自動補完、ナビゲート、およびリファクタリングすることができます。

Nullability analysis for Ruby

RubyのNullability分析

新しいnil 参照先 インスペクションは、現在のコンテキストで起こり得る nil エラー、たとえば、nil の可能性がある変数に対するメソッド呼び出しなどがないかコードをチェックします。

国際化対応

I18nの翻訳を作成する

新しいI18nダイアログを使用して、すべての辞書の翻訳を一度に作成します。前と同じように、文字列にキャレットを置き、Alt+Enterを押して、国際化を選択します。その後、一度生成、Cmd/Ctrlを保持し、既存の翻訳にナビゲートするために作成したキーをクリックしてください

スコープとレイジーキー

RubyMineの新しいバージョンでは、エディターから直接そのようなキーの翻訳を作成できるため、余分な努力を必要とせずに、名前空間のキーとレイジールックアップの翻訳を作成することもできます。

翻訳プレビュー

RubyMineは、I18nキーではなく実際の翻訳を表示できます。コントローラーまたはビューファイルの任意のキーでCmd./Ctrl。を押すだけです。どの辞書を翻訳プレビューとして使用するかを選択することもできます。

v2018.3で行われたその他の国際化の改善については、RubyMineのi18n機能(英語)を参照してください。

リファクタリング

New Extract Parameter dialog

パラメーターの導入

新しいパラメーターの導入ダイアログ(リファクタリング | リファクタリング | パラメーターの導入)を使用すると、引数を抽出するだけでなく、デフォルト値を指定したり、オプションにしたり、ブロックとして渡したりすることもできます。

Inline refactoring improvements

改善されたインラインリファクタリング

インライン化リファクタリングを改善し、過剰なメソッドや変数をより安全に削除できるようにしました。特に、文字列補間を使用した引数と変数を使用したインライン化メソッドは、はるかに堅牢です。

Extract Substrings to variables and constants

変数と定数に部分文字列を抽出する

最後に、文字列の一部を変数や定数に抽出する非常に便利な機能を追加しました。

RubyMineリファクタリング: 概要と改善点(英語)のリファクタリングオプションの詳細を読む。

New intention actions

インテンション・アクション

新しいインテンションアクションは、コードを読みやすくできます。例:De Morganの法則インテンションを使用して、醜い否定を単純化し、メソッドへのブロック呼び出しを抽出することができます。キャレットをコードの臭いに置き、Alt+Enterを押して適切なクイックフィックスを適用してください。

RubyMineのインテンションアクション(英語)の他の新しいインテンションについて読む。

テスト

Test gutters

テストガター

RubyMine 2018.3はまた、各テスト方法に便利なガターを配置します。これらのガターは、ファイル内で実行できるすべての特定のテストを示す視覚的アンカーです。また、コンテキストメニューよりも速くテストを実行する方法を提供します。

その他の便利なテスト機能については、RubyMineでのテストの実行(英語)を参照してください。

Git

Github pull requests

プルリクエストを表示する

RubyMineの中でGitHubのプルリクエストを見ることができます。プルリクエストの説明、ラベル、担当者、および実際の変更を表示するには、VCS | Git | プルリクエストの表示を参照してください。

さらに、プロジェクトの更新、変更のコミット、差分の表示、および競合解消など、Gitの統合に慣れ親しんだ機能はすべて、Gitサブモジュールで動作するようになりました。

ユーザー・インターフェース

New Darcula color scheme

更新されたDarcula

新しいDarculaテーマは、ノイズの多い色を取り除き、目にやさしくなり、JetBrains IDEの他のプログラミング言語用に設計された同様のスキームとよりよく一致します。

以前のDarculaも引き続き利用可能です。それを維持したい場合は、環境設定/設定 | エディター | カラー・スキームの切り替え | Rubyにジャンプし、歯車アイコンをクリックし、現在のスキームをDarculaに変換2018.2を選択してください。

New Search Everywhere dialog

どこでも検索

新しい便利などこでも検索ダイアログ(Shift+Shift)も見られます。他のすべてのナビゲーションダイアログ(クラスにジャンプファイルシンボル、およびアクション)の使用を簡単にします。タブを押すだけで検索タイプを切り替えることができます。

New Plugins UI

プラグインUI

更新されたプラグインセクション(環境設定/設定 | プラグイン)により、プラグインの管理、インストール、アンインストール、更新が簡単になりました。例:タグでプラグインを検索し、ダウンロード、名前、評価、機能、または更新で結果を並べ替えることができます。

JavaScript

Improved completion in Angular templates

フレームワーク

Angularを使用する際は、変数、パイプ、および非同期パイプとテンプレート参照変数のコード自動補完とナビゲーションの改善を楽しみましょう。

Reactアプリケーションでは、コード補完はすべてのコンポーネントライフサイクルメソッドを提案します。未解決の変数 インスペクションは、おそらく未定義のコンポーネントについて警告します。

Autoimports in JavaScript

JavaScriptのオートインポート

JavaScriptファイルでは、IDEはプロジェクトで定義されたシンボルだけでなく、プロジェクトの依存関係のシンボルに対してもインポートを自動的に追加できるようになりました。これは、ライブラリーにESモジュールまたはTypeScriptタイプ定義ファイルとして記述されたソースがある場合に機能します。

Extract CSS ruleset

HTMLとスタイルシート

新しいルールセットの抽出アクション(Alt-Enter)は、CSS宣言をあるルールセットから新しいより具体的なものに素早く抽出できます。

CSSおよびそのプリプロセッサのコードスタイルに、空白行を使用するための設定が追加されました。さらに、ブロック内のCSSプロパティーをアルファベット順またはカスタム順にソートできるようになりました。

RubyMine 2018.3で利用可能なJavaScriptの改善については、 WebStormの新機能を参照してください。

Markdown

Markdown improvements

参照リンクなどの抽出

新しい参照を導入するアクションは、インラインリンクの参照を作成できます。IDEは、ファイル内のすべてのリンクの複製が新しく作成された参照で置き換えることを提案します。

さらに、テキストを取り消し、ヘッダーサイズを切り替えることができます。ツールバーでこれらの新しいアクションを見つけます。

その他の改善点:

  • 条件文におけるキーワードの強調表示の改善
  • フラットネストされたキーによるYAML値の検索
  • パンくずリストからYAML値へのパスをコピーする
  • attr_accessorsのサポートの改善
  • JavaScriptファイルのパラメータヒント
  • コントラストの高いテーマ
  • i18nでの安全な削除
  • アクティビティー・モニター