RubyMine の新機能

RubyMineの新機能

2019.3 (11月28月)

RubyMine 2019.3は、より優れたコードインサイトを追加し、デバッガーを改善し、Git、JavaScript、およびHTTPクライアントの多くのプラットフォームの改善を組み込みます。以下のすべての新しいものをチェックして、今日更新してください。また、することをお勧めします、私たちに知らせて(英語)すべての課題のとRubyMine Slack(英語)に参加します!

ルボコップ

RuboCop

重大度マッピング

以前、RubyMineはRuboCopおよびIDE インスペクションの重大度をマッピングするために事前定義されたロジックを使用していました。これで、デフォルトのマッピングを変更して、特定のRuboCopオフェンスの重大度を増減できます。詳細については、このRuboCopヘルプトピックを参照してください。

コード・インサイト

Better code insight for Struct

Structのコードインサイトの改善

構造タイプのコードインサイトが改善されたため、必要な構造タイプの使用箇所を見つけて、その宣言に戻ることができます。Findのその他の改善点について詳しくは、このブログ投稿(英語)を参照してください。

Type support for fixture calls

フィクスチャ呼び出しのタイプサポート

RubyMineの新しいバージョンは、Minitest / Test::Unitテストでのフィクスチャ呼び出しのコードインサイトを改善します。エディターは、このような呼び出しの自動補完を提供し、関連するデータベースフィールドに移動できます。

Rails

Run Rails tasks with Run Anything

なんでも実行でRailsタスクを実行する

v2019.3より前は、RailsジェネレーターとRakeタスクは専用のポップアップを介して実行できました。これで、なんでも実行をタスク/ジェネレーターを実行するための単一のエントリポイントとして使用できます。例:⌥R/ Ctrl + Alt + Rを押すと、なんでも実行ポップアップが呼び出され、rakeコマンドが自動的に追加されます。詳細については、このブログ投稿(英語)を参照してください。

Stimulus and Elm for new Rails projects

新しいRailsプロジェクト用のStimulusおよびElm

2019.3では、StimulusまたはElmを新しいRailsプロジェクトのJavaScriptライブラリとして指定できます。

デバッガー

Interactive debugging for the Rails console

Railsコンソールの対話型デバッグ

RubyMineでは、Railsコンソールでデバッグするときにプログラムの状態を確認できるようになりました。これを行うには、ブレークポイントに到達した後に対話式コンソールタブに切り替えます。

YARD

Inferring types for @param and @return annotations

@paramおよび@return注釈のタイプの推測

YARDのサポートを継続的に改善し、YARDタグの作成と管理を支援しています。v2019.3では、RubyMineは@paramを追加タグおよび@return タグを追加する インテンションで使用するために、親クラスからパラメーターと戻り値の型を推測します。

RubyMineのYARD機能の概要については、YARDのサポート(英語)を参照してください。

コード・スタイル

Aligning method chains

メソッドチェーンの位置合わせ

v2019.3では、新しいコードスタイルオプションを追加しました。これにより、最初のレシーバーまたは先頭のドットによって、さまざまな方法でチェーンメソッド呼び出しを調整できます。このオプションを構成するには、設定/環境設定を開きます | エディター | コード・スタイル | Ruby | 折り返しおよび括弧を選択し、連鎖メソッド呼び出しグループに移動します。

著作権

Copyright notices for Ruby files

Rubyファイルの著作権表示

これで、事前定義された著作権表示をRubyファイルにすばやく追加できます。詳細については、この著作権ヘルプトピックを参照してください。

JavaScript / CSS

Complete CSS classes added using CDN

CDNを使用して追加された完全なCSSクラス

プロジェクトでTwitter Bootstrapまたは別のCSSライブラリを使用していて、ビューファイルのCDNからリンクしている場合、ソースをプロジェクトに追加せずに、このライブラリからクラス名の補完を取得できます。

Quote style settings for CSS

CSSの引用スタイル設定

新しい引用符オプションを使用して、CSS(およびSCSSおよびLessファイル)で二重引用符を使用するか単一引用符を使用するかを選択できるようになりました。再フォーマットを強制するを選択すると、選択した引用スタイルがコードの再フォーマット時に適用されます(コード補完を使用して新しいコードを追加するときだけではありません)。

Support for Vue.js components from separate files

個別のファイルからのVue.jsコンポーネントのサポート

RubyMineは、別々のファイルにあるコンポーネントの異なる部分間のリンクを理解できるようになり、props、データ、およびメソッドに適切なコード補完を提供できるようになりました。

Git

Reworked Clone dialog

再加工されたクローンダイアログ

クローンダイアログ(VCS | バージョンから取得コントロール)を改善しました。これでこのダイアログからログインでき、IDEはアカウントまたは組織ごとにグループ化されたすべてのリポジトリのリストを即座にプレビューします。

Push any branch

ブランチをプッシュ

これで、ブランチポップアップからブランチの変更を直接プッシュできます。ブランチを選択してから、メニューのプッシュアクションを使用します。

データベース・ツール

Basic MongoDB support

基本的なMongoDBサポート

RubyMine 2019.3は、MongoDBの初期サポートを提供します。データベースエクスプローラーでコレクションとフィールドを表示したり、クエリを実行したりできます。

HTTP クライアント

Dynamic variables in .http files

.httpファイルの動的変数

v2019.3では、HTTP リクエストで動的変数を使用できます。これらの変数には$uuid, $timestampおよび$randomIntが含まれます。必要に応じて、ダブル波括弧を使用してこれらの変数のいずれかを挿入します。

Run all requests in file

ファイル内のすべてのリクエストを実行する

HTTPクライアントでは、1つの.httpファイルに複数のリクエストを書き込むことができます。これは、1つの要求が前の要求の結果に依存している場合に、チェーンを要求する必要がある場合に役立ちます。このサンプルアプリ(英語)を使用して新しい機能をお試しください。

その他の変更:

  • RubyMotionおよびHeroku統合プラグイン用のサポート終了(英語)
  • 編集 | 行のソートコマンドを使用して行をアルファベット順にソートする
  • 検索アクションを使用するときに、選択したエリアで検索する
  • IDEを再起動せずに改善されたプラグイン管理
  • より良いDockerターミナル
  • Kubernetesサポートの改善
2019.2 (7月29月)

デバッガー

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モデルにおけるクエリフィールドメソッドのサポートの向上