VS Code需通过LaTeX Workshop扩展调用系统LaTeX发行版实现编译,关键在于正确配置PATH、recipe及tools,并验证主文件声明、命令行可执行性与Output日志。

VS Code 本身不支持 LaTeX 编译,但通过安装正确扩展、配置好工具链,并解决常见路径和命令问题,就能高效编写并一键生成 PDF。关键不在“装什么”,而在“装完之后怎么让 latexmk 或 xelatex 真正被 VS Code 找到并执行”。
安装 LaTeX Workshop 扩展(不是唯一选择,但最稳定)
这是目前 VS Code 中维护最活跃、功能最完整的 LaTeX 支持扩展。它不自带编译器,只负责调用系统已安装的 LaTeX 发行版(如 TeX Live、MiKTeX)。
- 在 VS Code 扩展市场搜索
LaTeX Workshop,安装后重启编辑器 - 确保不要同时启用其他 LaTeX 扩展(如
LaTeXby James Yu),它们会冲突 - 安装后,打开一个
.tex文件,状态栏右下角应出现LaTeX标识和编译器选择按钮
验证本地 LaTeX 发行版是否可用
LaTeX Workshop 只是“指挥官”,真正干活的是你电脑上装的 texlive(Linux/macOS)或 MiKTeX(Windows)。如果终端里连 pdflatex --version 都报 command not found,VS Code 肯定也调不动。
- macOS/Linux:运行
which latexmk或which xelatex,确认有输出;没有就去 TeX Live 官网 下载完整安装包 - Windows:检查 MiKTeX 是否勾选了“添加到系统 PATH”;若没勾选,要么重装,要么手动把
C:\Users\XXX\AppData\Local\Programs\MiKTeX\miktex\bin\x64\加进系统环境变量 - VS Code 启动方式很重要:如果从桌面图标启动,可能读不到你 shell 中配置的 PATH;建议从终端运行
code .启动,确保环境变量继承正确
配置 recipe(编译流程)和 tools(底层命令)
默认的 latexmk recipe 在多数场景下可用,但一旦你用中文、TikZ、参考文献或自定义字体,就得手动指定引擎(如 xelatex)和参数。这些都在 settings.json 里配。
打开 VS Code 设置 → 打开 settings.json,加入以下片段(按需调整):
{
"latex-workshop.latex.recipe.default": "xelatex",
"latex-workshop.latex.recipes": [
{
"name": "xelatex",
"tools": ["xelatex"]
}
],
"latex-workshop.latex.tools": [
{
"name": "xelatex",
"command": "xelatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOC%"
]
}
]
}
-
%DOC%是占位符,会被自动替换成当前打开的.tex主文件路径 - 若用
biblatex+biber,recipe 需写成["xelatex", "biber", "xelatex", "xelatex"]并确保biber命令可执行 - Windows 用户注意反斜杠路径问题:VS Code 的 JSON 不接受
C:\path,必须写成C:/path或双反斜杠C:\\path
编译失败时优先查这三处
90% 的“点编译没反应”或“PDF 不更新”问题,都出在这三个地方,而不是语法错误。
-
main.tex文件顶部是否有 % !TEX root = main.tex 注释?LaTeX Workshop 依赖它识别主文件;子文件不会被自动编译 - 终端里手动运行
xelatex main.tex是否成功?如果失败,VS Code 一定也失败——先解决命令行问题 - 查看 VS Code 底部状态栏右侧:点击
LaTeX→ “Show logs” → 切换到 “Output” 面板里的LaTeX Compiler,里面会打印真实执行的命令和报错,比弹窗提示详细得多
真正卡住的地方,往往不是“没装对扩展”,而是 PATH 没导进去、%DOC% 路径含空格没被引号包裹、或者 latexmk 把缓存锁死了却没提示。多看 Output 面板,少点“重新加载窗口”。










