PyCharmが特定のPython関数がどこから呼び出されたかを示す方法はありますか?
私は現在、プロジェクト全体で単に関数名を検索することに頼っていますが、これは多くの場合うまく機能しますが、関数名があいまいな場合、多くの間違ったヒットがあります。たとえば、検索結果をさらに絞り込んで、検索元のモジュールをモジュールがインポートする場所のみを表示することはできますか?
PyCharmでは、関数を選択し、++を押しAltて使用状況検索を実行できますShift。F7[編集]→[検索]→[使用法の検索]からも利用できます。テキスト検索よりもインテリジェントなようです。
静的分析を使用して関数がどこから呼び出されているかを見つけることは、動的バインディングを使用し、多くのイントロスペクションを備えているため、誤検知の誤用を非常に簡単に取得できるため、一般にPythonでは困難です。モジュールレベルの関数の場合、良い解決策は常にmodule.function
関数を呼び出すために使用し、決して実行しないことだと思いますfrom module import function
。このようにして、「module.function」のテキスト検索を実行できます。Pythonスタイルガイドでは、一般的にこの方法で関数などをインポートすることを推奨しているので、これは一般的に受け入れられている良い習慣だと思います。
もちろん、メソッド呼び出しを見つけるのははるかに困難です。JavaとC#での開発で私が気に入っていることの1つは、静的分析によってメソッドのすべての使用法を見つけることができることです。
Ctrl キーを押しながらマウスを関数ヘッダーの上に置きます。関数名が強調表示されます。関数名をクリックして、関数が呼び出されるすべてのインスタンスのリストを取得します。
Ctrl キーを押しながらマウスを関数呼び出しの上に置くと、関数名が強調表示され、それをクリックすると関数定義が表示されます。