1、vscode要安装好dev container,要在docker中拉取texlive
2、在tex项目中新建.devcontainer文件夹,下面新建devcontainer.json加入一下内容:
{
// 给你的开发环境起个名字
"name": "LaTeX",
// 指定我们使用官方最新的完整版 TeX Live
"image": "texlive/texlive:latest",
// 它把你当前的项目文件夹映射到容器 /workdir 目录
"workspaceMount": "source=${localWorkspaceFolder},target=/workdir,type=bind",
"workspaceFolder": "/workdir",
// 定制化:在容器里自动安装好用的 LaTeX 扩展
"customizations": {
"vscode": {
"extensions": [
"james-yu.latex-workshop"
]
}
},
// 当你关闭 VS Code 时,自动把这个容器关掉以节省资源
"shutdownAction": "stopContainer"
}
3、在tex项目中新建.vscode文件夹,下面新建settings.json加入一下内容:
{
// ================ LaTeX Workshop 配置 (Docker 优化版) ================
// --- 1. 定义编译工具 ---
// 我们主要使用 latexmk,它能自动处理参考文献和多次编译,非常智能。
"latex-workshop.latex.tools": [
{
"name": "latexmk-xelatex",
"command": "latexmk",
"args": [
"-xelatex",
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-outdir=%OUTDIR%", // 将输出文件放入 outDir 指定的目录
"%DOC%"
]
}
],
// --- 2. 定义编译方案 (Recipe) ---
// 一个方案就是一组工具的调用顺序。
"latex-workshop.latex.recipes": [
{
"name": "latexmk (xelatex)",
"tools": [
"latexmk-xelatex"
]
}
],
// --- 3. 指定默认的编译方案 ---
// 点击绿色播放按钮时,默认就执行这个方案。
"latex-workshop.latex.recipe.default": "latexmk (xelatex)",
// --- 4. 个人工作流与习惯配置 ---
// a. 保存文件时,自动触发编译
"latex-workshop.latex.autoBuild.onSave.enabled": true,
// b. 设置编译输出目录,保持根目录干净
"latex-workshop.latex.outDir": "./build",
// c. 设置编译后清理临时文件的时机 ("never"表示从不自动清理)
"latex-workshop.latex.autoClean.run": "never",
// d. 在 VS Code 的新标签页中预览 PDF
"latex-workshop.view.pdf.viewer": "tab",
// e. 定义 "Clean" 命令需要清理的文件类型
"latex-workshop.latex.clean.fileTypes": [
"*.aux", "*.bbl", "*.blg", "*.idx", "*.ind", "*.lof",
"*.lot", "*.out", "*.toc", "*.acn", "*.acr", "*.glg",
"*.glo", "*.gls", "*.ist", "*.fls", "*.fdb_latexmk",
"*.synctex.gz", "*.xdv", "*.abs"
]
}
4、command + shift + P 打开打开命令面板,选择 Dev Containers: Reopen in Container
5、可编译运行