请参阅图片-我想在a
(这是POSString
对象)旁边放置一个下拉箭头。换句话说,在Pycharm调试器中,我希望可以选择双击a
并看到具有值bar
的属性"HELLO"
,就像foo
对象一样。 / p>
在Pycharm中有可能吗?如果可以,怎么办?
两个类:
class Foo:
bar = "HELLO"
class POSString(str):
bar = "HELLO"
def __init__(self, pos="", *args, **kwargs):
super().__init__(*args, **kwargs)
self.pos = pos
def __hash__(self):
return hash((str(self), self.pos))
def __eq__(self, other):
return super().__eq__(other) and self.pos == other.pos
以及如何创建两个对象:
foo = Foo()
a = POSString("banana")
我正在使用Python 3.7.1。
Pycharm:
PyCharm 2018.2.5 (Professional Edition)
Build #PY-182.5107.22, built on November 13, 2018
JRE: 1.8.0_152-release-1248-b22 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.15.0-43-generic
答案 0 :(得分:0)
PyCharm 当前没有配置在调试工具窗口的 Variables Tab 中显示该详细信息的设置。 IDE 会根据对象的类型自动做出大多数显示决策。当前唯一可用的选项是使用 File
>
Settings
>
Build, Execution, Deployment
>
{{1} } Debugger
>
Data Views
>
。 (有关更详细的说明,请参阅 this post)。
这对于调试来说可能不方便,问题中的示例 Sort values alphabetically
显示完全像一个字符串,因为该类继承自字符串。这是 IDE 的决定,目前无法更改(除了使用 JetBrains 发布功能请求)。
替代方法是在变量选项卡中或使用控制台设置“手表”。另一个更不方便的替代方法是将类本身更改为不从字符串继承(在这种情况下,它将像常规类一样显示)但是这可能会破坏代码中的任意数量的功能,因此获得的调试便利可能会被造成的不便。