vs code和sumatraPDF正逆向搜索

sumatraPDF打开设置->高级选项 添加

InverseSearchCmdLine="C:/Program Files/Microsoft VS Code/Code.exe" "C:/Program Files/Microsoft VS Code/resources/app/out/cli.js" --ms-enable-electron-run-as-node -r -g "%f:%l"

vscode设置

{
    // 设置是否自动编译
    "latex-workshop.latex.autoBuild.run":"onFileChange",
    //右键菜单
    "latex-workshop.showContextMenu":true,
    //从使用的包中自动补全命令和环境
    "latex-workshop.intellisense.package.enabled": true,
    //编译出错时设置是否弹出气泡设置
    "latex-workshop.message.error.show": true,
    "latex-workshop.message.warning.show": true,
    // 编译工具和命令
    "latex-workshop.latex.tools": [
        // {
        //     "name": "xelatex",
        //     "command": "xelatex",
        //     "args": [
        //         "-synctex=1",
        //         "-interaction=nonstopmode",
        //         "-file-line-error",
        //         "%DOCFILE%"
        //     ]
        // },
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%"
            ]
        },
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "-outdir=%OUTDIR%",
                "%DOCFILE%"
            ]
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "%DOCFILE%"
            ]
        }
    ],
    // 用于配置编译链
    "latex-workshop.latex.recipes": [
        // {
        //     "name": "XeLaTeX",
        //     "tools": [
        //         "xelatex"
        //     ]
        // },
        {
            "name": "PDFLaTeX",
            "tools": [
                "pdflatex"
            ]
        },
        {
            "name": "BibTeX",
            "tools": [
                "bibtex"
            ]
        },
        {
            "name": "LaTeXmk",
            "tools": [
                "latexmk"
            ]
        },
        // {
        //     "name": "xelatex -> bibtex -> xelatex*2",
        //     "tools": [
        //         "xelatex",
        //         "bibtex",
        //         "xelatex",
        //         "xelatex"
        //     ]
        // },
        {
            "name": "pdflatex -> bibtex -> pdflatex*2",
            "tools": [
                "pdflatex",
                "bibtex",
                "pdflatex",
                "pdflatex"
            ]
        }
    ],
    //文件清理。此属性必须是字符串数组
    "latex-workshop.latex.clean.fileTypes": [
        "*.aux",
        "*.bbl",
        "*.blg",
        "*.idx",
        "*.ind",
        "*.lof",
        "*.lot",
        "*.out",
        "*.toc",
        "*.acn",
        "*.acr",
        "*.alg",
        "*.glg",
        "*.glo",
        "*.gls",
        "*.ist",
        "*.fls",
        "*.log",
        "*.fdb_latexmk"
    ],
    //设置为onFaild 在构建失败后清除辅助文件
    "latex-workshop.latex.autoClean.run": "onFailed",
    // 使用上次的recipe编译组合
    "latex-workshop.latex.recipe.default": "lastUsed",
    // 用于反向同步的内部查看器的键绑定。ctrl/cmd +点击(默认)或双击
    "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
	
    //使用 SumatraPDF 预览编译好的PDF文件
    // 设置VScode内部查看生成的pdf文件
    "latex-workshop.view.pdf.viewer": "external",
    // PDF查看器用于在\ref上的[View on PDF]链接
    "latex-workshop.view.pdf.ref.viewer":"auto",
    "latex-workshop.view.pdf.external.viewer.command": "C:/Users/Rorschach/AppData/Local/SumatraPDF/SumatraPDF.exe", 
    "latex-workshop.view.pdf.external.viewer.args": [
        "%PDF%"
    ],
    "latex-workshop.view.pdf.external.synctex.command": "C:/Users/user/AppData/Local/SumatraPDF/SumatraPDF.exe",
    "latex-workshop.view.pdf.external.synctex.args": [
        "-forward-search",
        "%TEX%",
        "%LINE%",
        "-reuse-instance",
        "-inverse-search",
        "\"C:/Users/user/AppData/Local/Programs/Microsoft VS Code/Code.exe\" \"C:/Users/user/AppData/Local/Programs/Microsoft VS Code/resources/app/out/cli.js\" --ms-enable-electron-run-as-node -gr \"%f\":\"%l\"", 
        "%PDF%"
    ],
    "explorer.confirmDelete": false
}
### 如何在 VSCode 中设置使用 LaTeX 反向搜索逆向搜索)功能 #### 安装必要的软件工具 为了实现反向搜索功能,需安装以下组件: - **VS Code**: 主要编辑器环境。 - **Tex Live 或 MiKTeX**: TeX 发行版用于编译 LaTeX 文档。 - **SumatraPDF**: PDF 查看器支持反向搜索。 这些工具共同协作来提供完整的 LaTeX 开发体验[^1]。 #### 安装并配置 VS Code 扩展 主要依赖于 `LaTeX Workshop` 这一扩展来进行 LaTeX 的开发工作流管理。通过该插件能够轻松完成从源码高亮、语法检查到最终文档渲染等一系列操作。对于希望进一步提升效率的用户来说,还可以考虑安装其他辅助性质的附加包如 `LaTeX Language Support` `LaTeX Snippets`,不过建议优先利用内置机制来自定义代码片段以获得更好的灵活性。 #### 设置反向搜索参数 确保已确设置了 `latex-workshop.view.pdf.viewer` 参数为 `"tab"` ,这一步骤至关重要因为只有当 PDF 在标签页内打开时才能常触发双向链接行为。如果遇到任何异常情况比如无法启动逆向追踪,则可能是由于近期版本迭代引入了某些兼容性问题所致;此时不妨尝试回滚至稳定版本(例如 9.19.0),同时关闭自动更新选项以防再次遭遇相同困扰[^2][^5]。 #### 修改 settings.json 文件 为了让上述设定生效,还需要调整全局或项目级别的配置文件 (`settings.json`) 来指定所使用的外部应用程序路径以及启用特定特性开关。具体而言就是添加如下几项条目: ```json { "latex-workshop.latex.tools": [ { "name": "pdflatex", "command": "pdflatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "%DOC%" ] } ], "latex-workshop.view.pdf.external.synctex.enabled": true, "latex-workshop.view.pdf.internal.synctex.enabled": true, } ``` 以上 JSON 片段中的 `-synctex=1` 参数告知编译器生成同步数据以便后续定位对应位置;而两个布尔类型的属性则分别控制着是否允许内部浏览器与外部阅读程序间互相跳转的行为模式[^4]。 #### 使用反向搜索 一旦完成了前期准备工作之后,在实际写作过程中只需遵循常规流程即可享受无缝衔接的服务——每当点击位于 SumatraPDF 内任意一处文本内容时,IDE 将会迅速切换焦点回到原始 .tex 文件相应行号处等待下一步指令输入[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值