RubyMine 2024.1 ヘルプ

RBS

RubyMine は、Ruby プログラムで使用される型を記述するための RBS(英語) 言語をサポートしています。RubyMine は .rbs ファイルを認識し、次のコーディング支援を提供します。

RBS は、すぐに使用できる標準ライブラリ用の一連の組み込み型シグネチャーを提供します。プロジェクトで RBS を使用すると、RubyMine はそのソースを外部ライブラリに表示します。

RubyMine は rbs_collection.lock.yaml ファイルでも動作します。このシナリオでは、RubyMine は、どの型シグネチャーがロードされ、コードインサイトに使用されるかを決定します。詳細については、ドキュメント(英語)を参照してください。

RBS 型の署名

RubyMine は RBS 型シグネチャーをサポートし、Ruby 要素の型を決定するために使用しています。これにより、Ruby でコードを開発する際に、より良いコードインサイトを体験することができます。

プロジェクトに RBS ファイルがある場合、RubyMine は以下を提供します。

  • メソッドの完成度の向上

    RubyMine は、コード補完を呼び出すときに、リストの先頭に適切なクラスのメソッドを表示します。

    Method name completion with RBS
  • Ruby 完了時の RBS からの追加宣言

    RubyMine は、Ruby ファイルに存在しない RBS からの追加の宣言を認識します。これは、これらの宣言を補完時にも存在させることができるため、リフレクションを頻繁に使用するプロジェクトにとって特に有益です。この機能は、クラス、モジュール、定数、メソッド、変数で利用できます。

    Extra declarations from RBS
  • 改善されたナビゲーションアクション

    「宣言に移動」アクションを呼び出すと、RubyMine は、選択する宣言のリストを提供する代わりに、正確な宣言に移動します。

  • 対応する宣言の使用箇所を検索します

    RBS 型では、RubyMine は Ruby 要素の正しい宣言を見つけることができます。'リファクタリング' アクションを呼び出すと、RubyMine は、選択可能な宣言のリストを提供する代わりに、対応する宣言の使用箇所を即座に検出します。

    Find usages with RBS
  • 一貫した名前変更リファクタリング

    RubyMine が RBS を利用する場合、すべての潜在的なオプションを表示するのではなく、関連するエンティティの名前を変更することのみを提案します。

    Rename refactoring with RBS

型情報を表示する

  • RBS 署名が提供されると、RubyMine はそれを使用して Ruby 要素の型を決定します。要素型を表示するには、目的の Ruby 要素にキャレットを置き、メインメニューで表示 | 型情報 Ctrl+Shift+P に移動します。

    Viewing type info

パラメーター情報を表示する

RubyMine は、RBS シグネチャーを使用して、パラメーター情報ポップアップにメソッドパラメーターの型を表示します。デフォルトでは、エディターで左括弧を入力するか、候補のリストからメソッドを選択すると、RubyMine はポップアップを自動的に表示します。

  • パラメーター情報ポップアップを明示的に呼び出すには、メインメニューの表示 | パラメーター情報 Ctrl+P に移動します。

    View Parameter Info

型が一致することを確認する

  • RubyMine は、RBS ファイルの型と一致しない型を使用しようとすると警告します。

    Incompatible parameter type

    これらの警告は、不一致型インスペクションを使用して管理できます。インスペクションは、次の目的で使用できます。

    • 一定の割り当て

    • インスタンス変数とクラス変数への割り当て (シングルトンクラス / メソッドにインスタンス変数を含める)

    • メソッドとブロックでのパラメーター割り当て

    • メソッドとブロックの戻り値

    • メソッドと yield 呼び出しの引数

クイックドキュメントを見る

クイックドキュメントを使用して、使用中の RBS 署名に関する情報を取得できます。

  1. エディターで必要なシンボルの上にマウスを置きます。

  2. シンボルにキャレットを置き、Ctrl+Q を押すか、メインメニューから表示 | クイックドキュメントを選択します。

    Ctrl+Q をもう一度押して、ドキュメント> ツールウィンドウでこのドキュメントを開きます。

  3. ポップアップで the Show Options Menu icon をクリックしてフォントサイズを変更するか、クイックドキュメントツールバーを表示するか、ソースコードに移動します。

