如何在PyCharm的另一个文件中导航到基类的定义?

时间:2018-08-26 10:43:57

标签: python pycharm

我在PyCharm编辑器中有一个项目,其中基类和子类在单独的文件中实现。在子类中,我正在访问在基类中实现的功能。

Pycharm具有键盘快捷键“ Ctrl + Alt + B”,可以转到按下快捷键时突出显示的方法的实现。但是,我无法导航到其他文件中的任何实现。我仅能在同一文件中实现的方法。我还尝试了其他选项,包括导航到super方法或导航到声明,只是为了查看是否有其他命令可以导航到另一个文件中,但它们似乎都不有效。

除了在PyCharm的同一项目中包含文件之外,还有其他要做的事情来使之成为可能吗?例如,我之前需要做任何索引编制,以便PyCharm可以识别跨不同文件的实现吗?

在Dan发表评论后,以下是更多详细信息: 项目结构很简单:

项目目录

  • Dir1
  • Dir2

在Dir1内

  • 文件1
  • 文件2

Withi Dir2

  • File3
  • File4

出于此问题的目的,可以将File1视为基类,将File3视为子类。当我在pycharm中的File3中,并且它们在调用file1中实现的功能的地方时,我无法导航到File1中的该功能。

实际上,即使没有类继承关系,我也无法导航到除光标所在的当前文件以外的文件中实现的任何功能。例如,如果我正在调用File3中的函数,并且该函数位于File4中的同一目录中,则无法导航到该函数。

这有点令人惊讶,因为基本的其他IDE端可能在我的设置中存在一些问题,但是我不知道该怎么做。希望有了这些信息,有人至少可以指出我要进行进一步调查的方向。我正在使用pycharm社区版

1 个答案:

答案 0 :(得分:0)

经过几天的搜索,我终于找到了难题的答案。 导入基类模块时,我是这样导入的:

sys.path.insert(0, r"<relative path to base class>")
import base_class

看起来pycharm无法理解。 当我将其更改为

import dir1.file1
dir2 / file2中的

(这是子类) pycharm能够导航到基类。希望对您有所帮助。我花了三个星期才弄清楚。但是我不是一个很聪明的人,其他人可以借助这个答案或自己解决这个问题