コードのドキュメント化
YARD(英語) および RDoc(英語) は、コードをドキュメント化するために複数のライブラリで使用される最も一般的なドキュメント生成ツールです。RubyMine では、クイックドキュメントルックアップを使用して、YARD または RDoc 構文で記述されたドキュメントを表示できます。さらに、RubyMine は、YARD タグで動作する拡張機能を提供します。
欠落している YARD タグを作成する
YARD タグの有効性を確認して修正する
YARD タグを活用して、コードインサイトを向上させる (たとえば、オブジェクト型の決定、メソッドのパラメーター情報の表示など。)
YARD タグの作成と修正
ここでは、いくつかのパラメーターをとるメソッドを文書化する方法を示します。この場合、メソッドは 2 つの引数を取り、これらの値の積を返します。
YARD タグを使用してこのメソッドにアノテーションを付け、誤ったタグを修正する方法について説明します。
@param タグを追加する
メソッド名にキャレットを置き、Alt+Enter を押します。
呼び出されたポップアップで、@param タグを追加するアクションを選択します。
RubyMine はメソッドの上に対応するコメントを追加し、各パラメーター値の型を指定することを提案します。整数を入力し、Ctrl+Space を押して提案を表示します。整数を選択し、Enter を押して選択を確定し、もう一度 Enter を押して 2 番目のパラメーターの型を指定します。
@param タグの構文形式を構成する
デフォルトでは、RubyMine はパラメーター型の後にパラメーター名を生成します(例: @param [Integer] val1
)。この動作を変更し、型(@param val1 [Integer]
)の前にパラメーター名を設定するには、次の手順を実行します。
設定ダイアログ (Ctrl+Alt+S) を開きます。
Ruby グループでメソッドパラメーターに '@param' タグがありませんインスペクションを選択します。
ページを開き、タグ構文形式オプションを使用して、目的の順序を指定します。
誤った YARD タグを削除する
YARD タグを編集すると、RubyMine は間違ったタグが存在するかどうかをチェックします。例: これは重複したタグであるか、タグに対応するパラメーターがコードにありません。誤った YARD タグを削除するには:
目的のタグを含むハイライトされた行にキャレットを置き、Alt+Enter を押します。
呼び出されたポップアップで、タグの除去アクションを選択します。
コードインサイトのための YARD
RubyMine は、さまざまなコードインサイト機能に YARD 型のアノテーションを利用します。たとえば、オブジェクト型の決定、コード補完で取得したオブジェクト型の使用、メソッドのパラメーター情報の表示などです。いくつかの例を見てみましょう。
型情報を表示
RubyMine は、@return
、@param
、@yieldparam
などの YARD タグを使用して、オブジェクトの型を判別します。

RubyMine は、指定されたタイプに対応する完了結果を提案することに注意してください。

戻り値 / パラメーター型の不一致
RubyMine は、メソッドの実際の戻り値とパラメーターの型が、@return
および @param
アノテーションを使用して提供された対応する型と一致するかどうかを確認できます。例: メソッドの戻り型が @return
型と一致しない場合、エディターは警告を表示します。

これらの警告は、不一致のパラメーター型および不一致の戻り型インスペクションを使用して管理できます。
パラメーター情報
@type タグ
標準の YARD および RDoc タグの他に、RubyMine は @type タグを処理して、可変型に関する情報を受け取ることができます。例: ローカル変数(変数名あり / なし)とブロックパラメーターにこのタグを使用できます:
ローカル変数
# @type [Integer] customer_id = 1 # @type [String] customer_name customer_name = "Andrew Fuller"ブロックパラメーター
# @type [Integer] number [1, 2, 3].each do |number| puts "#{number}" end
YARD/RDoc コメントをレンダリングする
RubyMine を使用すると、YARD/RDoc コメントをエディターでレンダリングできます。レンダリングされたコメントは読みやすく、追加のタグでコードがオーバーロードになることはありません。リンクをクリックして、参照されている Web ページに移動したり、参照されているトピックのクイックドキュメントを表示したりできます。


RubyMine は YARD マクロ拡張も認識し、一般的なコーディング支援を提供します。マクロをレンダリングするとき、RubyMine はその参照の代わりにマクロデータを表示します。これには、マクロデータで使用される変数置換 ($1、$2 など) が含まれます。


レンダリングされたビューを切り替える
必要なドキュメントコメントの横のガターで
をクリックして(または Ctrl+Alt+Q を押して)、レンダリングビューを切り替えます。
をクリックしてコメントを編集します。
(オプション)フォントサイズを変更するには、エディターでコメントを右クリックし、コンテキストメニューからフォントサイズを調整を選択します。レンダリングされたコメントは、クイックドキュメントポップアップと同じフォントサイズを使用することに注意してください。
デフォルトでコメントのレンダリングを有効にする
エディターにコメントを常に表示するように IDE を構成できます。
ガターのアイコン(
または
)を右クリックし、すべてレンダリングオプションを有効にします。
または、設定ダイアログ Ctrl+Alt+S で を選択し、ドキュメントコメントをレンダリングするオプションを有効にします。
レンダリングされたコメントを編集するには、コメントの横のガターにある アイコンをクリックします。
関連ページ:

コードリファレンス情報
パラメーター情報:パラメーター情報ポップアップには、メソッド呼び出しと関数呼び出しのパラメーターの名前が表示されます。RubyMine は、エディターで左括弧を入力するか、候補リストからメソッドを選択すると、1 秒 (1000 ミリ秒) 以内に、使用可能なすべてのメソッドシグネチャーを含むポップアップを自動的に表示します。ポップアップが閉じている場合、または IDE がポップアップを自動的に表示しないように構成されている場合は、ポップアップを明示的に呼び出すことができます。これを行うには、を...

コード補完
基本コード補完は、可視性スコープ内のクラス、メソッド、キーワードの名前を補完するのに役立ちます。RubyMine はコンテキストを分析し、現在のキャレット位置から到達可能な選択肢を提案します。候補にはライブテンプレートも含まれます。補完機能は英語以外のキーボードレイアウトでも利用できます。基本補完を呼び出すデフォルトでは、RubyMine は入力時に自動的にコード補完ポップアップを表示します。あるいは、を押すか、メインメニューからを選択することもできます。、コード補完はカスタムファイルタイプで...

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

自動インポート
JavaScript および TypeScript ファイルでは、RubyMine は、モジュール、クラス、コンポーネント、エクスポート可能なその他のシンボルや XML ネームスペースのインポートステートメントを自動的に追加します。JavaScript で自動インポート、TypeScript での自動インポート、XML 名前空間のインポートの詳細を参照してください。ES6 シンボルまたは CommonJS モジュールを完了すると、RubyMine はインポートステートメント自体のスタイルを決定す...