RBS ファイルを作成する

  1. プロジェクトビュー Alt+1 で、新しい RBS ファイルを作成するディレクトリを選択します。

  2. Alt+Insert を押して、ポップアップから RBS ファイル / クラスを選択します。

    Create a new RBS file

    別のオプションとして、メインメニューからファイル | 新規 | RBS ファイル / クラスを選択します。

  3. ファイル名を指定して、Enter を押します。

RBS プロトタイプを生成する

RubyMine は、Ruby コードから単純なシグネチャープロトタイプ(英語)を生成するためのツールを提供します。これらのプロトタイプは、プロジェクトに新しい RBS 型を追加し始める方法を理解するのに役立つ場合があります。

  1. 型シグネチャーを生成する Ruby ファイルを開きます。

  2. メインメニューで、コード | 生成 Alt+Insert に移動します。

  3. 生成ポップアップで型シグネチャーを選択します。

    Generate an RBS prototype

    RubyMine は、Ruby ファイルと同じ名前の新しい RBS ファイルを生成します。結果のプロトタイプに含まれるすべての型は、untyped として指定されます。型シグネチャーを書き込むためのテンプレートとして使用できます。

クイックフィックスを使用して不足している型シグネチャーを追加する

Missing Type Signature インスペクションのクイックフィックスを使用して、欠落している型シグネチャーをいつでも追加できます。RubyMine は、既存の RBS ファイルに移動するか、必要に応じて新しい RBS ファイルを作成し、それぞれの署名テンプレートを生成します。

  1. 型シグネチャーがない Ruby シンボルにキャレットを置きます。

  2. Alt+Enter を押すか、問題のある行の the Intention action button アイコンをクリックします。

    Add a missing type signature
  3. メニューから型シグネチャーを追加フィックスを選択します。

  4. 開いた RBS ファイルで、型シグネチャーを更新します。

型シグネチャーを編集する

RubyMine を使用すると、専用のインテンションアクションまたは不一致型インスペクションで使用できるクイックフィックスを使用して、Ruby ファイルから型シグネチャーを編集できます。

  1. 編集する型の署名である Ruby シンボルにキャレットを置きます。

  2. Alt+Enter を押して、メニューから型シグネチャーの編集を選択します。

    Edit a type signnature using an intention
    Edit a type signnature using a quick-fix
  3. 開いた RBS ファイルで、型シグネチャーを更新します。

RBS ファイルの構造を表示する

構造ツールウィンドウ Alt+7 を使用して、RBS ファイルの高レベルの構造を調べることができます。

Structure tool window

Ruby ファイルと RBS ファイル間を移動する

RubyMine を使用すると、Ruby 宣言からその型シグネチャーに、またはその逆に移動できます。ナビゲーション機能は次の目的で利用できます。

  • 属性 (現在、RBS から Ruby に移動する場合にのみ機能します)

  • クラス、モジュール、定数

  • クラス変数とインスタンス変数

  • グローバル変数

  • メソッド (singleton を含む)

型署名に移動する

  • Ruby 宣言を選択し、移動 | 型シグネチャーに移動して、その型シグネチャーに移動します。

    Navigating between a Ruby declaration and its type signature

関連する Ruby 宣言に移動する

  • 型シグネチャーを選択し、移動 | 関連する宣言に移動して、関連する Ruby 宣言に移動します。

    Navigating between an RBS signature and an associated Ruby declaration

インテンションアクションで移動する

  1. キャレットを必要な要素に配置し、Alt+Enter を押します。

  2. リストから必要な型署名または関連する宣言に移動するアクションを選択します。Enter を押して、インテンションアクションを適用します。

    Navigate with intention actions

関連する Ruby または RBS 要素に移動する

  1. 必要な要素にキャレットを置き、メインメニューの移動 | 関連シンボル Ctrl+Alt+Home に移動します。

  2. 必要に応じて、ポップアップから目的のターゲットを選択します。

    Navigate to a related Ruby element

Steep を使用して Ruby の型を確認する

RubyMine は、なんでも実行を使用した Steep(英語) コマンドの実行をサポートします。Steep を使用する前に、必ず steep gem を Gemfile に追加してください。

gem 'steep'

Steep をインストールした後、プロジェクトの Steepfile を生成する必要があります。

Steepfile を生成して構成する

  1. Ctrl を 2 回押します。

  2. 検索フィールドに steep init と入力し始めます。提案のリストからコマンドを選択し、Enter を押します。RubyMine は、プロジェクトの Steepfile を生成します。

  3. 生成された Steepfile を開いて編集します。例:

    target :lib do check "lib" signature "sig" library "set", "pathname" end

