You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让VS Code终端按数据类型以不同颜色区分输出?

让VS Code终端根据Python变量类型自动着色输出

核心逻辑

终端本身无法识别Python输出内容的原始数据类型(因为print()输出的都是纯文本),所以需要让Python在输出时自动为不同类型的变量添加终端可识别的ANSI颜色控制码,VS Code终端原生支持这类颜色码。

实现方案

1. 自定义带颜色的打印函数

写一个专门的打印函数,自动判断变量类型并添加对应颜色:

def color_print(obj):
    # 定义不同类型对应的ANSI颜色码
    type_colors = {
        str: "\033[91m",    # 红色:字符串类型
        int: "\033[92m"     # 绿色:整数类型
    }
    reset_color = "\033[0m"  # 重置颜色,避免后续输出受影响
    
    # 获取当前变量类型对应的颜色码,无匹配则用默认样式
    selected_color = type_colors.get(type(obj), "")
    # 输出带颜色的内容
    print(f"{selected_color}{obj}{reset_color}")

# 测试代码
n = "123"
color_print(n)       # 红色的123(字符串)
color_print(int(n))  # 绿色的123(整数)

2. 替换默认的print函数(可选)

如果不想每次调用新函数,可直接重写默认的print,让所有打印自动适配颜色:

# 先保存原始print函数
original_print = print

def print(obj, *args, **kwargs):
    type_colors = {
        str: "\033[91m",
        int: "\033[92m"
    }
    reset_color = "\033[0m"
    
    # 仅针对字符串和整数类型添加颜色,其他类型保持默认
    if isinstance(obj, (str, int)):
        colored_obj = f"{type_colors[type(obj)]}{obj}{reset_color}"
        original_print(colored_obj, *args, **kwargs)
    else:
        original_print(obj, *args, **kwargs)

# 测试代码
n = "123"
print(n)       # 红色输出
print(int(n))  # 绿色输出

注意事项

  • 确保VS Code终端开启颜色支持:打开VS Code设置,搜索terminal.integrated.enableColors,确认选项处于勾选状态。
  • 颜色码可自定义:比如把字符串改成蓝色(\033[94m),整数改成黄色(\033[93m),根据自己的偏好调整即可。

内容的提问来源于stack exchange,提问作者dhayarp99

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 00:28:04