如何在Mac上设置双击main.tex文件时,让VS Code打开其所在LaTeX项目文件夹并自动打开对应main.pdf
如何在Mac上设置双击main.tex文件时,让VS Code打开其所在LaTeX项目文件夹并自动打开对应main.pdf
嘿,我刚好之前为了复刻Overleaf的便捷性折腾过这个需求,给你分享两种亲测有效的方法,都是Mac原生工具+VS Code自带功能,不用装额外第三方软件:
方法一:用Automator创建自定义快速操作(推荐,小白友好)
Automator是Mac自带的自动化工具,几步就能搞定:
- 打开Launchpad,找到并启动Automator,新建一个「快速操作」(旧版本叫「服务」,功能完全一致)
- 在顶部的工作流设置里调整:
- 「工作流接收当前」选择「文件或文件夹」
- 「位于」选择「Finder」
- 「文件类型」下拉搜索并选择「Tex文件」
- 在左侧动作库搜「运行Shell脚本」,把这个动作拖到右侧的工作流区域
- 把「传递输入」改成「作为自变量」,然后替换默认脚本为下面的内容:
for f in "$@" do # 只对main.tex生效(如果想所有.tex文件都触发,删掉这个if判断即可) if [ "$(basename "$f")" = "main.tex" ]; then # 获取当前tex文件所在的项目文件夹路径 folder_path=$(dirname "$f") # 用VS Code打开整个项目文件夹 code "$folder_path" # 检查同目录下的main.pdf是否存在,存在则打开 pdf_path="$folder_path/main.pdf" if [ -f "$pdf_path" ]; then # 想在VS Code内打开PDF?用这行(需提前装PDF Viewer类插件) code "$pdf_path" # 想用系统默认PDF阅读器打开?替换成下面这行: # open "$pdf_path" fi fi done - 按
Cmd+S保存这个快速操作,命名比如「Open LaTeX Project with PDF」 - 最后绑定默认打开方式:
- 随便找一个
main.tex文件,右键→「显示简介」 - 拉到「打开方式」模块,点击下拉菜单选「其他…」
- 在应用列表里找到刚才保存的快速操作(可直接搜名字,或者去「应用程序/Automator」文件夹找)
- 勾选「始终以此方式打开」,再点击「全部更改」确认即可
- 随便找一个
方法二:VS Code内置任务+自定义触发(适合爱折腾配置的同学)
如果你更习惯用VS Code的内建功能,也可以这么配置:
- 先确保
code命令能在终端调用:打开VS Code,按Cmd+Shift+P,输入「Shell Command: Install 'code' command in PATH」,执行这个命令(一次设置终身受用) - 在你的LaTeX项目根目录下,新建
.vscode/tasks.json文件,粘贴以下配置:{ "version": "2.0.0", "tasks": [ { "label": "Open Project and PDF", "type": "shell", "command": "cd ${workspaceFolder}; if [ -f main.pdf ]; then code main.pdf; fi", "runOptions": { "runOn": "folderOpen" } } ] } - 最后设置Finder里的
main.tex打开方式为VS Code,再去VS Code设置里开启「Files: Open Files in New Window」并设为on——这样双击main.tex时,VS Code会提示你是否打开所在文件夹,确认后就会自动触发上述任务打开PDF
几个关键注意点
- 第一次运行Automator快速操作时,系统可能弹“无法打开”的提示,去「系统偏好设置→隐私与安全性→安全性」里点击「允许」就能解决
- 如果方法一的脚本里
code命令没反应,百分百是没装Shell Command,回到方法二的第一步补做就行 - PDF的打开方式完全看你偏好:用
code就是在VS Code内集成浏览,用open就是调用系统默认的PDF阅读器(比如预览)
我自己现在用的是方法一,设置好之后双击main.tex直接加载整个项目文件夹,同时自动弹出PDF,和Overleaf的流畅感几乎一样,再也不用手动点来点去折腾了😎




