为何VS Code的LaTeX Workshop扩展忽略清理文件扩展名设置?
问题
在Mac OS系统的VS Code中使用LaTeX Workshop扩展编辑Tex文件,该扩展的清理功能可保留tex文件与编译生成的pdf文件。我已在settings.json中配置了latex-workshop.latex.clean.fileTypes,添加了.nav等需清理的扩展名,且开启了子文件夹清理,但执行清理命令后仍有.nav等中间文件残留。
当前settings.json相关配置如下:
{ "r.rpath.mac": "/Users/raul/miniconda3/envs/disagreement/lib/R/bin/R", "r.rterm.mac": "/Users/raul/miniconda3/envs/disagreement/bin/radian", "r.bracketedPaste": true, "r.rterm.option": [], "workbench.editorAssociations": { "*.pdf": "pdf.preview" }, "python.defaultInterpreterPath": "/Users/raul/miniconda3/bin/python", "notebook.lineNumbers": "on", "python.terminal.launchArgs": [ "-m", "IPython", "--no-autoindent" ], "python.terminal.executeInFileDir": true, "[python]": { "editor.defaultFormatter": "ms-python.python", "editor.formatOnType": true }, "editor.minimap.enabled": false, "jupyter.interactiveWindow.textEditor.executeSelection": true, "git.ignoreLegacyWarning": true, "quarto.render.renderOnSave": true, "cSpell.enableFiletypes": [ "quarto" ], "cSpell.userWords": [ "matplotlib" ], "workbench.colorTheme": "Atom One Light", "cSpell.enabled": false, "latex-workshop.latex.clean.fileTypes": [ "%DOCFILE%.aux", "%DOCFILE%.bbl", "%DOCFILE%.blg", "%DOCFILE%.idx", "%DOCFILE%.ind", "%DOCFILE%.lof", "%DOCFILE%.lot", "%DOCFILE%.out", "%DOCFILE%.toc", "%DOCFILE%.acn", "%DOCFILE%.acr", "%DOCFILE%.alg", "%DOCFILE%.glg", "%DOCFILE%.glo", "%DOCFILE%.gls", "%DOCFILE%.fls", "%DOCFILE%.log", "%DOCFILE%.fdb_latexmk", "%DOCFILE%.snm", "%DOCFILE%.synctex(busy)", "%DOCFILE%.synctex.gz(busy)", "%DOCFILE%.nav", "%DOCFILE%.vrb", "*/*.nav", "%DOCFILE%.synctex.gz" ], "latex-workshop.latex.clean.subfolder.enabled": true }
清理后仍存在.nav文件(如图:
)
可能的原因及解决方法
- 文件名匹配规则受限:配置里的
%DOCFILE%.nav仅匹配与主文档同名的.nav文件,若项目中存在其他名称的.nav文件(比如子文档生成的),该规则不会覆盖。建议添加*.nav来匹配所有.nav文件。 - 子文件夹匹配层级不足:
*/*.nav只能匹配一级子文件夹内的文件,若有更深层级的子目录,需改为**/*.nav以递归匹配所有子目录下的.nav文件。 - 配置未完全生效:VS Code的配置修改后可能需要重启才能彻底生效,重启编辑器后再执行清理命令试试。
- 清理命令范围不对:确保执行的是「LaTeX Workshop: Clean all LaTeX auxiliary files」命令,而非仅清理当前文档的辅助文件,后者不会处理子文件夹或其他文档生成的文件。
- 文件权限问题:Mac OS下部分文件可能因权限限制无法被删除,检查残留.nav文件的权限,确认VS Code拥有删除这些文件的权限。
内容的提问来源于stack exchange,提问作者Raul Guarini Riva
相关产品推荐
相关产品推荐

