James-Yu / LaTeX-Workshop

Boost LaTeX typesetting efficiency with preview, compile, autocomplete, colorize, and more.
MIT License
10.66k stars 530 forks source link

Performance regression in version 9.2.0 #3602

Closed DorianRudolph closed 1 year ago

DorianRudolph commented 1 year ago

Preliminary questions [Required]

Disable all the other extensions except for LaTeX Workshop, restart VS Code, and check that you still see this issue. [Required]

Yes

Make sure to visit the wiki FAQ before filling an issue.

Yes

If your issue is with compiling a document (not having to do with finding the root file of a project), check first that you can compile manually.

Yes

Describe the bug [Required]

The step "Parsing a file and its subfiles" after changing takes significantly longer than before. In 9.2.0 it takes 15 seconds:

[24:17:23] File watcher - file changed: /home/dorian/tmp/tex_test/paper.tex
[24:17:23] Parsing a file and its subfiles: /home/dorian/tmp/tex_test/paper.tex
[24:17:38] Checking for duplicate labels: /home/dorian/tmp/tex_test/paper.tex.

In version 9.1.1 it took just 1 second:

[24:20:46] File watcher - file changed: /home/dorian/tmp/tex_test/paper.tex
[24:20:46] Parsing a file and its subfiles: /home/dorian/tmp/tex_test/paper.tex
[24:20:47] Checking for duplicate labels: /home/dorian/tmp/tex_test/paper.tex.

This is particularly problematic for me, because this step seems to block my vscodevim extension (which was of course disabled for the above tests) from responding to my inputs, so I can't continue editing while this step is running. When it took just one second, that wasn't noticeable to me.

To Reproduce

