VS Code 通过 LaTeX Workshop 插件配合本地 TeX 发行版(如 MiKTeX 或 TeX Live)实现完整 LaTeX 编辑编译功能,关键在于插件、latexmk 工具与系统 PATH 的正确配置。

VS Code 本身不内置 LaTeX 编译能力,但通过插件 + 本地 TeX 发行版(如 TeX Live 或 MiKTeX)可以完整替代传统编辑器。关键不是“能不能”,而是latexmk、latex-workshop和PATH三者是否对齐。
安装并配置 LaTeX Workshop 插件
这是 VS Code 中最成熟、维护最活跃的 LaTeX 扩展。它不自带编译器,只负责调用、监听、跳转和预览。
- 在 VS Code 扩展市场搜索
LaTeX Workshop,安装并重启 - 确保已安装本地 TeX 环境(Windows 推荐
MiKTeX,macOS/Linux 推荐TeX Live),且其二进制目录(如C:\miktex\miktex\bin\x64\或/usr/texbin)已加入系统PATH - 打开任意
.tex文件后,状态栏右下角应显示LaTeX,点击可查看当前工具链配置
确认 latexmk 是否可用且版本兼容
latexmk 是 LaTeX Workshop 默认推荐的自动化构建工具,能自动判断需运行 pdflatex、bibtex、makeindex 多少次。若缺失或版本过旧(
- 终端中运行
latexmk -v,输出应类似Latexmk, John Collins, 29 May 2023. Version 4.82 - 若报错
command not found,说明PATH未生效:重启 VS Code(不是仅重载窗口),或手动在 VS Code 设置中指定路径:latex-workshop.latex.tools→ 添加latexmk条目并填入绝对路径 - Mac 用户常见问题:
brew install latexmk安装的是 Perl 版本,但依赖系统 Perl;若用perlbrew或pyenv管理环境,可能找不到perl,此时建议改用tlmgr install latexmk(通过 TeX Live 安装)
编写时触发编译的几种方式及对应行为
VS Code 不自动编译,需主动触发。不同操作对应不同底层命令,影响参考文献、交叉引用、目录等是否更新。
-
快捷键
Ctrl+Alt+B(Win/Linux)或Cmd+Alt+B(macOS):运行默认构建工具(通常是latexmk),适合日常写作,自动处理多遍编译 -
右键 → “Build LaTeX project”:同上,但可在右键菜单中切换构建工具(如临时用
pdflatex单步调试) -
保存文件时自动编译:需开启设置
latex-workshop.latex.autoBuild.run=onFileChange;但注意:仅当焦点在.tex文件时才触发,且不会运行bibtex等辅助工具,除非latexmk配置正确 - 若修改了
.bib文件,必须手动触发一次构建(Ctrl+Alt+B),否则参考文献不会刷新
PDF 预览与反向同步失效的典型原因
预览窗口打不开、点击 PDF 跳不到源码、点源码跳不到 PDF —— 这些几乎都源于编译日志中未生成正确的 .synctex.gz 文件或路径映射错误。
- 检查编译日志末尾是否有
SyncTeX written on xxx.synctex.gz;若无,说明latexmk启动参数未带-synctex=1(LaTeX Workshop 默认已加,但自定义 tool 配置可能覆盖) - 项目含中文路径(如
D:\我的文档\paper\main.tex)会导致 SyncTeX 失效,务必使用纯 ASCII 路径 - 预览窗口右上角三个点 → “Open in Browser” 可绕过内建 PDF 查看器限制;反向同步(Ctrl+Click)仅在内建查看器中有效,且要求 PDF 已加载完成(状态栏显示
PDF: ready) - 若使用
\include{}或\input{}拆分文件,主文件必须是当前打开的活动编辑器,否则跳转定位会错乱
真正卡住人的往往不是功能有没有,而是 latexmk 没读到你的 .bib、PATH 在 VS Code 里没继承、或者 .synctex.gz 被杀毒软件锁住删掉了——先看日志,再查路径,最后动配置。










