PyCharm 2025.2 Help

配置类型渲染

在调试会话期间,PyCharm 向您显示有关变量、类型、线程、帧等的信息。 然而,您可能希望专注于特定的运行时细节,并以特定格式过滤或呈现数据。 在这种情况下,PyCharm 允许您自定义调试器输出在 调试 工具窗口和编辑器中的显示方式。

类型渲染器也可用于 Python ConsoleJupyter Variable View

自定义类型渲染器

PyCharm 允许您为各种类型提供自定义显示格式。 这可以通过使用 renderers 实现。 渲染器是一种与特定类型相关联的特殊表达式,用于控制在调试会话期间如何显示该类型的实例。

运行中的渲染器

渲染器支持包括基本类型和数组在内的所有类型。 此外,渲染器忽略所有访问修饰符,因此即使字段已被封装,您也可以访问任何字段。

渲染器在处理自定义集合时尤其有用,因为它们的内容不易读取,您需要一目了然地识别其内容。

添加渲染器

  1. 右键点击 线程与变量 选项卡中的任意对象,在 调试 工具窗口中,从上下文菜单中选择 自定义数据视图。 或者,转到 设置 | Python | 调试器 | 类型渲染器

  2. 将打开 Python 类型呈现器 页面。 点击 添加 或按下 Alt+Insert ,然后配置渲染器表达式。

    添加新类型渲染器
  3. 调试 工具窗口和编辑器中应用更改并预览更新。

    类型渲染器已应用

渲染器属性

项目

描述

渲染器名称

渲染器的名称。 此名称用于管理渲染器,不影响实际数据的显示。

将渲染器应用于类型对象(完全限定名称)

此渲染器适用的对象类型。 输入类的完全限定名称。

渲染节点时

此选项决定对象本身的显示方式:

  • 使用默认渲染器 :按照没有此渲染器时的方式显示对象。 如果您只想自定义对象内容的显示方式,请使用此选项。

  • 使用以下表达式 :允许您使用某些表达式的返回值来显示对象。 所有方法调用和成员变量访问都是相对于呈现的实例。

    例如, self.name 将使用 name 参数的值来显示对象。

展开节点时

此选项决定对象展开时内容的显示方式。

  • 使用默认渲染器 :显示节点子节点的方式与未使用此渲染器时相同。 如果您只想自定义对象本身的显示方式,这会很有用。

  • 使用表达式列表 :允许您指定多个表达式,每个表达式提供节点子项的不同表示。

追加默认子项

控制对象的字段(在未指定渲染器时通常显示)是否应与表达式结果一起显示。 此选项仅在 使用表达式列表 中可用。

移除渲染器

  1. 变量 标签页的任意位置右键点击,然后选择 自定义数据视图

  2. Python 类型呈现器 选项卡上,选择您将要移除的渲染器,然后点击 Delete。 然后,应用更改。

静音渲染器

您可以暂时禁用渲染器,而不必完全删除它们:

  • 要静音单个 renderer,请右键点击 变量 选项卡中的任意位置,然后选择 自定义数据视图。 在 Python 类型呈现器 选项卡上,取消选中您要静音的renderer旁边的框,并应用更改。

当需要时,您可以使用相同的步骤取消静音 renderers。

示例

以下示例展示了一些常见 Python 类型的自定义渲染器:

类型

用途

渲染表达式

float

将时间戳渲染为日期时间字符串。

__import__("datetime").datetime.fromtimestamp(self).isoformat()

bytes

显示十六进制预览。

self[:16].hex() + "…"

dict

按键对字典项进行排序显示。

[(k, self[k]) for k in sorted(self.keys(), key=str)]

list

显示列表的前五个元素及其长度。

"list(len=" + str(len(self)) + ") " + str(self[:5])

要测试上述渲染器,请参考以下代码:

ts = 1693756800.0 data_bytes = b"Hello, World!" data_dict = {"b": 2, "a": 1} items = list(range(10))

调试 期间,您将在 调试 工具窗口中的 线程与变量 选项卡中看到所列对象的自定义表示形式。

渲染器示例
最后修改日期: 2025年 9月 26日