簡體   English   中英

如何導航到 PyCharm 中另一個文件中基類的定義?

[英]How to navigate to definitions of the base class in another file in PyCharm?

我在 PyCharm 編輯器中有一個項目,其中基類和子類在單獨的文件中實現。 在子類中,我正在訪問在基類中實現的函數。

Pycharm 有一個鍵盤快捷鍵“Ctrl + Alt + B”,可以轉到按下快捷鍵時突出顯示的方法的實現。 但是,我無法導航到不同文件中的任何實現。 我只能使用在同一文件中實現的方法。 我還嘗試了其他選項,包括導航到超級方法或導航到聲明只是為了查看是否有任何其他命令可用於導航到不同的文件,但它們似乎都無效。

除了在 PyCharm 中包含同一個項目中的文件之外,我還需要做些什么才能使這成為可能? 例如,我之前是否必須進行任何類型的索引,以便 PyCharm 可以識別不同文件中的實現?

以下是 Dan 評論后的更多詳細信息: 項目結構很簡單:

項目目錄

  • 目錄 1
  • 目錄2

目錄 1 內

  • 文件 1
  • 文件 2

與目錄 2

  • 文件 3
  • 文件 4

對於這個問題,可以將 File1 視為基類,將 file3 視為子類。 當我在 pycharm 中的 File3 中並且它們在調用 file1 中實現的函數的位置時,我無法導航到 File1 中的該函數。

事實上,即使沒有類繼承關系,我也無法導航到光標所在的當前文件以外的文件中實現的任何函數。 例如,如果我正在調用 File3 中的函數,而該函數位於 File4 的同一目錄中,則我無法導航到該函數。

這有點令人驚訝,因為基本的其他 IDE 端可能在我的設置中存在一些問題,但我不知道該怎么做。 希望有了這些信息,有人至少可以為我指明進一步調查的方向。 我正在使用 pycharm 社區版

經過幾天的搜索,我終於找到了這個難題的答案。 當我導入基類模塊時,我是這樣導入的:

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

看起來pycharm不明白這一點。 當我把它改成

import dir1.file1

在 dir2/file2 (它是子類)中,pycharm 能夠導航到基類。 我希望它可以幫助某人。 我花了三個星期才弄清楚。 但是我不是一個很聰明的人,其他人可以借助這個答案或自己弄清楚

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM