シグネチャの変更

機能: 関数のパラメーターを変更できます。

条件: さまざまな場所で使用される関数のパラメーターを並べ替え、追加、削除、変更するとき。

理由: パラメーターは自分で手動変更し、その関数の呼び出しをすべて検索し、1 つずつ変更できますが、その方法ではエラーにつながることがあります。 このリファクタリング ツールは、タスクを自動的に実行します。

方法:

  1. 変更するメソッドの名前またはその使用の内側にテキストまたはマウス カーソルを置きます。

    ChangeUserInfo 関数にマウス カーソルが置かれた状態のコードのスクリーンショット。

  2. 次に、以下のいずれかを実行します。

    • [キーボード]
      • Ctrl + R キーを押し、次に Ctrl + O キーを押します。 (キーボード ショートカットは、選択したプロファイルに応じて異なる場合があります。)
      • Ctrl+. を押して [クイック アクションとリファクタリング] メニューをトリガーし、コンテキスト メニューから [シグネチャの変更] を選択します。
    • マウス
      • [編集] > [リファクター] > [パラメーター順序の再変更] の順に選択します。
      • コードを右クリックして [クイック アクションとリファクタリング] メニューを選択し、コンテキスト メニューから [シグネチャの変更] を選択します。
  3. ポップアップ表示される [シグネチャの変更] ダイアログでは、右側にあるボタンを使ってメソッド シグネチャを変更できます。

    ChangeName() 関数の [署名の変更] ダイアログのスクリーンショット。パラメーターは、名前、型、関連付けられた値 (存在する場合) 別に一覧表示されます。

    Button 説明
    上/下 選択したパラメーターを一覧内で上下に移動します
    [追加] 一覧に新しいパラメーターを追加します
    削除 選択したパラメーターを一覧から削除します
    変更 その型、名前、オプション性の指定、挿入される値を変更することにより、選択したパラメーターを変更します
    元に戻す 選択したパラメーターを元の状態に戻します
    すべて元に戻す すべてのパラメーターを元の状態に戻します

    ヒント

    [すべての参照が確認された場合、参照の変更のプレビューをスキップします] チェックボックスを使用すると、先にプレビュー ウィンドウを表示することなくすぐに変更が行われます。

    パラメーターを追加または変更すると、[パラメーターの追加] または [パラメーターの編集] ウィンドウが表示されます。

    パラメーターの種類、名前、パラメーターが既定値か省略可能かを編集または設定できる [パラメーターの追加] ウィンドウのスクリーンショット。

    ここでは、以下の操作が可能です。

    入力 説明
    Type パラメーターの型 (int、double、float など)
    名前 パラメーターの名前
    省略可能なパラメーター パラメーターが任意指定になります
    挿入された値 パラメーターが指定されないとき、関数の呼び出しに挿入される値 ([追加] にのみ有効)
    既定値 呼び出し元が値を指定しない場合に関数で使用される値 ([省略可能なパラメーター] にのみ有効)
  4. [検索範囲] ドロップダウンを使用して、変更の適用対象をプロジェクトとソリューション全体のどちらにするかを選択します。

  5. 完了したら、[OK] ボタンをクリックして変更を実行します。 要求している変更が適切に行われていることを確認します。 ウィンドウの上半分にあるチェックボックスを使用し、項目の名前変更の有効化/無効化を切り替えます。

    署名の変更プレビューのスクリーンショット。各変更を確認できるように、関数が呼び出されるすべての場所がプレビューされます。

  6. 問題なければ [適用] ボタンをクリックします。ソース コードで関数が変更されます。

    結果の変更のスクリーンショット。ChangeUserInfo() のパラメーターは、std::string lastName、std::string firstname、int age = -1 になっています。