18

PyCharm 有没有办法显示给定 Python 函数的调用位置?

我目前仅依靠在整个项目中搜索函数名称,这通常可以正常工作,但如果函数名称含糊不清,则会出现很多不正确的命中。我想知道我是否在某处遗漏了某个功能,例如,也许搜索结果可以进一步缩小以仅显示模块从哪里导入我正在搜索的模块?

4

2 回答 2

17

在 PyCharm 中,您可以选择一个函数并按Alt+ Shift+F7运行使用搜索。它也可以在“编辑→查找→查找用法”下找到。它看起来比文本搜索更智能。

在 Python 中,使用静态分析来查找函数的调用位置通常很困难,因为它使用动态绑定并且有很多内省,因此很容易误报误用。在模块级函数的情况下,我认为一个好的解决方案是始终使用module.function来调用函数并且从不执​​行from module import function. 这样您就可以对“module.function”进行文本搜索。Python 风格指南通常建议您以这种方式导入函数等,因此我认为这是普遍接受的良好做法。

查找方法调用当然要困难得多。我喜欢用 Java 和 C# 开发的一件事是能够通过静态分析找到方法的所有用法。

于 2012-07-10T22:18:46.107 回答
9

按下 Ctrl 键并同时将鼠标悬停在函数标题上。函数名称应突出显示。单击函数名称以获取调用该函数的所有实例的列表。

如果您按下 Ctrl 键并同时将鼠标悬停在函数调用上,则函数名称将突出显示,单击它将带您进入函数定义。

于 2016-06-06T12:19:48.260 回答