VSCode 本身不编译 LaTeX,需搭配 TeX 发行版(如 TeX Live/MacTeX)和 LaTeX Workshop 插件协同工作;必须配置完整工具链、确保 latexmk 可用,并正确设置主文件与编译引擎。

VSCode 本身不编译 LaTeX,它只是编辑器;真正完成编译、生成 PDF 和实时预览的,是外部工具链(latexmk、pdflatex 等) + 插件(LaTeX Workshop)协同工作的结果。没配对环境,写完只能看源码,看不到 PDF。
必须安装的底层编译工具:TeX 发行版
LaTeX 不是单个程序,而是一套排版系统,依赖完整的 TeX 工具链。Windows 推荐 TeX Live(全功能、更新勤),macOS 用 MacTeX(含 GUI 工具),Linux 多用系统包管理器安装(如 Ubuntu 的 sudo apt install texlive-full)。不要只装 pdflatex 单独二进制——latexmk 会调用 bibtex、makeindex、lualatex 等多个命令,缺一不可。
- 验证是否就位:终端运行
latexmk --version和pdflatex --version,都应返回版本号 - 若报 “command not found”,说明 PATH 没包含 TeX bin 目录(Windows 常见于未勾选“Add to PATH”安装选项)
- Mac 用户若用 Homebrew 安装
texlive,默认不带完整宏包,建议直接下MacTeX镜像
VSCode 插件核心:LaTeX Workshop
这是目前唯一成熟支持完整工作流的插件:自动检测根文件、一键编译(Ctrl+Alt+B)、反向搜索(PDF 点击跳回源码)、正向搜索(源码跳转到 PDF 对应位置)、BibTeX 集成、错误高亮定位。别装其他轻量插件——它们基本只做语法高亮,不处理构建逻辑。
- 安装后无需额外配置即可编译简单文档,但需确保
latexmk在系统 PATH 中(否则插件会提示 “Could not find latexmk”) - 编译命令默认走
latexmk -pdf -file-line-error -synctex=1 -interaction=nonstopmode,这个参数组合兼顾错误定位、SyncTeX 支持和容错性 - 若项目含中文,需在主
.tex文件导言区明确指定引擎,例如用\usepackage{ctex}(推荐)或切换为lualatex编译器(需在插件设置里改latex-workshop.latex.recipe.default)
常见编译失败原因与快速排查
90% 的“点编译没反应”或“PDF 不更新”问题,和 VSCode 无关,而是路径、权限或配置错位。
-
File not found: main.aux或Undefined control sequence:多半是没设主文件(右键.tex→ “Set as LaTeX root document”),或导言区漏了\documentclass{...} - 保存后 PDF 不自动刷新:检查插件设置
latex-workshop.view.pdf.viewer是否为tab或external;若用外部阅读器(如 SumatraPDF / Skim),必须启用 SyncTeX 并配置路径(latex-workshop.view.pdf.external.viewer.command) -
中文乱码或公式不渲染:确认编译器匹配宏包——
ctex默认用xelatex,若强行用pdflatex会炸;检查字体是否系统可访问(尤其是 Windows 下用simhei.ttf等本地字体时) - 引用(
\cite{})显示 [? ]:BibTeX 未运行,或.bib路径不对,或编译流程没包含bibtex步骤(latexmk默认包含,但手动配 recipe 时容易漏)
最易被忽略的一点:LaTeX Workshop 的日志输出(LaTeX Compiler 面板)比终端输出更详细,且点击错误行能直接跳转;很多人只盯着终端报错,却没打开插件自己的日志视图,导致卡在明显可解的问题上。