The behavior occurs when saving my paper (https://arxiv.org/format/2206.05243). The output is in the "LaTeX Workshop" output.

Expected behavior

LaTeX Workshop should not block for 15 seconds.

Logs [Required]

LaTeX Workshop Output [Required]

Output 9.1.1 ``` [24:33:13] Initializing LaTeX Workshop. [24:33:13] Extension root: /home/dorian/.vscode/extensions/james-yu.latex-workshop-9.1.1 [24:33:13] $PATH: /home/dorian/kde/src/kdesrc-build:/home/dorian/.local/share/solana/install/active_release/bin:/home/dorian/.ghcup/bin:/home/dorian/.cabal/bin:/home/dorian/.local/share/gem/ruby/3.0.0/bin:/home/dorian/.cargo/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/opt/rocm-5.4.1/bin:/opt/rocm-5.4.1/hip/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/emscripten:/home/dorian/bin:/home/dorian/.local/bin [24:33:13] $SHELL: /usr/bin/zsh [24:33:13] $LANG: en_US.UTF-8 [24:33:13] $LC_ALL: undefined [24:33:13] process.platform: linux [24:33:13] process.arch: x64 [24:33:13] vscode.env.appName: Visual Studio Code [24:33:13] vscode.env.remoteName: undefined [24:33:13] vscode.env.uiKind: 1 [24:33:13] Configuration for workspace: file:///home/dorian/tmp/tex_test [24:33:13] editor.acceptSuggestionOnEnter: "on" [24:33:13] latex-workshop.bind.enter.key: true [24:33:13] latex-workshop.docker.enabled: false [24:33:13] latex-workshop.docker.image.latex: "" [24:33:13] latex-workshop.hover.preview.mathjax.extensions: [] [24:33:13] latex-workshop.intellisense.package.enabled: true [24:33:13] latex-workshop.intellisense.update.aggressive.enabled: false [24:33:13] latex-workshop.intellisense.update.delay: 1000 [24:33:13] latex-workshop.latex.autoBuild.run: "onFileChange" [24:33:13] latex-workshop.latex.build.forceRecipeUsage: true [24:33:13] latex-workshop.latex.outDir: "%DIR%" [24:33:13] latex-workshop.latex.recipes: [ { "name": "latexmk 🔃", "tools": [ "latexmk" ] }, { "name": "latexmk (latexmkrc)", "tools": [ "latexmk_rconly" ] }, { "name": "latexmk (lualatex)", "tools": [ "lualatexmk" ] }, { "name": "latexmk (xelatex)", "tools": [ "xelatexmk" ] }, { "name": "pdflatex ➞ bibtex ➞ pdflatex × 2", "tools": [ "pdflatex", "bibtex", "pdflatex", "pdflatex" ] }, { "name": "Compile Rnw files", "tools": [ "rnw2tex", "latexmk" ] }, { "name": "Compile Jnw files", "tools": [ "jnw2tex", "latexmk" ] }, { "name": "tectonic", "tools": [ "tectonic" ] } ] [24:33:13] latex-workshop.latex.tools: [ { "name": "latexmk", "command": "latexmk", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-pdf", "-outdir=%OUTDIR%", "%DOC%" ], "env": {} }, { "name": "lualatexmk", "command": "latexmk", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-lualatex", "-outdir=%OUTDIR%", "%DOC%" ], "env": {} }, { "name": "xelatexmk", "command": "latexmk", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-xelatex", "-outdir=%OUTDIR%", "%DOC%" ], "env": {} }, { "name": "latexmk_rconly", "command": "latexmk", "args": [ "%DOC%" ], "env": {} }, { "name": "pdflatex", "command": "pdflatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%" ], "env": {} }, { "name": "bibtex", "command": "bibtex", "args": [ "%DOCFILE%" ], "env": {} }, { "name": "rnw2tex", "command": "Rscript", "args": [ "-e", "knitr::opts_knit$set(concordance = TRUE); knitr::knit('%DOCFILE_EXT%')" ], "env": {} }, { "name": "jnw2tex", "command": "julia", "args": [ "-e", "using Weave; weave(\"%DOC_EXT%\", doctype=\"tex\")" ], "env": {} }, { "name": "jnw2texmintex", "command": "julia", "args": [ "-e", "using Weave; weave(\"%DOC_EXT%\", doctype=\"texminted\")" ], "env": {} }, { "name": "tectonic", "command": "tectonic", "args": [ "--synctex", "--keep-logs", "%DOC%.tex" ], "env": {} } ] [24:33:13] latex-workshop.viewer.pdf.internal.keyboardEvent: "auto" [24:33:13] Creating a new file watcher. [24:33:13] watcherOptions: {"useFsEvents":false,"usePolling":false,"interval":300,"binaryInterval":1000,"awaitWriteFinish":{"stabilityThreshold":250}} [24:33:13] Creating PDF file watcher. [24:33:13] watcherOptions: {"useFsEvents":false,"usePolling":false,"interval":300,"binaryInterval":1000,"awaitWriteFinish":{}} [24:33:13] Creating Bib file watcher. [24:33:13] watcherOptions: {"useFsEvents":false,"usePolling":false,"interval":300,"binaryInterval":1000,"awaitWriteFinish":{"stabilityThreshold":250}} [24:33:13] Set $LATEXWORKSHOP_DOCKER_LATEX: "" [24:33:13] [Server] Creating LaTeX Workshop http and websocket server. [24:33:13] LaTeX Workshop initialized. [24:33:13] Trigger characters for intellisense of LaTeX documents: ["\\",",","{"] [24:33:13] Bibtex format config: {"tab":" ","case":"lowercase","left":"{","right":"}","trailingComma":false,"sort":["key"],"alignOnEqual":true,"sortFields":false,"fieldsOrder":[],"firstEntries":["string","xdata"]} [24:33:13] Current workspace folders: ["file:///home/dorian/tmp/tex_test"] [24:33:13] Found root file from active editor: /home/dorian/tmp/tex_test/paper.tex [24:33:13] Root file changed: from undefined to /home/dorian/tmp/tex_test/paper.tex [24:33:13] Start to find all dependencies. [24:33:13] Root file languageId: latex [24:33:13] Reset file watcher. [24:33:13] Parsing a file and its subfiles: /home/dorian/tmp/tex_test/paper.tex [24:33:13] Parsing a file and its subfiles: /home/dorian/tmp/tex_test/setup.tex [24:33:13] Cannot find .bib file: paper.bib [24:33:13] Parse fls file. [24:33:13] Fls file found: /home/dorian/tmp/tex_test/paper.fls [24:33:13] Parse aux file: /home/dorian/tmp/tex_test/paper.aux [24:33:13] [Server] Server successfully started: {"address":"127.0.0.1","family":"IPv4","port":36347} [24:33:13] Added to file watcher: /home/dorian/tmp/tex_test/paper.tex [24:33:13] Added to file watcher: /home/dorian/tmp/tex_test/setup.tex [24:33:13] Added to file watcher: /home/dorian/tmp/tex_test/fig/sphere.pdf [24:33:13] Added to file watcher: /home/dorian/tmp/tex_test/fig/decomp2.pdf [24:33:13] Added to file watcher: /home/dorian/tmp/tex_test/fig/plot.pdf [24:33:13] Snippet data loaded. [24:33:13] [Server] valdOrigin is http://127.0.0.1:36347 [24:33:13] Restoring the PDF viewer at the column 1 from the state: {"type":"state","state":{"pdfFileUri":"file:///home/dorian/tmp/tex_test/paper.pdf","scale":"auto","scrollMode":0,"spreadMode":0,"scrollTop":0,"scrollLeft":0,"trim":0,"synctexEnabled":true,"autoReloadEnabled":true}} [24:33:13] The internal PDF viewer url: http://127.0.0.1:36347/viewer.html?file=pdf..ZmlsZSUzQSUyRiUyRiUyRmhvbWUlMkZkb3JpYW4lMkZ0bXAlMkZ0ZXhfdGVzdCUyRnBhcGVyLnBkZg [24:33:13] Added to PDF file watcher: file:///home/dorian/tmp/tex_test/paper.pdf [24:33:13] Handle data type: open [24:33:13] Preview PDF file: file:///home/dorian/tmp/tex_test/paper.pdf [24:33:14] Handle data type: loaded [24:33:15] Checking for duplicate labels: /home/dorian/tmp/tex_test/paper.tex. [24:33:15] Checking for duplicate labels: /home/dorian/tmp/tex_test/setup.tex. [24:33:15] Manager.fileWatcher.getWatched: {"/home/dorian/tmp/tex_test":["paper.tex","setup.tex"],"/home/dorian/tmp/tex_test/fig":["decomp2.pdf","plot.pdf","sphere.pdf"]} [24:33:15] Manager.filesWatched: ["/home/dorian/tmp/tex_test/paper.tex","/home/dorian/tmp/tex_test/setup.tex","/home/dorian/tmp/tex_test/fig/sphere.pdf","/home/dorian/tmp/tex_test/fig/decomp2.pdf","/home/dorian/tmp/tex_test/fig/plot.pdf"] [24:33:15] BibWatcher.bibWatcher.getWatched: {} [24:33:15] BibWatcher.bibsWatched: [] [24:33:15] PdfWatcher.pdfWatcher.getWatched: {"/home/dorian/tmp/tex_test":["paper.pdf"]} [24:33:15] PdfWatcher.pdfsWatched: ["/home/dorian/tmp/tex_test/paper.pdf"] [24:33:15] PdfWatcher.watchedPdfVirtualUris: [] [24:33:15] PdfWatcher.ignoredPdfUris: [] [24:33:21] onDidSaveTextDocument triggered: file:///home/dorian/tmp/tex_test/paper.tex [24:33:21] File watcher - file changed: /home/dorian/tmp/tex_test/paper.tex [24:33:21] Parsing a file and its subfiles: /home/dorian/tmp/tex_test/paper.tex [24:33:22] Checking for duplicate labels: /home/dorian/tmp/tex_test/paper.tex. [24:33:22] Auto build started detecting the change of a file: /home/dorian/tmp/tex_test/paper.tex [24:33:22] BUILD command invoked. [24:33:22] The document of the active editor: file:///home/dorian/tmp/tex_test/paper.tex [24:33:22] The languageId of the document: latex [24:33:22] Building root file: /home/dorian/tmp/tex_test/paper.tex [24:33:22] Build root file /home/dorian/tmp/tex_test/paper.tex [24:33:22] outDir: /home/dorian/tmp/tex_test [24:33:22] Preparing to run recipe: latexmk 🔃 [24:33:22] Recipe step 1: latexmk [24:33:22] Recipe step 1 args: ["-synctex=1","-interaction=nonstopmode","-file-line-error","-pdf","-outdir=/home/dorian/tmp/tex_test","/home/dorian/tmp/tex_test/paper"] [24:33:22] Recipe step env: {} [24:33:22] Recipe step root file: /home/dorian/tmp/tex_test/paper.tex [24:33:22] cwd: /home/dorian/tmp/tex_test [24:33:22] LaTeX build process spawned. PID: 27194. [24:33:22] A step in recipe finished. PID: 27194. [24:33:22] Successfully built /home/dorian/tmp/tex_test/paper.tex. ```
Output 9.2.0 ``` [24:34:39] Initializing LaTeX Workshop. [24:34:39] Extension root: /home/dorian/.vscode/extensions/james-yu.latex-workshop-9.2.0 [24:34:39] $PATH: /home/dorian/kde/src/kdesrc-build:/home/dorian/.local/share/solana/install/active_release/bin:/home/dorian/.ghcup/bin:/home/dorian/.cabal/bin:/home/dorian/.local/share/gem/ruby/3.0.0/bin:/home/dorian/.cargo/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/opt/rocm-5.4.1/bin:/opt/rocm-5.4.1/hip/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/emscripten:/home/dorian/bin:/home/dorian/.local/bin [24:34:39] $SHELL: /usr/bin/zsh [24:34:39] $LANG: en_US.UTF-8 [24:34:39] $LC_ALL: undefined [24:34:39] process.platform: linux [24:34:39] process.arch: x64 [24:34:39] vscode.env.appName: Visual Studio Code [24:34:39] vscode.env.remoteName: undefined [24:34:39] vscode.env.uiKind: 1 [24:34:39] Configuration for workspace: file:///home/dorian/tmp/tex_test [24:34:39] editor.acceptSuggestionOnEnter: "on" [24:34:39] latex-workshop.bind.enter.key: true [24:34:39] latex-workshop.docker.enabled: false [24:34:39] latex-workshop.docker.image.latex: "" [24:34:39] latex-workshop.hover.preview.mathjax.extensions: [] [24:34:39] latex-workshop.intellisense.package.enabled: true [24:34:39] latex-workshop.intellisense.update.aggressive.enabled: false [24:34:39] latex-workshop.intellisense.update.delay: 1000 [24:34:39] latex-workshop.latex.autoBuild.run: "onFileChange" [24:34:39] latex-workshop.latex.build.forceRecipeUsage: true [24:34:39] latex-workshop.latex.outDir: "%DIR%" [24:34:39] latex-workshop.latex.recipes: [ { "name": "latexmk 🔃", "tools": [ "latexmk" ] }, { "name": "latexmk (latexmkrc)", "tools": [ "latexmk_rconly" ] }, { "name": "latexmk (lualatex)", "tools": [ "lualatexmk" ] }, { "name": "latexmk (xelatex)", "tools": [ "xelatexmk" ] }, { "name": "pdflatex ➞ bibtex ➞ pdflatex × 2", "tools": [ "pdflatex", "bibtex", "pdflatex", "pdflatex" ] }, { "name": "Compile Rnw files", "tools": [ "rnw2tex", "latexmk" ] }, { "name": "Compile Jnw files", "tools": [ "jnw2tex", "latexmk" ] }, { "name": "tectonic", "tools": [ "tectonic" ] } ] [24:34:39] latex-workshop.latex.tools: [ { "name": "latexmk", "command": "latexmk", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-pdf", "-outdir=%OUTDIR%", "%DOC%" ], "env": {} }, { "name": "lualatexmk", "command": "latexmk", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-lualatex", "-outdir=%OUTDIR%", "%DOC%" ], "env": {} }, { "name": "xelatexmk", "command": "latexmk", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-xelatex", "-outdir=%OUTDIR%", "%DOC%" ], "env": {} }, { "name": "latexmk_rconly", "command": "latexmk", "args": [ "%DOC%" ], "env": {} }, { "name": "pdflatex", "command": "pdflatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%" ], "env": {} }, { "name": "bibtex", "command": "bibtex", "args": [ "%DOCFILE%" ], "env": {} }, { "name": "rnw2tex", "command": "Rscript", "args": [ "-e", "knitr::opts_knit$set(concordance = TRUE); knitr::knit('%DOCFILE_EXT%')" ], "env": {} }, { "name": "jnw2tex", "command": "julia", "args": [ "-e", "using Weave; weave(\"%DOC_EXT%\", doctype=\"tex\")" ], "env": {} }, { "name": "jnw2texmintex", "command": "julia", "args": [ "-e", "using Weave; weave(\"%DOC_EXT%\", doctype=\"texminted\")" ], "env": {} }, { "name": "tectonic", "command": "tectonic", "args": [ "--synctex", "--keep-logs", "%DOC%.tex" ], "env": {} } ] [24:34:39] latex-workshop.viewer.pdf.internal.keyboardEvent: "auto" [24:34:39] Creating a new file watcher. [24:34:39] watcherOptions: {"useFsEvents":false,"usePolling":false,"interval":300,"binaryInterval":1000,"awaitWriteFinish":{"stabilityThreshold":250}} [24:34:39] Creating PDF file watcher. [24:34:39] watcherOptions: {"useFsEvents":false,"usePolling":false,"interval":300,"binaryInterval":1000,"awaitWriteFinish":{}} [24:34:39] Creating Bib file watcher. [24:34:39] watcherOptions: {"useFsEvents":false,"usePolling":false,"interval":300,"binaryInterval":1000,"awaitWriteFinish":{"stabilityThreshold":250}} [24:34:39] Set $LATEXWORKSHOP_DOCKER_LATEX: "" [24:34:39] [Server] Creating LaTeX Workshop http and websocket server. [24:34:39] LaTeX Workshop initialized. [24:34:39] Trigger characters for intellisense of LaTeX documents: ["\\",",","{"] [24:34:39] Bibtex format config: {"tab":" ","case":"lowercase","left":"{","right":"}","trailingComma":false,"sort":["key"],"alignOnEqual":true,"sortFields":false,"fieldsOrder":[],"firstEntries":["string","xdata"]} [24:34:39] Current workspace folders: ["file:///home/dorian/tmp/tex_test"] [24:34:39] Found root file from active editor: /home/dorian/tmp/tex_test/paper.tex [24:34:39] Root file changed: from undefined to /home/dorian/tmp/tex_test/paper.tex [24:34:39] Start to find all dependencies. [24:34:39] Root file languageId: latex [24:34:39] Reset file watcher. [24:34:39] Parsing a file and its subfiles: /home/dorian/tmp/tex_test/paper.tex [24:34:39] Parsing a file and its subfiles: /home/dorian/tmp/tex_test/setup.tex [24:34:39] Cannot find .bib file: paper.bib [24:34:39] Parse fls file. [24:34:39] Fls file found: /home/dorian/tmp/tex_test/paper.fls [24:34:39] Parse aux file: /home/dorian/tmp/tex_test/paper.aux [24:34:39] [Server] Server successfully started: {"address":"127.0.0.1","family":"IPv4","port":34131} [24:34:39] Added to file watcher: /home/dorian/tmp/tex_test/paper.tex [24:34:39] Added to file watcher: /home/dorian/tmp/tex_test/setup.tex [24:34:39] Added to file watcher: /home/dorian/tmp/tex_test/fig/sphere.pdf [24:34:39] Added to file watcher: /home/dorian/tmp/tex_test/fig/decomp2.pdf [24:34:39] Added to file watcher: /home/dorian/tmp/tex_test/fig/plot.pdf [24:34:39] Snippet data loaded. [24:34:39] [Server] valdOrigin is http://127.0.0.1:34131 [24:34:39] Restoring the PDF viewer at the column 1 from the state: {"type":"state","state":{"pdfFileUri":"file:///home/dorian/tmp/tex_test/paper.pdf","scale":"auto","scrollMode":0,"spreadMode":0,"scrollTop":0,"scrollLeft":0,"trim":0,"synctexEnabled":true,"autoReloadEnabled":true}} [24:34:39] The internal PDF viewer url: http://127.0.0.1:34131/viewer.html?file=pdf..ZmlsZSUzQSUyRiUyRiUyRmhvbWUlMkZkb3JpYW4lMkZ0bXAlMkZ0ZXhfdGVzdCUyRnBhcGVyLnBkZg [24:34:39] Added to PDF file watcher: file:///home/dorian/tmp/tex_test/paper.pdf [24:34:40] Handle data type: open [24:34:40] Preview PDF file: file:///home/dorian/tmp/tex_test/paper.pdf [24:34:40] Handle data type: loaded [24:34:41] Checking for duplicate labels: /home/dorian/tmp/tex_test/paper.tex. [24:34:51] Checking for duplicate labels: /home/dorian/tmp/tex_test/setup.tex. [24:34:51] Manager.fileWatcher.getWatched: {"/home/dorian/tmp/tex_test":["paper.tex","setup.tex"],"/home/dorian/tmp/tex_test/fig":["decomp2.pdf","plot.pdf","sphere.pdf"]} [24:34:51] Manager.filesWatched: ["/home/dorian/tmp/tex_test/paper.tex","/home/dorian/tmp/tex_test/setup.tex","/home/dorian/tmp/tex_test/fig/sphere.pdf","/home/dorian/tmp/tex_test/fig/decomp2.pdf","/home/dorian/tmp/tex_test/fig/plot.pdf"] [24:34:51] BibWatcher.bibWatcher.getWatched: {} [24:34:51] BibWatcher.bibsWatched: [] [24:34:51] PdfWatcher.pdfWatcher.getWatched: {"/home/dorian/tmp/tex_test":["paper.pdf"]} [24:34:51] PdfWatcher.pdfsWatched: ["/home/dorian/tmp/tex_test/paper.pdf"] [24:34:51] PdfWatcher.watchedPdfVirtualUris: [] [24:34:51] PdfWatcher.ignoredPdfUris: [] [24:35:01] onDidSaveTextDocument triggered: file:///home/dorian/tmp/tex_test/paper.tex [24:35:02] File watcher - file changed: /home/dorian/tmp/tex_test/paper.tex [24:35:02] Parsing a file and its subfiles: /home/dorian/tmp/tex_test/paper.tex [24:35:16] Checking for duplicate labels: /home/dorian/tmp/tex_test/paper.tex. [24:35:16] Auto build started detecting the change of a file: /home/dorian/tmp/tex_test/paper.tex [24:35:16] BUILD command invoked. [24:35:16] The document of the active editor: file:///home/dorian/tmp/tex_test/paper.tex [24:35:16] The languageId of the document: latex [24:35:16] Building root file: /home/dorian/tmp/tex_test/paper.tex [24:35:16] Build root file /home/dorian/tmp/tex_test/paper.tex [24:35:16] outDir: /home/dorian/tmp/tex_test [24:35:16] Preparing to run recipe: latexmk 🔃 [24:35:16] Recipe step 1: latexmk [24:35:16] Recipe step 1 args: ["-synctex=1","-interaction=nonstopmode","-file-line-error","-pdf","-outdir=/home/dorian/tmp/tex_test","/home/dorian/tmp/tex_test/paper"] [24:35:16] Recipe step env: {} [24:35:16] Recipe step root file: /home/dorian/tmp/tex_test/paper.tex [24:35:16] cwd: /home/dorian/tmp/tex_test [24:35:16] LaTeX build process spawned. PID: 27641. [24:35:16] A step in recipe finished. PID: 27641. [24:35:16] Successfully built /home/dorian/tmp/tex_test/paper.tex. ```

Developer Tools Console [Required]

The main thing I notice is the "INFO UNRESPONSIVE extension host: starting to profile NOW". This did not happen with 9.1.1

Console Output 9.2.0 ``` TMScopeRegistry.ts:47 Overwriting grammar scope name to file mapping for scope text.tex. Old grammar file: file:///opt/visual-studio-code/resources/app/extensions/latex/syntaxes/TeX.tmLanguage.json. New grammar file: file:///home/dorian/.vscode/extensions/james-yu.latex-workshop-9.2.0/syntax/TeX.tmLanguage.json register @ TMScopeRegistry.ts:47 L @ TMGrammarFactory.ts:73 H @ abstractTextMateService.ts:240 await in H (async) createTokenizationSupport @ abstractTextMateService.ts:264 i @ tokenizationRegistry.ts:146 resolve @ tokenizationRegistry.ts:140 getOrCreate @ tokenizationRegistry.ts:72 (anonymous) @ abstractTextMateService.ts:165 d @ extensionsRegistry.ts:144 acceptUsers @ extensionsRegistry.ts:135 Rb @ abstractExtensionService.ts:1287 Pb @ abstractExtensionService.ts:1220 Ac @ electronExtensionService.ts:597 await in Ac (async) Yb @ electronExtensionService.ts:559 wb @ abstractExtensionService.ts:777 await in wb (async) (anonymous) @ electronExtensionService.ts:115 requestIdleCallback (async) e.runWhenIdle @ async.ts:1163 (anonymous) @ electronExtensionService.ts:114 Promise.then (async) jc @ electronExtensionService.ts:112 E @ sandboxExtensionService.ts:12 j @ instantiationService.ts:119 t @ instantiationService.ts:245 s @ instantiationService.ts:234 r @ instantiationService.ts:223 q @ instantiationService.ts:163 m @ instantiationService.ts:147 get @ instantiationService.ts:61 eb @ layout.ts:233 (anonymous) @ workbench.ts:152 invokeFunction @ instantiationService.ts:68 startup @ workbench.ts:144 open @ desktop.main.ts:120 await in open (async) le @ desktop.main.ts:386 d.load.configureDeveloperSettings @ workbench.js:2801 (anonymous) @ workbench.js:2673 a._invokeFactory @ workbench.js:1460 a.complete @ workbench.js:1470 a._onModuleComplete @ workbench.js:2100 a._onModuleComplete @ workbench.js:2112 a._resolve @ workbench.js:2057 a.defineModule @ workbench.js:1700 h @ workbench.js:2150 define @ workbench.js:2226 (anonymous) @ workbench.common.main.ts:145 (anonymous) @ fake:1 TMScopeRegistry.ts:47 Overwriting grammar scope name to file mapping for scope text.tex.latex. Old grammar file: file:///opt/visual-studio-code/resources/app/extensions/latex/syntaxes/LaTeX.tmLanguage.json. New grammar file: file:///home/dorian/.vscode/extensions/james-yu.latex-workshop-9.2.0/syntax/LaTeX.tmLanguage.json register @ TMScopeRegistry.ts:47 L @ TMGrammarFactory.ts:73 H @ abstractTextMateService.ts:240 await in H (async) createTokenizationSupport @ abstractTextMateService.ts:264 i @ tokenizationRegistry.ts:146 resolve @ tokenizationRegistry.ts:140 getOrCreate @ tokenizationRegistry.ts:72 (anonymous) @ abstractTextMateService.ts:165 d @ extensionsRegistry.ts:144 acceptUsers @ extensionsRegistry.ts:135 Rb @ abstractExtensionService.ts:1287 Pb @ abstractExtensionService.ts:1220 Ac @ electronExtensionService.ts:597 await in Ac (async) Yb @ electronExtensionService.ts:559 wb @ abstractExtensionService.ts:777 await in wb (async) (anonymous) @ electronExtensionService.ts:115 requestIdleCallback (async) e.runWhenIdle @ async.ts:1163 (anonymous) @ electronExtensionService.ts:114 Promise.then (async) jc @ electronExtensionService.ts:112 E @ sandboxExtensionService.ts:12 j @ instantiationService.ts:119 t @ instantiationService.ts:245 s @ instantiationService.ts:234 r @ instantiationService.ts:223 q @ instantiationService.ts:163 m @ instantiationService.ts:147 get @ instantiationService.ts:61 eb @ layout.ts:233 (anonymous) @ workbench.ts:152 invokeFunction @ instantiationService.ts:68 startup @ workbench.ts:144 open @ desktop.main.ts:120 await in open (async) le @ desktop.main.ts:386 d.load.configureDeveloperSettings @ workbench.js:2801 (anonymous) @ workbench.js:2673 a._invokeFactory @ workbench.js:1460 a.complete @ workbench.js:1470 a._onModuleComplete @ workbench.js:2100 a._onModuleComplete @ workbench.js:2112 a._resolve @ workbench.js:2057 a.defineModule @ workbench.js:1700 h @ workbench.js:2150 define @ workbench.js:2226 (anonymous) @ workbench.common.main.ts:145 (anonymous) @ fake:1 TMScopeRegistry.ts:47 Overwriting grammar scope name to file mapping for scope text.bibtex. Old grammar file: file:///opt/visual-studio-code/resources/app/extensions/latex/syntaxes/Bibtex.tmLanguage.json. New grammar file: file:///home/dorian/.vscode/extensions/james-yu.latex-workshop-9.2.0/syntax/Bibtex.tmLanguage.json register @ TMScopeRegistry.ts:47 L @ TMGrammarFactory.ts:73 H @ abstractTextMateService.ts:240 await in H (async) createTokenizationSupport @ abstractTextMateService.ts:264 i @ tokenizationRegistry.ts:146 resolve @ tokenizationRegistry.ts:140 getOrCreate @ tokenizationRegistry.ts:72 (anonymous) @ abstractTextMateService.ts:165 d @ extensionsRegistry.ts:144 acceptUsers @ extensionsRegistry.ts:135 Rb @ abstractExtensionService.ts:1287 Pb @ abstractExtensionService.ts:1220 Ac @ electronExtensionService.ts:597 await in Ac (async) Yb @ electronExtensionService.ts:559 wb @ abstractExtensionService.ts:777 await in wb (async) (anonymous) @ electronExtensionService.ts:115 requestIdleCallback (async) e.runWhenIdle @ async.ts:1163 (anonymous) @ electronExtensionService.ts:114 Promise.then (async) jc @ electronExtensionService.ts:112 E @ sandboxExtensionService.ts:12 j @ instantiationService.ts:119 t @ instantiationService.ts:245 s @ instantiationService.ts:234 r @ instantiationService.ts:223 q @ instantiationService.ts:163 m @ instantiationService.ts:147 get @ instantiationService.ts:61 eb @ layout.ts:233 (anonymous) @ workbench.ts:152 invokeFunction @ instantiationService.ts:68 startup @ workbench.ts:144 open @ desktop.main.ts:120 await in open (async) le @ desktop.main.ts:386 d.load.configureDeveloperSettings @ workbench.js:2801 (anonymous) @ workbench.js:2673 a._invokeFactory @ workbench.js:1460 a.complete @ workbench.js:1470 a._onModuleComplete @ workbench.js:2100 a._onModuleComplete @ workbench.js:2112 a._resolve @ workbench.js:2057 a.defineModule @ workbench.js:1700 h @ workbench.js:2150 define @ workbench.js:2226 (anonymous) @ workbench.common.main.ts:145 (anonymous) @ fake:1 TMScopeRegistry.ts:47 Overwriting grammar scope name to file mapping for scope text.tex.markdown_latex_combined. Old grammar file: file:///opt/visual-studio-code/resources/app/extensions/latex/syntaxes/markdown-latex-combined.tmLanguage.json. New grammar file: file:///home/dorian/.vscode/extensions/james-yu.latex-workshop-9.2.0/syntax/markdown-latex-combined.tmLanguage.json register @ TMScopeRegistry.ts:47 L @ TMGrammarFactory.ts:73 H @ abstractTextMateService.ts:240 await in H (async) createTokenizationSupport @ abstractTextMateService.ts:264 i @ tokenizationRegistry.ts:146 resolve @ tokenizationRegistry.ts:140 getOrCreate @ tokenizationRegistry.ts:72 (anonymous) @ abstractTextMateService.ts:165 d @ extensionsRegistry.ts:144 acceptUsers @ extensionsRegistry.ts:135 Rb @ abstractExtensionService.ts:1287 Pb @ abstractExtensionService.ts:1220 Ac @ electronExtensionService.ts:597 await in Ac (async) Yb @ electronExtensionService.ts:559 wb @ abstractExtensionService.ts:777 await in wb (async) (anonymous) @ electronExtensionService.ts:115 requestIdleCallback (async) e.runWhenIdle @ async.ts:1163 (anonymous) @ electronExtensionService.ts:114 Promise.then (async) jc @ electronExtensionService.ts:112 E @ sandboxExtensionService.ts:12 j @ instantiationService.ts:119 t @ instantiationService.ts:245 s @ instantiationService.ts:234 r @ instantiationService.ts:223 q @ instantiationService.ts:163 m @ instantiationService.ts:147 get @ instantiationService.ts:61 eb @ layout.ts:233 (anonymous) @ workbench.ts:152 invokeFunction @ instantiationService.ts:68 startup @ workbench.ts:144 open @ desktop.main.ts:120 await in open (async) le @ desktop.main.ts:386 d.load.configureDeveloperSettings @ workbench.js:2801 (anonymous) @ workbench.js:2673 a._invokeFactory @ workbench.js:1460 a.complete @ workbench.js:1470 a._onModuleComplete @ workbench.js:2100 a._onModuleComplete @ workbench.js:2112 a._resolve @ workbench.js:2057 a.defineModule @ workbench.js:1700 h @ workbench.js:2150 define @ workbench.js:2226 (anonymous) @ workbench.common.main.ts:145 (anonymous) @ fake:1 TMScopeRegistry.ts:47 Overwriting grammar scope name to file mapping for scope source.cpp.embedded.latex. Old grammar file: file:///opt/visual-studio-code/resources/app/extensions/latex/syntaxes/cpp-grammar-bailout.tmLanguage.json. New grammar file: file:///home/dorian/.vscode/extensions/james-yu.latex-workshop-9.2.0/syntax/cpp-grammar-bailout.tmLanguage.json register @ TMScopeRegistry.ts:47 L @ TMGrammarFactory.ts:73 H @ abstractTextMateService.ts:240 await in H (async) createTokenizationSupport @ abstractTextMateService.ts:264 i @ tokenizationRegistry.ts:146 resolve @ tokenizationRegistry.ts:140 getOrCreate @ tokenizationRegistry.ts:72 (anonymous) @ abstractTextMateService.ts:165 d @ extensionsRegistry.ts:144 acceptUsers @ extensionsRegistry.ts:135 Rb @ abstractExtensionService.ts:1287 Pb @ abstractExtensionService.ts:1220 Ac @ electronExtensionService.ts:597 await in Ac (async) Yb @ electronExtensionService.ts:559 wb @ abstractExtensionService.ts:777 await in wb (async) (anonymous) @ electronExtensionService.ts:115 requestIdleCallback (async) e.runWhenIdle @ async.ts:1163 (anonymous) @ electronExtensionService.ts:114 Promise.then (async) jc @ electronExtensionService.ts:112 E @ sandboxExtensionService.ts:12 j @ instantiationService.ts:119 t @ instantiationService.ts:245 s @ instantiationService.ts:234 r @ instantiationService.ts:223 q @ instantiationService.ts:163 m @ instantiationService.ts:147 get @ instantiationService.ts:61 eb @ layout.ts:233 (anonymous) @ workbench.ts:152 invokeFunction @ instantiationService.ts:68 startup @ workbench.ts:144 open @ desktop.main.ts:120 await in open (async) le @ desktop.main.ts:386 d.load.configureDeveloperSettings @ workbench.js:2801 (anonymous) @ workbench.js:2673 a._invokeFactory @ workbench.js:1460 a.complete @ workbench.js:1470 a._onModuleComplete @ workbench.js:2100 a._onModuleComplete @ workbench.js:2112 a._resolve @ workbench.js:2057 a.defineModule @ workbench.js:1700 h @ workbench.js:2150 define @ workbench.js:2226 (anonymous) @ workbench.common.main.ts:145 (anonymous) @ fake:1 DevTools failed to load source map: Could not load content for http://127.0.0.1:34131/build/pdf.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE DevTools failed to load source map: Could not load content for http://127.0.0.1:34131/out/viewer/latexworkshop.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE DevTools failed to load source map: Could not load content for http://127.0.0.1:34131/out/viewer/components/connection.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE DevTools failed to load source map: Could not load content for http://127.0.0.1:34131/out/viewer/components/synctex.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE DevTools failed to load source map: Could not load content for http://127.0.0.1:34131/out/viewer/components/pagetrimmer.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE DevTools failed to load source map: Could not load content for http://127.0.0.1:34131/out/viewer/components/utils.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE DevTools failed to load source map: Could not load content for http://127.0.0.1:34131/out/viewer/components/externalpromise.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE DevTools failed to load source map: Could not load content for http://127.0.0.1:34131/out/viewer/components/viewerhistory.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE DevTools failed to load source map: Could not load content for http://127.0.0.1:34131/viewer.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE DevTools failed to load source map: Could not load content for http://127.0.0.1:34131/build/pdf.worker.js.map: Fetch through target failed: Target not supported; Fallback: Unknown error viewer.js:2246 PDF ac5499774972b5d4b50f308be83ab666 [1.5 pdfTeX-1.40.24 / LaTeX with hyperref] (PDF.js: 3.1.81 [0766898d5]) 2pdf.worker.js:1036 Warning: AnnotationBorderStyle.setWidth - ignoring width: 1 log.ts:304 INFO [perf] Render performance baseline is 20ms localProcessExtensionHost.ts:298 Extension Host localProcessExtensionHost.ts:299 Debugger attached. log.ts:304 INFO UNRESPONSIVE extension host: starting to profile NOW localProcessExtensionHost.ts:298 Extension Host localProcessExtensionHost.ts:299 Debugger attached. log.ts:304 INFO UNRESPONSIVE extension host: starting to profile NOW ```

Desktop [Required]

Additional questions

Are you using VSCodium?

No

Are you using the Snap or Flatpack versions of VS Code?

No

Are you using LaTeX Workshop with VS Code Remote?

No

James-Yu commented 1 year ago

Thanks for the detailed report. Will look into it.

edit: confirm the issue. Will investigate.

James-Yu commented 1 year ago

This issue and #3601 should be fixed by 95172d1. Can you please have a try on the artifact in https://github.com/James-Yu/LaTeX-Workshop/actions/runs/3784711071? You may download and extract to get the vsix file of the extension with the fix.

DorianRudolph commented 1 year ago

Thanks for the quick fix. Performance is now as in 9.1.1 for me.