コードのリファクタリング
リファクタリング(英語)は、新しい機能を作成せずにソースコードを改善するプロセスです。リファクタリングは、コードを安定させ、保守を容易にできます。
リファクタリングを実行するには、以下の一般的な手順に従います
リファクタリングするシンボルまたはコード断片を選択 (またはカーソルを合わせて) します。
次の PyCharm コンポーネントのシンボルを選択できます。
プロジェクトビュー
構造ツールウィンドウ
エディター
UML クラスダイアグラム
以下のいずれか 1 つを実行します:
メインの
メニュー上または選択したコンテキストメニューから、目的のリファクタリングを選択するか、対応するキーボードショートカット(ある場合)を押します。に移動するか、Ctrl+Alt+Shift+T を押して、ポップアップから目的のリファクタリングを選択します。
表示されるダイアログで、リファクタリングオプションを指定します。
変更を直ちに適用するには、リファクタリングタイプに応じて、リファクタリングまたは OK をクリックします。
特定のリファクタリングでは、実際にリファクタリングを実行する前に変更内容をプレビューするオプションがあります。このような場合、対応するダイアログでプレビューボタンを使用できます。
潜在的な変更をプレビューし、必要な調整を行うには、プレビューをクリックします。PyCharm は、検索ツールウィンドウの専用タブで行われる変更を表示します。
このステップで可能なアクションの 1 つは、リファクタリングから特定のエントリを除外することです。これを行うには、リストで目的の項目を選択し、Delete を押します。
リファクタリング後に競合が予想される場合、PyCharm は発生した問題の簡単な説明を含むダイアログを表示します。このような場合は、次のいずれかの操作を行います。
続行ボタンをクリックして競合を無視してください。その結果、リファクタリングが実行されますが、誤った結果につながる可能性があります。
ビューで表示ボタンをクリックして競合をプレビューします。PyCharm には、検索ツールウィンドウの競合タブの競合するすべてのエントリが表示され、問題のあるコード行に移動して必要な修正を加えることができます。
リファクタリングをキャンセルしてエディターに戻ります。
提案された結果に満足したら、リファクタリング実行をクリックして変更を適用します。
リファクタリングの呼び出し
リファクタリングするアイテムを選択します。エディターでプロジェクトツールウィンドウまたは式 / シンボルでファイル / フォルダーを選択できます。
選択可能なリファクタリングのリストを開くには、Ctrl+Alt+Shift+T を押します。
または、特定のリファクタリング用のキーボードショートカットを使用することもできます。
フィールドのカプセル化、static メンバーの移動、委譲の抽出、インターフェースの抽出、スーパークラスの抽出などの拡張範囲のリファクタリング操作用にマルチキャレット選択を作成することもできます。この機能を利用するには、リファクタリングを適用する各メンバーにキャレットを置きます。IDE はリファクタリングダイアログでこれらのメンバーを自動的に事前選択してチェックします。
リファクタリングを元に戻す必要がある場合は、Ctrl+Z を押します。
リファクタリングの変更をプレビューする
一部のリファクタリングでは、PyCharm を使用して変更を適用する前に変更をプレビューできます。
リファクタリングプレビューダイアログでプレビューをクリックすると、潜在的な変更 (リファクタリングが実行される使用箇所のリスト) が表示されます。
開いた検索ツールウィンドウで、行われる変更を確認します。Delete を除外したり、不要と思われる Ctrl+X の変更を削除したりできます。
リファクタリング実行をクリックして、変更を続行します。
リファクタリング設定を構成する
設定ダイアログ(Ctrl+Alt+S)で、 を選択します。
コード編集ページのリファクタリングセクションでリファクタリングオプションを調整し、OK をクリックします。
関連ページ:
検索ツールウィンドウ
検索ツールウィンドウには、次の検索結果が表示されます。パス内検索 / 置換、使用箇所の検索、構造検索と置換、リファクタリングプレビュー、データソース、テーブル、列の使用箇所の検索。検索ツールウィンドウには複数のタブを含めることができます。デフォルトでは、検索ごとに現在のタブで検索結果が更新されます。各検索の結果を別のタブに表示するには、ツールウィンドウのヘッダーを右クリックし、を選択します。デフォルトでは、検索ツールウィンドウが画面の下部に表示されます。これには、一連のボタン、結果のペイン、パス...
複数のカーソルと選択範囲
PyCharm エディターで入力、コピー、貼り付けを行う場合、複数のカーソルを切り替えて、アクションが複数の場所に同時に適用されるようにすることができます。コード補完やライブテンプレートなどの高度なエディターアクションもサポートされており、各キャレットに適用されます。ファイルに追加できるキャレットの数は 1000 に制限されています。この制限を増やす場合は、カスタム JVM オプションを開き、次の行を追加します: 最近追加されたキャレットはプライマリと見なされます。現在のエディターライン、補完リス...
シグネチャーの変更
シグネチャーの変更リファクタリングは、関数シグネチャーに適用できるいくつかの異なる変更を組み合わせます。このリファクタリングを使用して、次のことができます。関数名を変更する、パラメーターの追加、削除、並べ替え、パラメーターにデフォルト値を割り当てます、関数のシグネチャーを変更すると、PyCharm は関数のすべての使用箇所を検索し、変更、反映、変更を安全に修正できる関数のすべての呼び出し、実装、置き換えを置き換えます。パラメーターの追加赤色でハイライトされている値をクリックします。を押してパラメ...