型チェックを実行する

  1. Ctrl を 2 回押します。

  2. 検索フィールドに steep check と入力し始めます。提案のリストからコマンドを選択し、Enter を押します。

    RubyMine は、コマンド出力を実行ツールウィンドウに表示します。

    Command output in the Run tool window

コードスタイルの設定を構成する

RubyMine は、Ruby と RBS の両方に同じコードスタイル設定を適用します。RBS のコードスタイルをカスタマイズするには:

  1. 設定ダイアログ(Ctrl+Alt+S)で、エディター | コードスタイル | Ruby に移動します。

  2. 必要なコードスタイル設定を構成します。

構文ハイライトを構成する

RubyMine は、Ruby 配色を使用して、RBS ファイルの構文をハイライトします。

好みや習慣に応じて、RBS 対応の構文のハイライトを構成できます。

  1. 設定ダイアログ(Ctrl+Alt+S)で、エディター | カラースキームの切り替え | Ruby に移動します。

  2. 配色を選択するか、デフォルトから継承されたハイライト設定を受け入れるか、色とフォントを設定する説明に従ってカスタマイズします。

関連ページ:

コードの再フォーマットと再配置

RubyMine を使用すると、現在のコードスタイルスキームまたは .editorconfig ファイルで指定した要件に従ってコードを再フォーマットできます。で定義されていないものがあれば、プロジェクト設定から取得されます。コードの一部、ファイル全体、ファイルのグループ、ディレクトリ、モジュールを再フォーマットできます。コードの一部または一部のファイルを再フォーマットから除外することもできます。コードフラグメントを再フォーマットするエディターで、再フォーマットしたいコードフラグメントを選択します。再...

コード補完

このセクションでは、コーディングプロセスのスピードアップを可能にするコンテキスト対応コード補完のさまざまなテクニックについて説明します。基本補完:基本コード補完は、可視性スコープ内のクラス、メソッド、キーワードの名前を完成させるのに役立ちます。コード補完を呼び出すと、RubyMine はコンテキストを分析し、現在のキャレット位置から到達可能な選択肢を提案します (提案にはライブテンプレートも含まれます)。基本補完を呼び出す名前の入力を開始します。を押すか、メインメニューからを選択してください。...

使用箇所を検索

コードを記述または編集するときに、変更または削除するコード要素に遭遇する場合があります。変更を行う前に、コード要素がどこで使用され、アプリケーションにどのように影響するかを確認することをお勧めします。使用箇所の検索アクションを使用すると、コードベース全体でコード要素の参照を検索できます。検索プロセスを管理し、単一のファイルのみで検索したり、検索をプロジェクト全体に拡張したり、特定の検索範囲を作成したりできます。さらに、使用箇所のハイライトの色を構成したり、用途の自動ハイライトを完全に無効にしたり...

コードナビゲーション

さまざまなアクションやポップアップを使用して、エディター内のコードを素早く移動することができます。RubyMine で利用可能なナビゲーションオプションをチェックするためにビデオチュートリアルを見ることから始めることができます。キャレットで移動する後方に移動するには、を押します。前方に移動するには、を押します。最後に編集した場所に移動するには、を押します。エディターで現在のキャレット位置を見つけるには、Ctrl+M を押します。大きなファイルをスクロールしたくない場合は、このアクションが役立

コードインスペクション

RubyMine には、プロジェクト内の異常なコードを検出して修正する一連のコードインスペクションがあります。IDE は、さまざまな問題を見つけてハイライトし、デッドコードを見つけ、考えられるバグやスペルの問題を見つけ、全体的なコード構造を改善することができます。インスペクションは、すべてのプロジェクトファイルまたは特定のスコープでのみ(たとえば、本番コードまたは変更されたファイルでのみ)コードをスキャンできます。すべてのインスペクションには、問題がコードに影響を与える可能性がある程度の重大度レ...

名前の変更リファクタリング

名前変更リファクタリングを使用して、シンボル、ファイル、ディレクトリ、Rails アプリケーションコンポーネント、Rails 名前付きスコープ、Rails フィクスチャなどの名前を変更します。RubyMine は、コード全体で、名前が変更された項目へのすべての参照を自動的に変更します。ローカル変数またはプライベートメソッドの名前の変更は、限られた範囲のみが影響を受けるため、インラインで簡単に実行できます。クラスや public メソッドの名前を変更すると、多くのファイルに影響を与える可能性があり...