VSCode原生不支持执行Markdown代码块,内置预览仅渲染HTML;需借助Code Runner等插件并手动配置executorMap,或改用.ipynb、.py等专用格式。

VSCode原生不运行Markdown代码块,别白点
VSCode 内置的 Markdown 预览(Ctrl+Shift+V)只做 HTML 渲染,```python 或 ```bash 里的内容不会执行——它不是 Jupyter,也不是终端。点“运行”没反应、右键没选项、弹出空白终端,都是正常现象,不是插件没装对,是根本没这个能力。
- 所有代码块在预览页里只是语法高亮+静态展示,连
console.log都不会触发 -
Cannot execute code block: no runner configured这类报错,说明你误以为 VSCode 把 .md 当成了可执行源码 - 即使装了 Code Runner,默认也不处理
.md后缀,必须手动改code-runner.executorMap
Code Runner 要配 executorMap 才能跑代码块
想让 ```bash 或 ```python 真正执行,最轻量的方案是用 Code Runner 插件,但必须显式告诉它:“遇到 .md 文件里的某语言代码块,就用对应解释器跑”。
- 打开设置 → 搜索
code-runner.executorMap→ 点“在 settings.json 中编辑” - 添加类似这样的条目:
"markdown": "cd $dir && python -c \"$(cat $fileName)\""(仅作示意,实际需按语言拆分) - 更稳妥的做法是单独为每种语言配规则,例如:
"python": "python -u $fullFileName",然后把代码块另存为.py文件再运行 - 注意:
code-runner.runInTerminal建议设为false,避免命令注入风险;它只能执行完整文件,不支持交互式输入
真正想“写完就看输出”,换载体比硬刚 Markdown 更靠谱
强行让 Markdown 执行代码,会卡在路径解析、环境隔离、输出捕获、错误反馈等一堆边界问题上。与其折腾配置,不如选对工具:
- 用
.py或.js文件写逻辑,用 Markdown 写说明,再把截图或输出结果粘贴进去(Markdown All in One的Markdown: Insert Image from Clipboard很顺手) - 直接用
.ipynb:VSCode 原生支持,Shift+Enter运行 cell,公式、图表、文本、输出全在一个文件里 - 如果非得在 Markdown 里跑,
Markdown Preview Enhanced的Execute Code Chunk功能可用,但它要求代码块带{.python}这类属性标签,且依赖本地 shell/Python 环境,不是所有```都生效
图片路径、公式、Mermaid 不渲染?先查配置开关
很多人以为预览不显示公式或流程图是插件问题,其实原生预览支持这些,但默认关着:
- 数学公式:设
markdown.math.enabled为true,且用$$E=mc^2$$(块级)或\(E=mc^2\)(行内),单$不生效 - Mermaid 图表:原生预览不支持;必须装
Mermaid Preview插件,或用Markdown Preview Enhanced并开启enableMermaid - 本地图片路径:预览按工作区根目录解析,
中的./指的是工作区根,不是当前 .md 所在目录;路径错就白屏,还不会报错 -
markdown.preview.styles填错路径也会静默失败,开发者工具 Console 里看 CSS 404 就是它
真正卡住人的从来不是“怎么打开预览”,而是“为什么我改了它不认”——核心就两条:文件必须保存,路径必须相对工作区根。其他所有问题,基本都是这两条没守牢。


















