markdownviewer++ 默认不解析 emoji,需手动启用 enable emoji shortcodes 选项;自定义映射需修改 emoji.json;导出 html/pdf 时需额外配置字体或图片嵌入。

MarkdownViewer++ 默认不解析 Emoji,得手动启用
Notepad++ 自带的 MarkdownViewer++ 插件默认使用 Markdig 渲染引擎,而 Markdig 的 CommonMark 模式是关闭 Emoji 解析的。你输入 :smile: 或 ?,预览区只会原样显示,不会转成图形——这不是插件坏了,是渲染配置没开。
开启 Emoji 支持只需改一个配置项
打开 Plugins → MarkdownViewer++ → Options,切换到 Renderer 标签页,找到 Enable emoji shortcodes 这个复选框,勾上它。这个选项底层对应 Markdig 的 Emoji 扩展,启用后 :heart:、:rocket: 等 shortcode 就能实时转成对应图标。
注意:Enable emoji shortcodes 和系统原生 Unicode Emoji(如直接粘贴 ✅)是两回事:前者依赖符号映射表,后者只要字体支持就能显示。如果你主要用 :check_mark: 这类写法,勾这一项就够了;如果习惯直接输入 ?,还得确保系统字体(比如 Segoe UI 或 Noto Color Emoji)已安装且被预览面板识别。
自定义 Emoji 映射需要替换 emoji.json 文件
默认的 shortcode 映射来自插件内置的 emoji.json,路径通常是:Notepad++\plugins\MarkdownViewerPlusPlus\emoji.json。如果你想添加私有符号(比如 :warning-circle: → ⚠️),或替换默认样式(把 :fire: 换成 SVG 图标),就得手动编辑这个文件:
将 Markdown 格式的回复转换为适合 Telegram 的富文本,避免渲染错误。适用于用户偏好 Markdown 但目标平台为 Telegram 的场景。
- 备份原
emoji.json - 按 JSON 格式新增键值对:
"warning-circle": "⚠️" - 保存后重启 Notepad++,或在插件菜单里点
Reload emoji definitions(部分版本支持)
别漏掉逗号和引号,JSON 格式错误会导致整个 Emoji 功能失效,预览区可能空白或报错 Failed to load emoji definitions。
导出 HTML/PDF 时 Emoji 显示异常的常见原因
即使预览正常,导出的 HTML 可能文字化显示 :smile:,PDF 更可能直接丢弃符号——这是因为导出流程没继承当前 emoji 配置,或目标环境缺少彩色字体。
解决办法分场景:
- 导出 HTML:在
Options → Export里勾选Embed emoji as images(如果可用),或手动在自定义 CSS 中用@font-face引入 Noto Color Emoji 字体 - 导出 PDF:目前
MarkdownViewer++的 PDF 导出不支持嵌入彩色字体,稳妥做法是导出前把关键 Emoji 替换成 SVG 图片(用内联写法) - 跨机器查看:生成的 HTML 若需分享,务必连同
emoji.json和字体文件一并打包,或改用 CDN 加载 Twemoji
真正容易被忽略的是:Emoji 渲染依赖两级生效——插件配置只是第一层,第二层是导出时的独立上下文,两者不自动同步。改完 Enable emoji shortcodes 后只验证了预览,不代表导出也 OK。










