PyCharm 2020.2 ヘルプ

移動リファクタリング

移動リファクタリングを使用すると、プロジェクト内のクラス、関数、モジュール、ファイル、およびディレクトリを移動できます。その際、PyCharm はこれらの動きを追跡し、ソースコード内の移動されたシンボルへのすべての参照を自動的に修正します。

次の移動リファクタリングが利用できます。

  • ファイルの移動リファクタリングはファイルを別のディレクトリに移動します。

  • ディレクトリの移動リファクタリングはディレクトリを別のディレクトリに移動します。

  • モジュールメンバーの移動リファクタリングは、Python モジュールのトップレベルシンボルを移動します。

  • ローカル関数 / メソッドをトップレベルにするリファクタリングは、メソッドまたはローカル関数を最上位関数に変換し、指定されたファイルに移動します。

ファイルまたはディレクトリを別のディレクトリに移動する

  1. プロジェクトツールウィンドウでファイルまたはディレクトリを選択します。

  2. メインメニューまたはエディターのコンテキストメニューからリファクタリング | 移動を選択するか、F6 を押します。

  3. 宛先ディレクトリフィールドで、選択したファイルまたはフォルダーの移動先のフォルダーを指定します。リストから既存のフォルダーを選択するか、作成する親フォルダーへの絶対パスを入力します。選択したファイルまたはフォルダーへの参照をリファクタリング結果に従って更新するには、参照の検索チェックボックスを選択します。

トップレベルシンボルの移動

メンバーを移動する

  1. キャレットを最上位シンボルに配置します。たとえば、次のようにします。

    Move module member
  2. メインメニューまたはエディターのコンテキストメニューからリファクタリング | 移動を選択するか、F6 を押します。モジュールメンバーの移動ダイアログが開きます。

    Move module member dialog

    コントロールの詳細な説明については、ダイアログリファレンスを参照してください。

  3. このダイアログで、移動するメンバーを選択してターゲットファイルを指定します。

  4. 変更をプレビューして適用します

関数 / メソッドをトップレベルに移動する

このリファクタリングは、インスタンスの属性または変数への参照を囲むスコープからパラメーターに変換し、それに応じて既存の使用箇所を更新することによって、ローカル関数またはメソッドをトップレベルに移動します。

関数またはメソッドをトップレベルに移動する

  1. キャレットをローカル関数またはメソッド名の上に置きます。

  2. メインメニューまたはエディターのコンテキストメニューからリファクタリング | 移動を選択するか、F6 を押します。

  3. 表示されるメソッドをトップレベルにするダイアログで、移動先を指定します。手動で入力するか、または参照ボタンthe Browse buttonをクリックして宛先ファイルを選択ダイアログで目的のファイルを見つけることができます。

  4. リファクタリングをクリックしてリファクタリングを実行するか、プレビューをクリックして、検索ツールウィンドウにプレビューを表示します。プレビュー結果が満足であれば、リファクタリング実行をクリックして移動を確認します。

サンプル

import math class Solver(object): def __init__(self, a, b, c): self.a = a self.b = b self.c = c def demo(self): d = self.b ** 2 - 4 * self.a * self.c if d >= 0: disc = math.sqrt(d) root1 = (- self.b + disc) / (2 * self.a) root2 = (- self.b - disc) / (2 * self.a) print(root1, root2) return root1, root2 else: raise Exception Solver(2, 123, 0.025).demo()
import math class Solver(object): def __init__(self, a, b, c): self.a = a self.b = b self.c = c def demo(b, a, c): d = b ** 2 - 4 * a * c if d >= 0: disc = math.sqrt(d) root1 = (- b + disc) / (2 * a) root2 = (- b - disc) / (2 * a) print(root1, root2) return root1, root2 else: raise Exception s = Solver(2, 123, 0.025) demo(s.b, s.a, s.c)

コピーリファクタリング

コピーリファクタリングでは、異なるディレクトリまたは同じディレクトリにファイルまたはディレクトリのコピーを作成できます。

コピーリファクタリングを実行する

  1. ツールウィンドウ(プロジェクトツールウィンドウなど)で目的の項目を選択します。または、必要なクラスまたはファイルをエディターで開きます。

  2. 以下のいずれか 1 つを実行します :

    • メインメニューまたはコンテキストメニューからリファクタリング | コピーを選択します。

    • F5 を押します。

    • プロジェクトツールウィンドウで、Ctrl を押したままアイテムを目的の場所にドラッグします。

  3. 開いているコピーダイアログで、作成するコピーの名前と場所を指定し、OK をクリックします。

最終更新日 :