【问题标题】:Pycharm type hinting of custom modules自定义模块的 Pycharm 类型提示
【发布时间】:2015-05-01 04:17:27
【问题描述】:

考虑这个文件系统:

  • 一个
    • __init__.py
    • b.py
  • c
    • __init__.py
    • d.py
  • main.py

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 :(

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

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

提前致谢

【问题讨论】:

  • 不幸的是,这不起作用。即使您没有在 d.py 中显示任何导入,我也很惊讶它对您有用。
  • 感谢您的回复。不幸的是,添加导入并不能解决这个问题。可以在同一项目中任何类的文档字符串中设置变量类型。唯一的问题是项目中存在多个同名类时。在这种情况下,无法指定哪些类应该用于代码完成/提示。根据官方文档jetbrains.com/pycharm/help/type-hinting-in-pycharm.html,这种语法是否有效(“类型语法”部分中的第二个项目符号),但由于某种原因它没有。

标签: python autocomplete ide pycharm type-hinting


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-19
    • 2021-05-30
    • 2013-12-26
    • 1970-01-01
    • 2020-11-23
    • 2021-09-12
    • 2017-06-18
    • 2015-11-23
    相关资源
    最近更新 更多