PyCharm 2025.3 Help

配置类型渲染

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

类型渲染器也可用于 Python 控制台Jupyter 变量视图

自定义类型渲染器

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

渲染器的实际效果

渲染器支持所有类型,包括基本类型和数组。 此外,渲染器会忽略所有访问修饰符,因此无论字段是否被封装,您都可以访问任何字段。

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

添加渲染器

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

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

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

    类型渲染器的应用

渲染器属性

说明

渲染器名称

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

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

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

渲染节点时

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

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

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

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

展开节点时

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

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

  • 使用表达式列表 :允许您指定多个表达式,每个表达式都提供其对节点子节点的独立表示。

附加默认子节点

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

移除渲染器

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

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

静音渲染器

您可以暂时禁用渲染器,而无需完全移除:

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

需要时,您可以使用相同步骤取消渲染器静音。

示例

以下示例展示了针对常见 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年 12月 2日