今天尝试将 sumatraPDF 中的 inverse_Search 复制到 Vscode(latex workshop) 中。在 sumatraPDF 中的“设置反向搜索命令行”一栏中,我输入的是“ E:\VSCODE\Microsoft VS Code\Code.exe" -g "%f":%l
”,也就是我的路径Code.exe
。但是当我点击一个 pdf 文件时,出现提示:“ EPERM:operation not permitted,mkdir'c:\Users\16323\.vscode\extensions.Please make sure the following directories writable: C:\Users\16323\AppData\Roaming\Code C:\Users\16323\.vscode\extensions'
”。我想问题的原因是我把 vscode 插件的安装位置改成了“ E:\VSCODE
”,并创建了指向该目录的符号链接,以节省 C 盘空间。我该如何解决这个问题?
答案1
为了记录,这是该问题的解决方案,摘自此处论坛讨论。
重要的:要使反向搜索工作(仅限首次使用),必须关闭所有 SumatraPDF 实例,然后使用LaTeX 文件中的Ctrl+ Alt+J热键在 SumatraPDF 中打开相应的 PDF。如果没有此步骤,则在 SumatraPDF 中双击 PDF 会打开文件cli.js
而不是 LaTeX 文件。
这给出了正确的正向和反向搜索苏门答腊PDF和VSCode,使用奇妙的LaTeX 工作坊扩大:
使用Ctrl++从 VSCode 中的 LaTeX 编辑器跳转到 SumatraPDF 中的 PDF 位置Alt。J
用于
mouse double click
从 SumatraPDF 中的 PDF 跳转到 VSCode 中的 LaTeX 行。
在settings.json
VSCode 中,添加以下行
"latex-workshop.view.pdf.viewer": "external",
"latex-workshop.view.pdf.external.viewer.command": "C:/Program Files/SumatraPDF/SumatraPDF.exe",
"latex-workshop.view.pdf.external.synctex.command": "C:/Program Files/SumatraPDF/SumatraPDF.exe",
"latex-workshop.view.pdf.external.synctex.args": ["-forward-search", "%TEX%", "%LINE%", "-reuse-instance","%PDF%"],
然后,在 SumatraPDF 中设置反向搜索命令如下,同时PathToCode
用 VSCode 的实际路径替换:
"C:\PathToCode\Microsoft VS Code\Code.exe" "C:\PathToCode\Microsoft VS Code\resources\app\out\cli.js" --ms-enable-electron-run-as-node -r -g "%f:%l"