IntelliJ 2022 Windows端控制台如何正常显示彩色emoji?
问题原因
IntelliJ在Windows和macOS平台的彩色emoji渲染逻辑存在底层差异:macOS系统全局集成Apple Color Emoji的彩色渲染链路,IntelliJ可以直接调用系统能力显示彩色emoji;Windows平台默认的JetBrains Runtime(JBR)对Segoe UI Emoji、Noto Color Emoji这类彩色字体的控制台渲染支持存在默认限制,常规修改主字体、调整编码的操作没有触碰到控制台的字体fallback渲染层,所以无法生效。
可落地解决步骤
按以下顺序操作,全部完成后重启IDE即可生效:
- 切换IDE运行时:双击Shift唤起全局搜索,搜索
Choose Boot Java Runtime for the IDE动作,在弹出的配置窗口中选择带JCEF组件、JDK版本为17及以上的官方JBR版本,替换IDE默认自带的精简运行时。 - 单独配置控制台字体规则:打开
设置 > 编辑器 > 配色方案 > 控制台字体页面,取消勾选「仅显示等宽字体」,主字体保留你日常使用的等宽编程字体(如JetBrains Mono、Consolas),将备用fallback字体的第一顺位设置为Segoe UI Emoji,第二顺位设置为已安装的Noto Color Emoji,注意不要选择非彩色版本的Noto Emoji字体。 - 追加IDE启动参数:打开顶部菜单栏
帮助 > 编辑自定义VM选项,在打开的配置文件末尾追加两行启动参数:
-Dide.console.font.fallback.enabled=true -Dsun.java2d.d3d=false
- 校验编码配置:打开
设置 > 编辑器 > 文件编码页面,将全局编码、项目编码、控制台输出编码全部设置为UTF-8,勾选「原生到ASCII转换透明处理」选项,避免emoji字符被转义为单色占位符。
排错提示
如果完成以上操作后emoji仍然显示为单色,按以下点排查:
- 确认安装的是彩色版本的emoji字体:普通版本的Noto Emoji、系统自带的Segoe UI Symbol本身就是单色轮廓字体,替换后也无法显示彩色效果。
- 2022.1、2022.2版本的IntelliJ存在控制台彩色字体渲染的已知bug,将IDE小版本升级到2022.3.3及以上即可修复,不需要跨大版本升级。
- 临时禁用第三方控制台增强、日志高亮类插件,这类插件会重写控制台的渲染逻辑,覆盖原生的字体fallback配置,导致彩色emoji渲染失效。
内容的提问来源于stack exchange,提问作者Unearthly
相关产品推荐
相关产品推荐

