RubyMine の新機能

RubyMineの新機能

2019.1 (4月4日)

RubyMine 2019.1は、Dockerのメジャーアップデート、Rubyプロファイラー、Factory Botのフルサポート、カスタムテーマなどを備えています。以下のすべての新しいことをチェックして、今日更新してください。また、課題(英語)投稿(英語)してRubyMine Slack(英語)に参加してください。

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

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

テストを書いているときは、自動補完して createbuildbuild_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での安全な削除
  • アクティビティー・モニター
2018.2 (7月26日)

コード・インサイト

Block element completion

より良いコード・インサイト

アップグレードされたRuby型推論により、ブロック、配列、ハッシュの要素の型を理解する上でIDEが大幅に改善され、コードの自動補完とナビゲーション全体が大幅に改善されます

ブログの詳細を見る(英語)

ポリモーフィック関連

RubyMineは多型関連を使用するモデルの定義と用法を正しく認識してナビゲートCtrl/Cmd + Click)するようになりました。

ポリモーフィックな関連付けがプロジェクトで定義されている場合、抽象モデル名の自動補完も使用可能になります。

ブログの詳細を見る(英語)

バージョン・マネージャー

Version managers

chruby、asdf、およびリモートのバージョンマネージャー

新しいリリースには、chrubyasdfのサポートがあります。WSLDockerSSHなどのリモート接続で、すべてのバージョンマネージャー(RVM、rbenv、asdf、およびchruby)を使用できるようにします。

また、rbenv-varsと他のプラグイン(英語)が新しいバージョンで正しく機能することもわかります。

ブログの詳細を見る(英語)

テスト

失敗したテストの再実行

すべてのテストをファイルまたはディレクトリーで実行した後、RubyMineは、すべてのテストを再実行する代わりに、失敗したテストのみを再実行するオプションを提供します。これにより、失敗したすべてのテストを手動で実行して調査する手間が省けます。

この新機能はrake testrake specなどのプリセットでも機能します。

YAML

YAMLコードフォーマッタ

RubyMineでは、YAMLコードの再フォーマットが可能になりました。コード | コードの再フォーマットを選択するか、⌥⌘L/ Ctrl + Alt + Lを押します。

また、[環境設定/設定]でシーケンスの折りたたみやインデント、値の整列、その他のコードスタイルオプションの適用方法を選択することもできます。エディター|コードスタイル| YAML。

ブログの詳細を見る(英語)

アンカーとエイリアスのコード情報

これで、自動補完とアンカーが定義されているときの別名の使用箇所を見つけるだけでなく、アンカーと背面に移動することができます。

エイリアスとアンカーのインライン名前変更も現在利用可能です。他の既存のアンカーと競合する名前を指定しようとすると、IDEによって警告されます規格(英語)で許可されていない文字を使用してアンカーの名前を変更することはできません。

いくつかの基本的なYAMLコードインスペクションも追加されます。

ブログの詳細を見る(英語)

YAMLのその他の改善

このリリースでは、JSONスキーマファイルを持つYAMLデータ構造を自動補完することができます。IDEが自動的にスキーマをトレースschemastore(英語)、だけでなく、手動設定でJSONスキーマファイルを追加し、設定する方法を提供します。

最後に、フルパスを入力する代わりに、キーパスを .yml ファイルの値に素早くコピー&ペーストすることができます。

ブログの詳細を見る(英語)

デバッガー

Attach to remotely running processes

リモートプロセスへのアタッチ

このリリースから、プロセスをリモートで実行するためにデバッガをアタッチできます。SSH接続(環境設定/設定 | Ruby SDK および Gem | 新規リモート | SSH 資格情報)を設定し、再起動や追加設定なしでアプリケーションのトラブルシューティングを行います

デバッガでリモートプロセスに接続する方法を学びます(英語)

JavaScript

JavaScriptとTypescript

インターフェースの実装派生クラスの作成'for..of' と繰り返すなど、JavaScriptとTypeScriptの新しい意図Alt+Enter)を発見します。

また、IDEはTypeScript 2.9と今後リリースされるTypeScript 3.0の新機能をすべてサポートします。

フレームワーク

Reactコンポーネントリファクタリング | コンポーネントの抽出リファクタリングし、Reactクラスコンポーネントを機能コンポーネントに変換して戻すことができます。

また、Vueテンプレートのイベントおよびイベント修飾子コード補完も利用できるようになりました。

RubyMineで行われたJavaScriptの改善については、 WebStormの新機能を参照してください。

Git

Better detection of merge conflicts

マージの競合の検出の改善

IDEが新しい競合をマージするノードのそのようなファイルをグループ化するため、マージ競合持つファイルを見つける方が簡単です。解決アクションリンクをクリックして、競合でマージされたファイルダイアログを開きます。

Browse repository at revision

改訂時のリポジトリーを参照

特定のリビジョンに基づいてリポジトリの状態調べるための便利な新しい改訂時のリポジトリーを参照アクションがあります。ログのコンテキストメニューを開くか、ファイル履歴から開き、プロジェクトツールウィンドウの必要なリポジトリの状態にアクセスします。

Skip the Push dialog

プッシュダイアログをスキップする

コミットおよびプッシュアクションの使用中にプッシュダイアログをスキップする ことも、保護されたブランチにプッシュするときにのみ表示することも可能になりました環境設定/設定 | バージョン管理 | Gitでこの動作をカスタマイズします。

Multiple GitHub accounts

複数のGitHubアカウント

必要なだけ多くのGitHubアカウントを設定し (環境設定 | バージョン管理 | GitHub)、プロジェクトごとにデフォルトのGitHubアカウントを設定することができます。

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

Touch bar support

MacBookタッチバーのサポート

実行して、構築、およびアプリケーションをデバッグ、変更をコミットし、右タッチバーからプロジェクトを更新。

すべてのタッチバーのコンテキストは、環境設定/設定 | 外観 & 振る舞い | メニューおよびツールバーでカスタマイズできます。

Dark window headers

ダーク・ウィンドウ・ヘッダーと新しいアイコン

macOSのRubyMineタイトルバーを暗くします。環境設定 | 外観 & 振る舞い | 外観にジャンプし、ダーク・ウィンドウ・ヘッダーを使用するを選択してください。

RubyMine 2018.2には、より明確でより一貫したルック&フィールを提供するように設計された多数の新しいアイコンがあります。