VSCode中Markdown文件图标不显示,主因是图标主题未启用、workbench.iconTheme被覆盖、语言识别错误(如显示Plain Text而非Markdown)或字体不支持符号;需依次检查并修复。

VSCode 里 Markdown 文件图标不显示?先确认图标主题已启用
VSCode 默认不激活任何文件图标主题,哪怕你装了 material-icon-theme 或 vscode-icons,只要没手动选中,.md 文件就只会显示通用文档图标(白纸图标)。这不是插件坏了,是主题根本没加载。
按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入并执行 Preferences: File Icon Theme,从列表中选一个非 None 的主题,比如 vscode-icons 或 Material Icon Theme。选完立刻生效,不用重启。
- 如果选完仍无变化,大概率是
workbench.iconTheme被颜色主题静默覆盖了(比如One Dark Pro激活时会把它设为null) - 运行
Preferences: Open Settings (JSON),检查是否存在"workbench.iconTheme": null、""或"none",删掉或改成有效值,例如:"workbench.iconTheme": "vscode-icons" - 改完必须完全退出 VS Code 再启动,缓存不刷新,图标不会回来
为什么 .md 文件还是没图标?语言识别错了
图标主题靠语言 ID 匹配图标,不是靠后缀名。如果你打开一个 .md 文件,右下角状态栏显示的是 Plain Text 而不是 Markdown,那图标主题就找不到匹配规则。
点击右下角语言标识,手动切换为 Markdown。如果切换后图标立刻出现,说明问题出在 files.associations 配置上。
WiseOCR — 将 PDF 或图片文件转换为高质量 Markdown 文本,支持表格完整识别、多栏版式还原、中英文混排。适用场景:扫描件文字提取、纸质文档数字化、合同/报告/论文转文本、图片中文字提取。支持格式:PDF、JPG、JPEG、PNG、WEBP、GIF、BMP、TIFF。触发:用户上传文件并要求"帮我识别这个文件的文字"、"PDF转文字"、"图片转文本"、"帮我提取这个表格"——会调用本技能。说"用Wi
- 在
settings.json中添加或修正:"*.md": "markdown"(注意:键带引号,值小写,不能写成MD或mdown) - 避免用通配符覆盖其他类型,比如不要写
"*": "markdown",否则所有文件都会被识别为 Markdown - 某些项目里
.md被误判为Git Commit Message或Log,也得手动切回Markdown
想让 .md 图标更特别?靠图标包的 folder/association 配置
默认图标主题对 .md 文件的支持有限,比如 material-icon-theme 只给根目录下的 README.md 加个特殊图标,普通 note.md 还是常规 Markdown 图标。要自定义,得靠扩展自身的配置项。
以 material-icon-theme 为例,在 settings.json 中可加:
"material-icon-theme.files.associations": {
"README.md": "markdown",
"CHANGELOG.md": "markdown",
"TODO.md": "markdown"
}
它只认文件名全匹配,不支持通配符。想让所有 .md 都用特定图标,目前没有通用方案——因为图标主题本身不提供“全局文件类型映射”,只能靠扩展作者预设或手动逐个加。
- 别指望
"*.md": "some-icon"这种写法能生效,material-icon-theme和vscode-icons都不支持 - 部分图标包(如
Seti UI)对.md有额外样式,但依赖字体符号渲染,Windows 用户务必装 Nerd Fonts(如FiraCode Nerd Font),否则可能显示方块 □ - 图标不显示成方块 ≠ 主题没装好,很可能是字体缺失,先查
editor.fontFamily设置是否指向了带符号的字体
图标显示了但太小/模糊?和字体设置强相关
VSCode 渲染图标本质是调用系统字体里的符号字形(比如 Unicode 的 ?、?),不是 SVG 或 PNG。所以图标的清晰度、大小、甚至能否显示,都取决于当前 editor.fontFamily 是否包含对应符号且被正确加载。
- macOS 用户通常没问题;Linux 用户装完 Nerd Fonts 后需运行
fc-cache -fv刷新字体缓存 - Windows 用户建议安装
FiraCode Nerd Font,然后在设置里把editor.fontFamily改成:'FiraCode Nerd Font', 'Consolas', monospace - 别漏掉单引号和逗号——VS Code 对这个字符串格式敏感,写错会导致整个字体链失效
- 如果只改了
editor.fontFamily但没重启 VS Code,新字体不会被读取,图标仍可能显示异常

















