Pycharm 自定义模块的类型提示

Pycharm type hinting of custom modules

考虑这个文件系统:

b.py:

class B:
  def foo(self):
    print("foo")

d.py:

 class D:
      def bar(self):

        x = None
        """:type : B"""
        #^- working

        y = None
        """:type : a.b.B"""
        #^- nope :(

我的目标是使用 class 的完整路径进行类型提示(如 :type 的第二个示例所示)。第一种语法的问题是 pycharm 不考虑重复性,只是提示 "closest" class 所需的名称。此项目的执行从 main.py.

开始

问题: 如何使第二种语法(class 的绝对路径)在 PyCharm 3.4.1 中工作?

提前致谢

不幸的是,这是目前 PyCharm 中的一个缺陷。

参见:https://youtrack.jetbrains.com/issue/PY-12870