コピーして移動リファクタリング
移動リファクタリングを使用すると、プロジェクト内のクラス、関数、モジュール、ファイル、ディレクトリを移動できます。 その際、PyCharm はこれらの移動を追跡し、ソースコード内の移動されたシンボルへのすべての参照を自動的に修正します。
次の 移動リファクタリングが利用できます。
ファイルの移動リファクタリングはファイルを別のディレクトリに移動します。
ディレクトリの移動リファクタリングはディレクトリを別のディレクトリに移動します。
モジュールメンバーの移動リファクタリングは、Python モジュールのトップレベルシンボルを移動します。
ローカル関数 / メソッドをトップレベルにするリファクタリングは、メソッドまたはローカル関数を最上位関数に変換し、指定されたファイルに移動します。
ファイルまたはディレクトリを別のディレクトリに移動する
Project ツールウィンドウでファイルまたはディレクトリを選択します。
メインメニューまたはエディターのコンテキストメニューから を選択するか、 F6 を押します。
宛先ディレクトリ フィールドで、選択したファイルまたはフォルダーの移動先のフォルダーを指定します。 リストから既存のフォルダーを選択するか、作成する親フォルダーへの絶対パスを入力します。 選択したファイルまたはフォルダーへの参照をリファクタリング結果に従って更新するには、 参照を検索 チェックボックスを選択します。
トップレベルシンボルの移動
メンバーを移動する
キャレットをトップレベルのシンボルに置いてください。たとえば:

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

コントロールの詳細については、 ダイアログリファレンスを参照してください。
このダイアログで、移動するメンバーを選択してターゲットファイルを指定します。
関数 / メソッドをトップレベルに移動する
このリファクタリングは、インスタンスの属性または変数への参照を囲むスコープからパラメーターに変換し、それに応じて既存の使用箇所を更新することによって、ローカル関数またはメソッドをトップレベルに移動します。
関数またはメソッドをトップレベルに移動する
キャレットをローカル関数またはメソッド名の上に置きます。
メインメニューまたはエディターのコンテキストメニューから を選択するか、 F6 を押します。
表示される メソッドをトップレベルにする ダイアログで、移動先を指定します。 手動で入力するか、参照ボタン
をクリックして 宛先ファイルを選択ダイアログで目的のファイルを見つけることができます。
リファクタリング をクリックしてリファクタリングを実行するか、 プレビュー をクリックして、検索ツールウィンドウにプレビューを表示します。 プレビュー結果が満足であれば、 リファクタリング実行 をクリックして移動を確認します。
サンプル
前 | 後 |
|---|---|
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)
|
コピーリファクタリング
コピーリファクタリングでは、異なるディレクトリまたは同じディレクトリにファイルまたはディレクトリのコピーを作成できます。
コピーを実行するリファクタリング
ツールウィンドウ(Project ツールウィンドウなど)で目的の項目を選択します。 または、必要なクラスまたはファイルをエディターで開きます。
次のいずれかを実行します:
メインメニューまたはコンテキストメニューから を選択します。
F5 を押す。
Project ツールウィンドウで、 Ctrl を押したままアイテムを目的の場所にドラッグします。
開いた コピー ダイアログで、作成するコピーの名前と場所を指定し、 OK をクリックします。