Question: import { CancellationToken } from 'vs/base/common/cancellation'; import { KeyCode, KeyMod } from 'vs/base/common/keyCodes'; import { DisposableStore } from 'vs/base/common/lifecycle'; <del> import { assertIsDefined } from 'vs/base/common/types'; </del> <ins> import { assertIsDefined, withNullAsUndefined } from 'vs/base/common/types'; </ins> import { URI } from 'vs/base/common/uri'; import 'vs/css!./media/searchEditor'; import { CodeEditorWidget } from 'vs/editor/browser/widget/codeEditorWidget';

Issue Type: <bBug</bsearch.maxResults to a value larger than some text in file which may have results more than "Open in editor" in search panel search editor shows " results - 1 file The result set only contains a subset of all matches. Be more specific in your search to narrow down the results." and only results shown in search editor VS Code version: Code 1.58.0 (, 2021-07-08T06:54:55.083Z) OS version: Windows_NT x64 10.0. Restricted Mode: Yes Remote OS version: Linux x64 4.15.0-136-generic <details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.468 --- <!-- score: 0.45 --<!-- potentialduplicatescomment --
Accidentally already created a walkthrough of how to resolve this in so I'll post it here: To reproduce, set the max results setting to some larger value, and run a search in the search editor which has more results than the value: ! ! Access search editor with: ! You can start by changing the limit passed here to read from the Then, you should add a way for the search to be re run with no limit. See what happens in the search from the sidebar, whose code is here: for how to make that change.
Hello, , I would like to work on this issue. As-is: Search Editor has maxResults fixed to To-Be: Should use a maxResult value from configureationService and with no limit if value is null Am I understading the issue correctly?
yes that is correct. Thanks!
Hey have you started working on this? If not, I'm interested on picking it up.
I've been busy so I have not done much, so you can pick it up. I realized it requires more time than I previously expected. As far as I see, making search editor to rerun the search results with polling like the search view requires some work...
It is by design that the search editor does not stream results, this causes undesirable behavior in an editor context when you may be in the process of manipulating the results. For this ticket simply respecting the setting is sufficient.


Question: import { CancellationToken } from 'vs/base/common/cancellation'; import { KeyCode, KeyMod } from 'vs/base/common/keyCodes'; import { DisposableStore } from 'vs/base/common/lifecycle'; <del> import { assertIsDefined } from 'vs/base/common/types'; </del> <ins> import { assertIsDefined, withNullAsUndefined } from 'vs/base/common/types'; </ins> import { URI } from 'vs/base/common/uri'; import 'vs/css!./media/searchEditor'; import { CodeEditorWidget } from 'vs/editor/browser/widget/codeEditorWidget';

In that case, I have just done that, however, I still need to resolve what to do when the maxResult is null, because the editor will hang and crash. What would you suggest I do?
It's cool, I'll pick up another issue.


Question: } } // New item was added <del> else if (template.objectWidget.isItemNew(e.originalItem)) { </del> <ins> else if (template.objectWidget.isItemNew(e.originalItem) && e.item.key.data !== '') { </ins> newValue[e.item.key.data] = e.item.value.data; newItems.push(e.item); }

VSCode Version: 1.47 insiders OS Version: Windows Steps to Reproduce: on the "Add item" button in and press enter. ! Does this issue occur when all extensions are disabled?: Yes


Question: if (!profileContentHandler) { return; } <del> const saveResult = await profileContentHandler.saveProfile(profile.name, JSON.stringify(profile), CancellationToken.None); </del> <ins> const saveResult = await profileContentHandler.saveProfile(profile.name.replace('/', '-'), JSON.stringify(profile), CancellationToken.None); </ins> if (!saveResult) { return; }

<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes/No <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.76.0 OS Version: macOS 11.6.2 Version: 1.76.0 Commit: Date: 2023-03-01T10:23:45.993Z Electron: 19.1.11 Chromium: 102.0.5005.196 16.14.2 V8: 10.2.154.26-electron.0 OS: Darwin x64 20.6.0 Sandboxed: No Summary When creating a profile with a name such as "Typescript / Javascript", the following happens: When exporting as a Gist, no result dialog shows ("there was trouble" / "created profile successfully") and a validation error is outputted in the logs When exporting to a local file, the text after the last forward slash is set as the filename. With the above example, it'd be " " To reproduce: a profile: Settings cog -"Profile ([...])" the profile: Select "Export Profile..." -"Export" the "name the profile" step, enter a name with a forward slash in like so: "Typescript / Javascript" either method for exporting: gist or local Expected results: If you select local: a system save prompt with the name you entered pre-set in the filename field If you select gist: A success dialog with a link to the website prefilled with your config Actual results: If you select local: only the text after the last forward slash is in the filename field If you select gist: No dialog shows.


Question: if (!profileContentHandler) { return; } <del> const saveResult = await profileContentHandler.saveProfile(profile.name, JSON.stringify(profile), CancellationToken.None); </del> <ins> const saveResult = await profileContentHandler.saveProfile(profile.name.replace('/', '-'), JSON.stringify(profile), CancellationToken.None); </ins> if (!saveResult) { return; }

The following error is in the "output" window, under "Window": I can only test this on a macOS device, I haven't tried this on a Windows or other Linux device and I feel like (with the area in mind - filesystems etc) these issues could manifest differently or not even be an issue there. I'm assuming validation on the inputbox for the name will be required because filesystems (and Gist? not sure) don't typically support forward slashes in file names. Thanks and if you're reading this, have a great weekend :)
Gists do no accept in the name. Replaced with .


Question: } function consumeBlockCommentBackwards() { <del> if (stream.peek() === slash) { </del> <ins> if (!stream.sof() && stream.peek() === slash) { </ins> if (stream.backUp(1) === star) { stream.pos = findOpeningCommentBeforePosition(stream.pos) ?? startOffset; } else {

Issue Type: <bBug</bWhile doing some experimentation with Bootstrap and the corresponding scss files, I encountered an issue while changing hexcolor codes. I was able to reproduce it on a different Windows machine (Windows 11 in that case) as well as on macOS (Monterey). Steps to reproduce: Open a large scss file. In my case, I used from the Bootstrap framework. Start changing a color by typing a different hex value. The issue only happened when changing at least two of the six digits and sometimes only after making a couple of changes. It did not happen when using the color picker. will become unresponsive eventually. For example the color pickers do not show up anymore, saving a file takes multiple seconds and the git integration stops working entirely. When the builtin SCSS extension is disabled, everything works fine. Therefore I would assume that this extension is causing the issue. VS Code version: Code 1.63.2 (, 2021-12-15T09:40:02.816Z) OS version: WindowsNT x64 10.0. Restricted Mode: No <details<summarySystem Info</summary </detailsExtensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
I can reproduce open a scss file with on the end of line 15, add a character . Note that diagnostics appear, Remove the character, diagnostics disappear (all good) on the end of line 15, add a character . Nothing happens. Hover over a symbol, hover computes forever: Extension host is blocked remove the letter, reload the window disable the emmet extension repeat the steps, now all is working When profiling, the emmet extension is busy in The bug got introduced in 1.53
There are 3 conditions that must be met to trigger this issue: must return one of , , , , or (so that in returns true). File must be longer than 1000 lines (so that is called as noted above). The first must begin with The culprit is from When trying to skip over blocks, this function attempts to peak back 1 character when it encounters to check for a (1)()` is then called to move the position back to where it was at the start of the function, but in this case moves it back to position 1:2.


Question: } function consumeBlockCommentBackwards() { <del> if (stream.peek() === slash) { </del> <ins> if (!stream.sof() && stream.peek() === slash) { </ins> if (stream.backUp(1) === star) { stream.pos = findOpeningCommentBeforePosition(stream.pos) ?? startOffset; } else {

This causes the loop that calls to loop infinitely, as the exit condition (position being to , in this case the start of the file) never occurs. Pull Request Resolves this by checking if the character being "peaked" at is a and breaking out of before is called. An alternative solution would be to not call if is within 3 characters of (as there is not enough space remaining to contain .
Thanks for the explanation I'll comment on the PR.


Question: private toDispose: lifecycle.IDisposable[]; private hoverWidget: DebugHoverWidget; <ins> private nonDebugHoverPosition: Position; </ins> private hoverRange: Range; private breakpointHintDecoration: string[];

To be verified with: : : set the new config options start debugging The hover provider should be invoked.


Question: breakpoints.forEach(bp => this.debugService.removeBreakpoints(bp.getId())); } } else if (canSetBreakpoints) { <del> this.debugService.addBreakpoints(uri, [{ lineNumber }]); </del> <ins> this.debugService.addBreakpoints(uri, [{ lineNumber }], `debugEditorGutter`); </ins> } } }));

When going over our telemetry for debug actions we have the ability to track usage counts of debug actions triggered from keyboard shortcuts and commands, as they execute commands which we emit telemetry for, but we don't seem to have telemetry in place for breakpoints set in the gutter (click or context menu). This is unfortunate as my hypothesis is that the majority of breakpoints are set this way. Ask Add ability to track breakpoint toggles (add/remove/change) from Gutter click Add ability to track breakpoint toggles from gutter context menu
would you like to contribute a PR for this? It shuold be fairly simple and you already have the nice code pointers.
I'd be happy too, but we should land on an agreement on how to implement it. What's the best approach? 1) Add telemetry directly to the gutter actions 2) Re-wire the gutter actions to execute a command instead?
for the best approach let's first see what you want to get exactly? total amount of all breakpoints set (including the gutter) grained events for breakpoint setting based on the way the user initated that aciton In case of 1 we should just add a telemetry ping in the  since everyone should go through there In case of 2 depends on how fine grained you want it, if for every place then we should add an argument or something like that in the addBreakpoints method and then also report that to telemetry.
I'd like us to be able to contribute a source/initiator to given breakpoint, so we can get an UI usage distributions, etc.
I suggest the following Add a third argument In the implementation of that method use the telemetry service to report the appropriate event with the context. And you should nicely get all the errors of all the callers of , simply pass different string context for each caller and you shuold be good to go. Let me know if you have any questions
Cool, I'l see what I can get cooking!
Removing my assignment for this. feel free to assign me back if you do not have time to tackle this and if we need this for August
hey, would you still like this? If yes I can also look into it in October
I'd still like to do this to get my hands dirty.
cool, unasigning myself and let's leave it for October
Verified by code review, adding verified label


Question: disturl "https://electronjs.org/headers" <del> target "25.8.4" ms_build_id "24154031" </del> <ins> target "25.9.1" ms_build_id "24472542" </ins> runtime "electron" build_from_source "true"

Type: <bBug</bThis issue is related to the Julia extension. I filed an issue , but I also filing it here (as suggested by As per the initial post of the above link, all extension work perfectly fine when the Julia extension is disabled. here are dmp files as per VS Code version: Code 1.79.2 (, 2023-06-14T08:57:04.379Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (50)</summaryExtensionVersion ------ rainbow-brackets0.0.6 vscode-django1.10.0 python-environment-manager1.0.4 python-extension-pack1.7.0 code-runner0.12.0 copilot1.94.220 vscode-github-actions0.25.8 vscode-pull-request-github0.66.2 nbpreviewer1.2.2 language-julia1.47.2 vsc-python-indent1.18.0 vscode-github0.30.7 vscode-opn1.1.2 MagicPython1.1.0 vscode-azureappservice0.24.9 vscode-azureresourcegroups0.7.5 vscode-docker1.25.2 csharp1.26.0 isort2022.8.0 python2023.10.1 vscode-pylance2023.6.40 jupyter2023.5.


Question: disturl "https://electronjs.org/headers" <del> target "25.8.4" ms_build_id "24154031" </del> <ins> target "25.9.1" ms_build_id "24472542" </ins> runtime "electron" build_from_source "true"

jupyter-keymap1.1.2 jupyter-renderers1.0.15 vscode-jupyter-cell-tags0.1.8 vscode-jupyter-slideshow0.1.5 remote-containers0.295.0 remote-ssh0.102.0 remote-ssh-edit0.86.0 remote-wsl0.79.5 vscode-remote-extensionpack0.24.0 azure-account0.11.5 cmake-tools1.14.34 cpptools1.16.3 cpptools-extension-pack1.3.0 powershell2023.6.0 remote-explorer0.4.0 remote-server1.2.1 autodocstring0.6.1 r-debugger0.5.4 r2.8.1 vscode-open0.1.0 spellchecker1.4.0 python0.2.3 rmarkdown0.0.14 cmake0.0.17 vscode-counter3.2.1 intellicode-api-usage-examples0.2.7 vscodeintellicode1.2.30 jinja0.0.8 (2 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
As mentioned in the linked issue, it happens for me as well. I can reproduce it with Insiders version too and the same happens with a few older julia-vscode extensions I tested. <details<summaryVS Code version</summary</details
There seems to be an issue with spawning a process. The symbolicated logs seem to have the same form.
I'd expect that this happens when we try to spawn the Julia process that powers the LS. Any chance we can debug this further? I assume we can't handle libuv failing to spawn a process anywhere in the extension code, right?
As asked in the I want to add that I can reproduce this as well. From the linked thread:
Sorry for the delayed response, can you please provide the output of the following steps to understand the error 1) In a terminal set the following env variable 2) Launch VSCode from the same terminal session with arguments that redirect stdout and stderr to a file as seen below, replace the file paths where appropriate Additionally, once the extension host crashes open command palette in VSCode and run and attach the output from the tab of the developer tools that got opened.


Question: disturl "https://electronjs.org/headers" <del> target "25.8.4" ms_build_id "24154031" </del> <ins> target "25.9.1" ms_build_id "24472542" </ins> runtime "electron" build_from_source "true"

unfortunately this is a fatal error that cannot be handled in the application layer. But we should be able to see the output of from the above logs.
I have done this, see attached.
Same here
Thanks for the logs, in both cases the launching of child process triggers a fatal error from at due to . I would like to understand if this can repro with outside VSCode since we haven't done any modification to the spawn API. I have simplified the Julia language server process spawn call from your logs into the following script, can you run it with node v18.15.0 which can be downloaded from , the steps would be 1) Save the following script to 2) Install v18.15.0 3) From terminal, run and attach the generated output
Apparrently Julia expects 8 arguments. Not sure why though.... if length(Base.ARGS) != 8 error("Invalid number of arguments passed to julia language server.") end
can you help with above error, I would like to create a minimal repro outside VSCode since this is an issue with
It seems we need additional arguments in in the .js file see or here
I two empty arguments in the file However, I have no idea if these arguments are relevant. Then things seem to work Are we expecting the server to shut down at the end? EDIT: the process only shuts down if I hit enter. If I don't press any key it keeps running and the last message is 'Received new data from Julia Symbol Server..." output is:
Thanks for fixing the test case No, I was expecting the error to show up
Can you run our bisect tool in the terminal . In each step install the Julia extension (if not present) and if the extension host terminates with the above error, mark it as bad commit. This would help us narrow down if a change from our side introduced the regression.
Looking at the above, the argument right after is In the test case, I set this argument to empty though
I think it is fine to skip the pipe name, looking at the code it is only responsible for monitory crashes from the language server.


Question: disturl "https://electronjs.org/headers" <del> target "25.8.4" ms_build_id "24154031" </del> <ins> target "25.9.1" ms_build_id "24472542" </ins> runtime "electron" build_from_source "true"

Only on the first run I had to open my project () install the julia extension trust the authors of the folder open a .jl file in my project
I will add that, when I run the above code the extension server fails every time except for the first time. The first time I get the ERROR below, but the Language Server seems to restart. Also it actually takes ages (maybe 2 or 3 minutes) for the LanguageServer to start. <img width="1194" alt="image" src=""
Thanks for the bisect results, can you confirm if the extension host terminates with julia extension in . Download links available at
yes. it terminates
Sorry I should have provided link to , can you try it again with this version. I am trying to confirm if Electron 22 update was the trigger.
I don't have time for this right now. Interestingly I get another error now (I am using the most recent VS Code version now 1.81.1) Not sure if this is connected though....
can you also confirm , thanks!
I can reproduce the extension host termination with VSCode 1.77.3 and julia-vscode v1.47.2.
Thanks for confirming, that eliminates the allocator changes we adopted for Electron 22 update. Refs
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
Thanks for looking into this, Do you need any more info about the extension?
Might be fixed by
Once the libuve PR us merged, do I need to wait for the next minor julia release?
Thanks for sharing the fix , I will backport the fix into Electron as next step.
Steps for verification: 1) Open extension in latest stable, add the following changes 2) Debug extension, run command 3) Stop the debug session 4) Start debug extension again, run command 5) It should crash the extension host Perform steps 1-4 again in latest insiders with the fix and it should not crash.
Seems to be specific to windows, I cannot repro the crash on a Mac.
Yeah, the seems to be in the Windows kernel.
Yes बुध, 25 अक्तू॰ 2023, 11:15 pm को Sebastian Pfitzner < लिखा:


Question: readonly viewType: string, private readonly _workingCopyManager: IFileWorkingCopyManager<NotebookFileWorkingCopyModel, NotebookFileWorkingCopyModel>, @ILifecycleService lifecycleService: ILifecycleService, <del> @IFilesConfigurationService private readonly _filesConfigurationService: IFilesConfigurationService, @IExtensionService extensionService: IExtensionService </del> <ins> @IFilesConfigurationService private readonly _filesConfigurationService: IFilesConfigurationService </ins> ) { super(); if (this.viewType === 'interactive') { lifecycleService.onBeforeShutdown(async e => e.veto(this.onBeforeShutdown(), 'veto.InteractiveWindow')); } <del> this._register(extensionService.onWillStop(e => { if (!this.isDirty()) { return; } e.veto((async () => { const didSave = await this._workingCopy?.save(); if (!didSave) { // Veto return true; } return false; // Don't veto })(), localize('vetoExtHostRestart', "Notebook '{0}' could not be saved.", this._workingCopy?.name)); })); </del> } private async onBeforeShutdown() {

Testing a new notebook and make an edit profiles to restart the EH the file when prompted and provide a file name: The untitled-n.ipynb tab remains open, rather than opening , :bug: The file is no longer marked dirty, even with futher edits and can be closed without prompting to save
can you maybe check from the notebook side?
Luna paint behaves similarly with one extra step: a new image and make an edit profiles to restart the EH the file when prompted and provide a file name: The untitled-n.ipynb tab remains open, rather than opening , (different) and the switch profile operation is blocked switch profiles again The file is no longer marked dirty, even with futher edits and can be closed without prompting to save
Somehow today I cannot reproduce an issue with insiders: ! Please give me more detailed steps and see if you still find this.
still seeing it. Did you try making edits after switching? that's when the dirty indicator doesn't show up anymore. ! I saved as a different filename in the gif, but keeping the untitled filename still doesn't show a dirty indicator, nor does it auto-save.
This seems to me like something notebooks need to handle better: if you enter an extension host that does not have the notebook extension and you make edits, the editor should probably not allow that. I.e. the editor should maybe turn readonly once the extension is disabled or not present.
- the notebook extension is built-in so it's still available in an empty profile. The repro steps can even start with an empty profile -and make an edit to the first cell profile to default and save as 1.ipynb when prompted an edit in the notebook :bug: file is not dirty
oh nice, sounds like an issue related to EH restart then, will update the title With your working copy knowledge you might be even able to figure this out ;)
It looks like the issue in the notebook scenario is that it's calling save directly on the workingCopy in the : In the untitled case, that will delegate to saveAs, which will dispose the untitled workingcopy without opening a new editor with the resulting . The editor is left open with its underlying WorkingCopy disposed. For non-built-in custom editors though, it seems like we should just close them if we don't know if they will be supported in the new profile.


Question: readonly viewType: string, private readonly _workingCopyManager: IFileWorkingCopyManager<NotebookFileWorkingCopyModel, NotebookFileWorkingCopyModel>, @ILifecycleService lifecycleService: ILifecycleService, <del> @IFilesConfigurationService private readonly _filesConfigurationService: IFilesConfigurationService, @IExtensionService extensionService: IExtensionService </del> <ins> @IFilesConfigurationService private readonly _filesConfigurationService: IFilesConfigurationService </ins> ) { super(); if (this.viewType === 'interactive') { lifecycleService.onBeforeShutdown(async e => e.veto(this.onBeforeShutdown(), 'veto.InteractiveWindow')); } <del> this._register(extensionService.onWillStop(e => { if (!this.isDirty()) { return; } e.veto((async () => { const didSave = await this._workingCopy?.save(); if (!didSave) { // Veto return true; } return false; // Don't veto })(), localize('vetoExtHostRestart', "Notebook '{0}' could not be saved.", this._workingCopy?.name)); })); </del> } private async onBeforeShutdown() {

I don't see how we can expect a custom editor to support a scenario where its source extension isn't installed - is that even possible? I went over the issue with and concluded that we can defer to next release since the previous stable version also didn't handle this scenario well.
fyi I just created which is a similar issue for custom editors. Here for notebooks I suggest the following: if the EH restarts and still has the notebook extension for the opened notebooks, reconnect to the EH and allow to further make edits on the editor (I actually thought this was already implemented based on the work did) if the EH restarts and there is no more extension for the notebook editor, turn the notebook readonly and inform the user somehow Does that make sense?
The previous change just doesn't account for untitled notebooks, but I think I can fix that. That makes sense, although I'm surprised that we would require all custom editors to handle this (asked about it in the other issue)


Question: assert.strictEqual(document.getText(), 'foobarhellonworld'); assert.deepStrictEqual(edt.selections, [new vscode.Selection(0, 0, 0, 3)]); }); <ins> test('Support creating binary files in a WorkspaceEdit', async function (): Promise<any> { const fileUri = vscode.Uri.parse(`${testFs.scheme}:/${rndName()}`); const data = Buffer.from('Hello Binary Files'); const ws = new vscode.WorkspaceEdit(); ws.createFile(fileUri, { contents: data, ignoreIfExists: false, overwrite: false }); const success = await vscode.workspace.applyEdit(ws); assert.ok(success); const actual = await vscode.workspace.fs.readFile(fileUri); assert.deepStrictEqual(actual, data); }); </ins> });

Add support for setting the contents of files created by workspace edits My proposed would be to add a option to : For , we want to support copying images from desktop into with drag and drop. Right now we have to use the apis to create the image file Using a workspace edit would let us express the entire operation in a single , which will play more nicely with undo/redo
Looks like support for this may already exist internally: However getting a of new file data from the extension host to the main process may be tricky. We can only efficiently serialize a if it is a top level argument to an RPC call or if the entire object is wrapped in a (which has a perf cost). Open to ideas on how to handle this
I do like the and believe the cost is manageable - we don't send edits is large frequencies and of large sizes. I can take a look at this but it honestly is stretch for June - there is some debt in how workspace edits are represented on the wire and I would take this issue as a reason to clean things up
work started here: I didn't bother with or hoisting the data to the top but instead it uses quick and dirty base64 encoding. I'd suggest we go with that and see how it works out over time.


Question: border: none !important; } <del> .monaco-workbench .part > .title > .title-actions .switch-terminal > .monaco-select-box { </del> <ins> .monaco-workbench .part.sidebar > .title > .title-actions .switch-terminal > .monaco-select-box { </ins> padding: 0 22px 0 6px; }

The select box in the panel header should have a white background: ! This is similar to the recent breakage with the simple editor widget background color in SCM and extensions views.
To Verify: to an obvious color. that terminal and output select boxes are using these when they are in their default locations in panel.


Question: "smoketest": "cd test/smoke && node test/index.js", "download-builtin-extensions": "node build/lib/builtInExtensions.js", "monaco-compile-check": "tsc -p src/tsconfig.monaco.json --noEmit", <ins> "tsec-compile-check": "node_modules/tsec/bin/tsec -p src/tsconfig.json --noEmit", </ins> "valid-layers-check": "node build/lib/layersChecker.js", "strict-function-types-watch": "tsc --watch -p src/tsconfig.json --noEmit --strictFunctionTypes", "update-distro": "node build/npm/update-distro.js",

<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --As mentioned in the thread by there is a need for a tool that would help developers engaged in the VSCode project identify the Trusted Types violations. This can be achieved by adding as a devDependency and an appropriate yarn script.
I have also a task-definition so that tsec errors show in the editor itself. F1 Run Task tsec <img width="1472" alt="Screenshot 2020-09-01 at 13 07 22" src="https://user-"


Question: const src = token.attrGet('src'); if (src) { <del> env.containingImages.push({ src }); </del> <ins> env.containingImages?.push({ src }); </ins> const imgHash = hash(src); token.attrSet('id', `image-hash-${imgHash}`); }

<!-- Do Not Delete This! bugreporttemplate --Issue Type: <bBug</bWhen trying to run with a markdown-code which contains a picture, a is thrown: My extension uses the vscode-parser for converting markdown-files to pdf, so my extension depends on the vscode-parser and needs it to work. Steps to Reproduce: a new extension to the -file following code to the extension: VS Code version: Code - Insiders 1.54.0-insider (, 2021-02-18T05:14:01.684Z) OS version: WindowsNT x64 10.0.


Question: const src = token.attrGet('src'); if (src) { <del> env.containingImages.push({ src }); </del> <ins> env.containingImages?.push({ src }); </ins> const imgHash = hash(src); token.attrSet('id', `image-hash-${imgHash}`); }

<details<summarySystem Info</summary </details<details<summaryExtensions (41)</summaryExtensionVersion ------ silverstripe1.0.6 ts-loader-problem-matcher0.3.0 markdown-emoji0.0.9 markdown-mermaid1.9.2 better-toml0.3.2 arm1.5.0 javascript-ejs-support1.3.1 vscode-reveal4.0.3 php-debug1.14.9 php-intellisense2.3.14 php-pack1.0.2 cshtml-tm1.0.0 coldfusion1.0.1 reg1.0.2 vscode-edit-csv0.5.4 vscode-peacock3.9.1 languague-renpy1.0.6 eslint-language-service1.0.8 rainbow-csv1.8.1 git-graph1.28.0 vscode-apache1.2.0 csharp1.23.9 remote-containers0.160.0 remote-ssh0.64.0 remote-ssh-edit0.64.0 remote-wsl0.54.0 vscode-remote-extensionpack0.20.0 hexeditor1.4.0 powershell2020.6.0 vscode-typescript-tslint-plugin1.3.3 vsliveshare1.0.3784 debugger-for-chrome4.12.12 php-docblocker2.1.0 material-icon-theme4.5.0 ejs-language-support0.0.1 ruby0.28.1 vscode-yaml0.15.0 vbsvscode1.2.0 vscodeintellicode1.2.11 vscode-ruby0.28.0 markdown-all-in-one3.4.0 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
We'd take a PR. However this looks specific to how your extension is using the markdown extension point in an unsupported way so this is not something we'll prioritize fixing
Thanks a lot for your rapid answer. I found myself able to refactor the package to make rendering work again out of the box. I'll open up a PR asap.
/verified


Question: dependencies: is-number "^7.0.0" <del> typescript@5.4.3: version "5.4.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.3.tgz#5c6fedd4c87bee01cd7a528a30145521f8e0feff" integrity sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg== </del> <ins> typescript@5.4.4: version "5.4.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.4.tgz#eb2471e7b0a5f1377523700a21669dce30c2d952" integrity sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw== </ins> vscode-grammar-updater@^1.1.0: version "1.1.0"

Tracks updating the TS 5.4.4. recovery build
Actually may wait for TS 5.4.5 with a fix for auto imports
Merging 5.4.4 for now


Question: /* #endregion */ <del> .interactive-response-progress-tree .monaco-tl-row:hover { </del> <ins> .interactive-response-progress-tree .monaco-list-row:not(.selected) .monaco-tl-row:hover { </ins> background-color: var(--vscode-list-hoverBackground); }

White on gray is not readable. I think the explorer tree has a different behavior here. !
Which theme is this?
Default Light+


Question: protected createEditor(parent: HTMLElement): void { this._rootElement = DOM.append(parent, DOM.$('.notebook-editor')); <ins> this._rootElement.id = `notebook-editor-element-${generateUuid()}`; </ins> } getDomNode() {

Issue Type: <bBug</bSteps to Reproduce: a notebook. In my case, I have a Jupyter notebook (.ipynb). any of the "" or "" or "" or "". happens! These navigation commands work just fine in all other views/panels that I regularly use. VS Code version: Code 1.66.2 (Universal) (, 2022-04-11T07:49:20.994Z) OS version: Darwin arm64 21.4.0 Restricted Mode: No <details<summarySystem Info</summary </detailsExtensions disabled <!-- generated by issue reporter --
this sounds like a real bug to me, the issue is that notebooks do not seem to be rooted below the editor part in the DOM: ! That asks for trouble because we have lots of checks in code to figure out if the editor area has DOM focus or not, e.g.: What is the rationale? I checked with custom editors, and they manage to put the into the DOM hierarchy of the editor part. //cc
We render the notebook out of the grid view as it contains a webview, which can not be re-parented when users drag editors between groups. I basically followed what Custom Editor does did we change this recently? I wonder if it's already safe to do so.
Can confirm that I am also experiencing this. In the meantime, I've found that this kind of works for moving left and right: But there is no or , and this fails when attempting to move to panels. Looking forward to a fix, or if anyone has a workaround.
fyi we no longer use but only , so maybe that changed.
<img width="1918" alt="image" src="https://user-"I found that we are not putting custom editor webviews in the editor grid either.
oh ok, turns out we seem to have logic to still make that work via a special code, looks like notebooks should adopt it as well: And the relevant method using it:
Yes to my knowledge iframes still cannot be reparented. All webviews are rendered as top level elements with absolute positioning to work around this Let me know if you have any questions about using . It should help fix this issue as I believe I've already fixed a similar issue for webviews
This feels like a useful workaround.


Question: protected createEditor(parent: HTMLElement): void { this._rootElement = DOM.append(parent, DOM.$('.notebook-editor')); <ins> this._rootElement.id = `notebook-editor-element-${generateUuid()}`; </ins> } getDomNode() {

Concerning moving up and down, you can use the and actions ().
works great, it would be great if you can help review
This seems to be working for me now in insiders but feel free to speak up if it's not doing what you expect
Yep, this seems to be fixed in the insiders build. Looking forward to seeing it merged into stable! Thanks everyone!


Question: <del> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="3 3 16 16" enable-background="new 3 3 16 16"><polygon fill="#424242" points="12.597,11.042 15.4,13.845 13.844,15.4 11.042,12.598 8.239,15.4 6.683,13.845 9.485,11.042 6.683,8.239 8.238,6.683 11.042,9.486 13.845,6.683 15.4,8.239"/></svg> </del>  No newline at end of file <ins> <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.784 8L13 11.217 11.215 13 8.001 9.786 4.785 13 3 11.216l3.214-3.215L3 4.785 4.784 3 8 6.216 11.216 3 13 4.785 9.784 8.001z" fill="#424242"/></svg> </ins>  No newline at end of file

When tabs are enabled, the close button is slightly larger and unbalances the tab. This button should be different than when tabs are disabled and the close button is moved to the editor toolbar. !


Question: const position = editor.getPosition(); const uri = editor.getModel().uri; const bpExists = !!(debugService.getModel().getBreakpoints({ column: position.column, lineNumber: position.lineNumber, uri }).length); <del> return (bpExists ? Promise.resolve(null) : <Promise<any>>debugService.addBreakpoints(uri, [{ lineNumber: position.lineNumber, column: position.column }])).then((breakpoints) => { </del> <ins> return (bpExists ? Promise.resolve(null) : <Promise<any>>debugService.addBreakpoints(uri, [{ lineNumber: position.lineNumber, column: position.column }], 'debugEditorActions.runToCursorAction')).then((breakpoints) => { </ins> if (breakpoints && breakpoints.length) { breakpointToRemove = breakpoints[0]; }

When going over our telemetry for debug actions we have the ability to track usage counts of debug actions triggered from keyboard shortcuts and commands, as they execute commands which we emit telemetry for, but we don't seem to have telemetry in place for breakpoints set in the gutter (click or context menu). This is unfortunate as my hypothesis is that the majority of breakpoints are set this way. Ask Add ability to track breakpoint toggles (add/remove/change) from Gutter click Add ability to track breakpoint toggles from gutter context menu
would you like to contribute a PR for this? It shuold be fairly simple and you already have the nice code pointers.
I'd be happy too, but we should land on an agreement on how to implement it. What's the best approach? 1) Add telemetry directly to the gutter actions 2) Re-wire the gutter actions to execute a command instead?
for the best approach let's first see what you want to get exactly? total amount of all breakpoints set (including the gutter) grained events for breakpoint setting based on the way the user initated that aciton In case of 1 we should just add a telemetry ping in the  since everyone should go through there In case of 2 depends on how fine grained you want it, if for every place then we should add an argument or something like that in the addBreakpoints method and then also report that to telemetry.
I'd like us to be able to contribute a source/initiator to given breakpoint, so we can get an UI usage distributions, etc.
I suggest the following Add a third argument In the implementation of that method use the telemetry service to report the appropriate event with the context. And you should nicely get all the errors of all the callers of , simply pass different string context for each caller and you shuold be good to go. Let me know if you have any questions
Cool, I'l see what I can get cooking!
Removing my assignment for this. feel free to assign me back if you do not have time to tackle this and if we need this for August
hey, would you still like this? If yes I can also look into it in October
I'd still like to do this to get my hands dirty.
cool, unasigning myself and let's leave it for October
Verified by code review, adding verified label


Question: public async ensureMarkupCell(info: webviewMessages.IMarkupCellInitialization): Promise<void> { let cell = this._markupCells.get(info.cellId); if (cell) { <del> cell.element.style.visibility = info.visible ? 'visible' : 'hidden'; </del> <ins> cell.element.style.visibility = info.visible ? '' : 'hidden'; </ins> await cell.updateContentAndRender(info.content, info.metadata); } else { cell = await this.createMarkupCell(info, info.offset, info.visible);

Collapse an output, it is not hidden in the webview <img width="596" alt="image" src="https://user-"
maybe ?


Question: return false; } <del> if (allPossibleSelections.has(0)) { // selection overlaps with a final tab stop which means // we done return false; } </del> // add selections from 'this' snippet so that we know all // selections for this placeholder allPossibleSelections.forEach((array, index) => {

<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.33.1 OS Version: Windows_NT x64 10.0. Steps to Reproduce: a new user snippet file for the project. The one I encounter the issue with is: the snippet and attempt to press TAB after writing the first variable cursor does not move to the next stop, instead a tab character is The desired behavior would be for the cursor to move to the next tab stop. <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
Seems to work just fine for me... Any special keybinding or setting? !
The action you took is not the problem I encounter and does indeed work the same way for me. Could you try to edit "SystemName", the first tab stop, then press TAB to go to "Required Components"? vsCode just inserts a tab character after whatever I wrote instead of going to the next tab stop.
Ok, thanks for clarifying. For some reason snippet mode stops when making that edit... Not sure why
I have encountered similar issue, however, I could add a single blank space in the snippet which "fixed" the tab navigation. Also, my example is far simpler. See
This is a regression from I will revert that change and re-open the corresponding issue (which is much more rare than these issues)
Thank you for fixing this, looking forward to the next release.


Question: async getEnvironment(): Promise<IProcessEnvironment> { return process.env; } getSafeConfigValue(key: string, os: OperatingSystem): unknown | undefined { return undefined; } getSafeConfigValueFullKey(key: string): unknown | undefined { return undefined; } <del> createProfileFromShellAndShellArgs(shell?: unknown, shellArgs?: unknown): Promise<ITerminalProfile | undefined> { throw new Error('Method not implemented.'); } </del> <ins> createProfileFromShellAndShellArgs(shell?: unknown, shellArgs?: unknown): Promise<string | ITerminalProfile> { throw new Error('Method not implemented.'); } </ins> } export class TestLocalTerminalService implements ILocalTerminalService {

Testing With the following settings: I saw the terminal migration notification and then clicked "Migrate", and my settings changed to: Which is defintely not what I expected to happen.
Perhaps if the shell/shellArgs match one of the detected profiles, the name of that profile can be used? So in the sample above,
I'm also kinda confused by this... here's what I had: and it turned it into:
The behavior should be: If there is an exact match (eg. just ), it should assign the existing profile as the default (). If there is not an exact match (eg. ), it should add the profile to the list and set it as the default. As for the name maybe something like would be best.
To verify, see and try other combinations
or could you pls verify this?
with the following: I don't get a notification. Is that expected?
If you've already said don't show again to the notification in that workspace, yes.
ah... I hit the which didn't show the notification until I reloaded the window.
that was another fix that went in to make sure we're not annoying
Migration doesn't seem to be working for me. Here's a gif: ! These are the same settings as here
Ah looks like if I already define then this migration doesn't work. If I delete that setting (and use instead as the default profile, the migration works.
Meaning if you set the to the name of a profile that already exists within your it doesn't work? I think that's by design.
Gotcha. The only thing I'll mention is this, with a defined does not prompt me: but this without it defined does prompt me:
I guess I would expect the migration to still happen (and a new profile be to my existing ) but maybe that's out of scope.
That seems wrong. It should happen as long as you haven't said don't show again. I'll try it.
ah... just opened dev tools:
it's working for me on Windows.
Hmm what does that mean?
Here's a repro on non-Windows without PowerShell:
any errors in dev tools with that repro? can you turn on trace logging? and search for 'migrat'
Beyond this: I don't see anything... which Output should I dig into specifically?
Run set log level -trace -open developer tools.


Question: async getEnvironment(): Promise<IProcessEnvironment> { return process.env; } getSafeConfigValue(key: string, os: OperatingSystem): unknown | undefined { return undefined; } getSafeConfigValueFullKey(key: string): unknown | undefined { return undefined; } <del> createProfileFromShellAndShellArgs(shell?: unknown, shellArgs?: unknown): Promise<ITerminalProfile | undefined> { throw new Error('Method not implemented.'); } </del> <ins> createProfileFromShellAndShellArgs(shell?: unknown, shellArgs?: unknown): Promise<string | ITerminalProfile> { throw new Error('Method not implemented.'); } </ins> } export class TestLocalTerminalService implements ILocalTerminalService {

you should see a migration message. migrated from shell/shellArgs...
I wonder if this could be the issue
Hmmm I don't see
The fix here is probably:
Even better is marking the type as readonly too:
We might be able to catch this in the future with
I don't understand what's going wrong here though - if userValue is undefined, profiles get set to already
I'd think making it readonly would be even worse since then we can't add properties to it - such as the newly created profile
Which works fine, the failure case was when had profiles set. The there just corrects the type we're receiving from the config service
ok, should this be a candidate or moved to June?
I think it meets the candidate bar, we really want migration to be solid


Question: resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.5.0.tgz#41c0d96acc1e3bb6c6596eee64e163b6bca74be7" integrity sha512-Jm4/g4QiTxiKiTbYICQgC791ubhIZyoIwxAIgOW8z8HWFNY+lwk+dwaKEaEeGBfM48Vk8fklsUW9u/PlenYEBg== <del> xterm-addon-webgl@0.15.0-beta.8: version "0.15.0-beta.8" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.15.0-beta.8.tgz#2005198582f6f1f4a9b2612b9354c0bcc9f148d8" integrity sha512-HjTr9bi3FvdOIPaaIpih6qdHX2z+H7sQPluLj5KzwCqRiEVUVRi19dl8SdHjf6dCmN3GahMhjV7D+zxHi2pLTw== </del> <ins> xterm-addon-webgl@0.15.0-beta.10: version "0.15.0-beta.10" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.15.0-beta.10.tgz#39ebbfb1b89c6773a2d8cb8e1d2f3ef1f08b28f9" integrity sha512-JVv4t5q6QGWyLiEAcAk9H2B83hFlIalzEwWu1VVYso0MJyZAlZ0NP5Za03iSKxYi7RQIA5bOe8r7W24esQDjLg== </ins> <del> xterm@5.2.0-beta.35: version "5.2.0-beta.35" resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.2.0-beta.35.tgz#4a0c0aa81c89c42167c22d023648cced44fa3c25" integrity sha512-6x6i61lucRrLWRKFeMO/ZOx5anvYR6FHpReLO2g0y1bp5zYWyZFzM6DepMV50729gubzxSLB8mvbmb9EpeIugQ== </del> <ins> xterm@5.2.0-beta.40: version "5.2.0-beta.40" resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.2.0-beta.40.tgz#c73d5576425dcd4fa6b48ce58b4224a7b5b9dbdf" integrity sha512-7/Db3KPceM0VX4/YAKL+/ArvEHlGBwE3kt1oN9QP5TLaJ6r2ThMS7z7QwG8g2gy60GFnvjfvpcTv6Ewyste4zg== </ins>

Does this issue occur when all extensions are disabled?: Yes VS Code Version: OS Version: Steps to Reproduce: a terminal window within vscode and run this command: vscode hangs indefinitely, using 100% CPU on one core. It would be nice if that didn't happen.
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.78.0. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
I'm using web version (Vscode Server) and this code snippet cause the entirely browser tab to crash: ! Wanted to provide profiling info but profiler hanged too
I can reproduce
Nice find
Upstream:


Question: private _cancelContextMenu: boolean = false; <ins> private _disposableStore = this._register(new DisposableStore()); </ins> constructor( group: IEditorGroup, @ITelemetryService telemetryService: ITelemetryService,

I was trying to understand the usage of and the lifecycle of actions created while creating it. I think this originated with the terminal, so looked at the terminal code, but it seems like the problem isn't solved here either. instantiates some Actions which extend Disposable, but they are never tracked or disposed. The ActionViewItems returned from are apparently owned by whatever calls that and get disposed, but not these extra actions that we have to create. So, one solution would be for them to be owned and disposed by although that feels unexpected. But otherwise, there isn't a technically correct way for the code in to know when they should be disposed. Wondering whether I'm missing something or if you have any thoughts.
I spent some time investigating this and the issue is that we use in some places and in others. Only the latter is disposable. This would be a bit involved to rework


Question: function focusFirstFocusableOrContainerInOutput(cellOrOutputId: string, alternateId?: string) { const cellOutputContainer = document.getElementById(cellOrOutputId) ?? <del> alternateId ? document.getElementById(alternateId!) : undefined; </del> <ins> (alternateId ? document.getElementById(alternateId!) : undefined); </ins> if (cellOutputContainer) { if (cellOutputContainer.contains(document.activeElement)) { return;

found testing for a cell to get output ctrl+down to focus the output :bug: visually, it looks like the cell container is focused.
in the insiders build of 1.83.0, NVDA 2023.2 does read the output but like said it doesn't visually focus it. Unlike NVDA JAWS 2023.2307 doesn't even read the output. And even pressing alt+F2 while using JAWS, accessible view is not even pulled up/JAWS doesn't do anything. While output focus issue is not found in version 1.81.1 with JAWS 2023.2307. Seems like VS Code bug.
So this worked but with the keybindings on Mac. Not sure if the keybinding you mentioned is the keybinding on another platform like windows?
yes sorry, didn't notice that mac keybinding was different


Question: const { options, buttonIndexMap } = this.massageMessageBoxOptions({ message, buttons, <del> type: (severity === Severity.Info) ? 'question' : (severity === Severity.Error) ? 'error' : (severity === Severity.Warning) ? 'warning' : 'none', </del> <ins> type: (severity === Severity.Info) ? 'info' : (severity === Severity.Error) ? 'error' : (severity === Severity.Warning) ? 'warning' : 'none', </ins> cancelId: dialogOptions ? dialogOptions.cancelId : undefined, detail: dialogOptions ? dialogOptions.detail : undefined, checkboxLabel: dialogOptions?.checkbox?.label ?? undefined,

Testing Version: 1.75.0-insider Commit: Date: 2023-01-24T05:22:50.699Z Electron: 19.1.9 Chromium: 102.0.5005.194 16.14.2 V8: 10.2.154.23-electron.0 OS: Linux x64 5.15.0-56-generic Sandboxed: Yes Export a profile to a file Confirmation dialog shows a question mark, but there's no question here !
It's better on Windows: !
We can change all dialogs from to use instead of type. This only seems to have an impact on Linux and changes the icon to an info icon.


Question: _serviceBrand: undefined; private _accessibilitySupport = AccessibilitySupport.Unknown; <ins> private didSendTelemetry = false; </ins> constructor( <del> @IWorkbenchEnvironmentService private readonly environmentService: IWorkbenchEnvironmentService, @IContextKeyService readonly contextKeyService: IContextKeyService, @IConfigurationService readonly configurationService: IConfigurationService, </del> <ins> @IWorkbenchEnvironmentService environmentService: IWorkbenchEnvironmentService, @IContextKeyService contextKeyService: IContextKeyService, @IConfigurationService configurationService: IConfigurationService, </ins> @ITelemetryService private readonly _telemetryService: ITelemetryService ) { super(contextKeyService, configurationService); <ins> this.setAccessibilitySupport(environmentService.configuration.accessibilitySupport ? AccessibilitySupport.Enabled : AccessibilitySupport.Disabled); </ins> } alwaysUnderlineAccessKeys(): Promise<boolean> {

I see this telemetry event getting sent when toggling the screen reader on whilst vscode is open, however if a screenreader is already on when the editor is opened, the telemetry event doesn't get fired as it's only triggered by Electron's event. This probably isn't the desired implementation here.
I can take this.
Thanks for catching and fixing this


Question: await outputElement.render(data.content, preloadErrors, signal); // don't hide until after this step so that the height is right <del> outputElement.element.style.visibility = data.initiallyHidden ? 'hidden' : 'visible'; </del> <ins> outputElement.element.style.visibility = data.initiallyHidden ? 'hidden' : ''; </ins> } public clearOutput(outputId: string, rendererId: string | undefined) {


Question: } } <del> async createTemporaryProfile(profile: IUserDataProfile, name: string, extensionsDisabled: boolean): Promise<void> { const userDataProfilesExportState = this.instantiationService.createInstance(UserDataProfileExportState, profile, extensionsDisabled); </del> <ins> async createTroubleshootProfile(): Promise<void> { const userDataProfilesExportState = this.instantiationService.createInstance(UserDataProfileExportState, this.userDataProfileService.currentProfile, true); </ins> try { <del> const profileTemplate = await userDataProfilesExportState.getProfileTemplate(name, undefined); await this.importAndSwitch(profileTemplate, true, true, extensionsDisabled, localize('import', "Create Profile")); </del> <ins> const profileTemplate = await userDataProfilesExportState.getProfileTemplate(localize('troubleshoot issue', "Troubleshoot Issue"), undefined); await this.progressService.withProgress({ location: ProgressLocation.Notification, delay: 1000, sticky: true, }, progress => this.importAndSwitchWithProgress(profileTemplate, true, true, true, message => progress.report({ message: localize('troubleshoot profile progress', "Setting up Troubleshoot Profile: {0}", message) }))); </ins> } finally { userDataProfilesExportState.dispose(); }

Testing I started the Troubleshoot issue flow and it took a long time to create my initial profile. All I had was a status bar item which took me a while to discover (I actually thought something else went wrong). I would love to see and editor / web view better guiding me through that process by: listing the steps and adding check marks when done showing me the number of bisects still necessary giving me a final report.
<img width="258" alt="capture" src=""
We should also have a UI to always stop the process (see ) for a situation where this is useful
I now see that there is a notification for each step. This makes it better, so may be a simple thing to do is to show a notificatio with progress when the profile is created instead of a simple status bar item.
Actually, setting up the trouble shooting profile should be fast and instant.
Was not for me :-(
Following notification is shown now !


Question: import { VIEWLET_ID, ISCMRepository, ISCMService, VIEW_PANE_ID, ISCMProvider, ISCMViewService, REPOSITORIES_VIEW_PANE_ID } from 'vs/workbench/contrib/scm/common/scm'; import { KeyMod, KeyCode } from 'vs/base/common/keyCodes'; import { MenuRegistry, MenuId } from 'vs/platform/actions/common/actions'; <del> import { SCMStatusController } from './activity'; </del> <ins> import { SCMActiveResourceContextKeyController, SCMStatusController } from './activity'; </ins> import { LifecyclePhase } from 'vs/workbench/services/lifecycle/common/lifecycle'; import { IConfigurationRegistry, Extensions as ConfigurationExtensions, ConfigurationScope } from 'vs/platform/configuration/common/configurationRegistry'; import { IContextKeyService, ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';

<!-- Do you have a question? Please ask it on --VSCode Version: 1.12.1 OS Version: OS X EI Capitan 10.11.3 Steps to Reproduce: some project from GitHub. a file A.cs which has no fresh changes at all. on the editor of A.cs, and notice the button of on the top right corner above the editor doesn't display as disbled! Clicking it has no effect of course, but it should display as disable in this case just like what in the old versions.
Can't fix without , closing for now.
since it connot be fixed without , should this be kept open and linked to then?
Sure.
To keep the number of issues in our inbox on a manageable level, we're closing issues that have been on the backlog for a long time but haven't gained traction: We look at the number of votes the issue has received and the number of duplicates issues filed. Thanks for your understanding. Happy coding!
Hoping to re-open this because I got this as a feedback item from a few CS educators. They notice their students clicking it accidentally and being confused when there is no apparent action.
I think this has regressed, I now miss this button when a file is staged.
Fixed regression with
There is another regression (), so I will be reverting this fix for this, and will refactor it.


Question: super(); this._standaloneColorPickerVisible.set(true); this._standaloneColorPickerParticipant = _instantiationService.createInstance(StandaloneColorPickerParticipant, this._editor); <del> this._position = this._editor._getViewModel()?.getPrimaryCursorState().viewState.position; </del> <ins> this._position = this._editor._getViewModel()?.getPrimaryCursorState().modelState.position; </ins> const editorSelection = this._editor.getSelection(); const selection = editorSelection ? {

cursor is rendered on top of it <img width="400" src="https://user-"Version: 1.78.0 Commit: Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.78.0 Chrome/108.0.5359.215 Electron/22.4.8 Safari/537.36
Hi thank you for filing the issue. I tried to reproduce this issue, but it seems to work fine on my computer. Could you please try spawning a color picker in the latest VS Code Insiders (). If you continue seeing this issue, could you please try to run VS Code Insiders without any extensions and reproduce this error? It so happens sometimes that extensions cause errors. If you still see this issue, do you think you could copy paste below a minimally reproducible example of the contents of the editor where this happens?
<details</summary</details! Maybe it only reproduces with zoom? Should it render like that with markers? !
Hi, thanks for the reply, could you post here a copy of your settings file. I am thinking this error could be happening in relation to one of your settings.
Hmmm, it's a 2000 line-long file, not sure how useful it would be. It looks like I can reproduce it on the web with browser zoom and . On desktop that would be:


Question: }); } else { groupActiveEditorCanSplitInGroupContext.set(false); <del> sideBySideEditorContext.set(false); </del> <ins> groupActiveEditorIsSideBySideEditorContext.set(false); </ins> groupActiveEditorDirtyContext.set(false); }

Reproduced on OSS, Mac Steps to Reproduce: Code OSS a file cmd+w Closes the window Bisect points to this commit -
I can reproduce and this is likely context keys not being set properly because conditionally closes the window if no active editor. !
There are context keys that are now loose, for example
Follow up work


Question: ], { sticky: true, <del> neverShowAgain: { id: 'terminalConfigHelper/launchRecommendationsIgnore', scope: NeverShowAgainScope.WORKSPACE }, </del> <ins> neverShowAgain: { id: 'terminalConfigHelper/launchRecommendationsIgnore', scope: NeverShowAgainScope.GLOBAL }, </ins> onCancel: () => { /* __GDPR__ "terminalLaunchRecommendation:popup" : {

Problem: A popup opens, displaying: "The 'Remote - WSL' extension is recommended for opening a terminal in WSL." It has a 'Dont Show Again' and an 'Install' option. Clicking Don't Show Again has no effect. Expected Behaviour: Once I click Don't Show Again, this popup doesn't appear every single time I open the WSL terminal in VS Code. VSCode Version: 1.38.1 (user setup) OS Version: Windows_NT x64 10.0. Steps to Reproduce: WSL Ubuntu installed on Windows. the WSL integrated terminal on VS Code. Does this issue occur when all extensions are disabled?: No.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.614 --- <!-- score: 0.559 --- <!-- score: 0.549 --- <!-- score: 0.54 --- <!-- score: 0.52 --<!-- potentialduplicatescomment --
I wanna take a shot at this!
Does this happen on different workspaces or on the same workspace? Edit: I have checked and this only happens when you open different workspaces (Different project folders with VSCode) I personally think that this should not be the case and should be global so I will make a pull request for it.
Sorry for the late reply. I see you've already pushed a fix for this, so thanks a lot :)
Should I close the issue now?


Question: } private refreshTitle(): void { <ins> if (this._disposed) { return; } </ins> if (this.contextService.getWorkbenchState() === WorkbenchState.WORKSPACE) { this.updateTitle(EmptyView.NAME); } else { this.updateTitle(this.title); } } <ins> override dispose(): void { this._disposed = true; super.dispose(); } </ins> }

This is a valid bug. To repro: Open an empty window Open the explorer view. Make sure you have welcome page opened in the editor. Click on link the empty view Select a folder to open You will see above error trace in the console
No Folder Opened view () is removed when folder is opened. When removed this view is disposed. Following listener is getting invoked even after view is disposed It is because, view is being removed/disposed by listening to the same event It seems, once an event is fired all its listeners are invoked even if one of the listeners is disposed in the middle. This is causing the listener to be called even if it is disposed. Assigning to you also because it is related welcome view.
What link should I click? !
You have to make sure welcome page is opened <img width="955" alt="image" src="https://user-"


Question: if (!item.completion.command) { // done this.model.cancel(); <del> this.model.clear(); </del> } else if (item.completion.command.id === TriggerSuggestAction.id) { // retigger

Issue Type: <bBug</bLike what the heading says, inserting a code snippet anywhere in the code file causes an autoscroll. This is a slight inconvenience, as while inserting snippets, viewing code above it is desirable, causing us to rescroll into view. So adding an option to revert to the functionality in the stable release would be preferred VS Code version: Code - Insiders 1.46.0-insider (, 2020-05-07T16:36:39.681Z) OS version: Linux x64 5.4.38-1-MANJARO <details<summarySystem Info</summary </details<details<summaryExtensions (4)</summaryExtensionVersion ------ cpptools0.27.1 Go0.14.1 material-icon-theme4.1.0 material-theme3.5.0 (1 theme extensions excluded) </details<!-- generated by issue reporter --
Yeah - that's a regression from a recent change to keep the position stable when additional edits are inserted...
is the item that caused this regression.
fixed via
Yep, it works fine now. Thanks a lot!
This bug has been fixed in to the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command pallette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
/verified


Question: if (!item.completion.command) { // done this.model.cancel(); <del> this.model.clear(); </del> } else if (item.completion.command.id === TriggerSuggestAction.id) { // retigger

This is somewhat the opposite of and the acknowledgement that computing additional text edits for all items upfront is too demanding. This issue is only about and the goal is a pragmatic solution, similar to the one that we have for . Idea accept an unresolved completion proceed with insertion as usual set up a content change listener resolve the items once resolved check if additional edits overlap with "concurrent" changes. when they overlap, do nothing otherwise proceed
The first version for this is now merged to master, it's a pragmatic approach that's better then not resolving but worst than (costly) upfront resolving. Items to followup on [ ] telemetry and follow up issues [ ] - TS issue for having incomplete items [ ] [ ] java for returning very few (resolved) completions, e.g doing the right thing
/cc - My understanding is that Java resolves all items upfront, e.g compute additional text edits during "provide", and that it is quite expensive and therefore Java only returns a small amount of items. Is that correct? Could Java return results faster when additional text edits are computed during resolve (and therefore only for selected items)?
Yes. I think so! is the dev who was working on Java completion. I believe he can provide more insights toward this topic. // cc
this is exactly the behavior that used to have, ie compute all the completion items first (fast), then the text edits were computed during resolveCompletion. We were asked to not do that as and changed to return a small subset of completion items (with incomplete=true), with full text edits computed upfront. The user experience is definitely not as good as with our initial implementation.
To be clear, computing any Java textedit upfront is costly when returning 100+ items (and we can return several thousands items). We'd prefer if the async insertion of textedits covered all textedits, not just the additional ones.
The requirements discussed in are still true and there are no plans to change that. There is (which might be derived from ) and . The former () is inserted at the cursor and must be inserted synchronous to accepting a completion (we cannot block typing while waiting for that). The latter () is meant for things like import-statements and we now want to relax that, e.g it can come late and we try to apply those edits despite the user having typed more.


Question: if (!item.completion.command) { // done this.model.cancel(); <del> this.model.clear(); </del> } else if (item.completion.command.id === TriggerSuggestAction.id) { // retigger

When exactly does run, is it only when an item gets highlighted in the menu? Can't tell from the docs. I only need to generate for the completion item the user ends up applying -- doing it for other items is unnecessary work that's bogging down the extension host, and I will have to implement yielding. I assume no one would need to generate before a completion item is applied? Is there any kind of completion applied event we can hook into to work around this for the time being?
That's exactly what is about . Today, there is no guarantee that is ever called because its original design is to provide data for the suggest details widget. However, we see that (amongst other things) are computed during resolve and leads to subtle bugs (because don't always call resolve or always await it) Well, is the problem if you do not generate them upfront. select suggestion synchronously inserts the string starts for additional text edits continues to type quickly and all over the place -call eventually returns but it is unclear if the edits are still valid because the state changed many types in-between Solutions: Won't work because in JS you cannot wait for another "thread" or "process", the world always keeps turning Implement a full -solution because this is two entities "typing" concurrently in the same document. However, it will feel awkward because the user doesn't expect to be such a scenario. approach that tries to apply additional edits if possible but inserts the "main edit" (insertText) always synchronously. () "if possible" is currently defined as "no edit has occurred before the first additional edit". That works well if you use additional edits for things like imports or prefixes (which is the indented use-case) but won't work if additional text edits change the main edit, like appending a call-operators with arguments etc
I mean JS can't block but ignoring typing while awaiting is possible -- I was imagining that VSCode would keep the completions menu open and ignore any typing until is resolved and all text edits applied for the accepted item. Obviously this would be bad if resolving takes a long time, but the API has cancelation tokens already, so the UI would just need to show a spinner/cancel icon, and also cancel if the user presses ESC or navigates to a different editor, for a decent UX.


Question: if (!item.completion.command) { // done this.model.cancel(); <del> this.model.clear(); </del> } else if (item.completion.command.id === TriggerSuggestAction.id) { // retigger

I think this would be less confusing for users too; it's the only way it would be clear when VSCode is completely done applying the completion. I think many users would be confused if imports usually get but not when they resume typing too soon. FWIW I can syncronously generate the additional text edits I need, so I'd be happy if there were an API to synchronously generate them when the completion item is accepted. I know not everyone would be able to generate them sync though.
Also I know my questions may have seemed redundant, but I hadn't seen anyone on this thread point out that it would be ideal to avoid ever computing additional text edits (or even the primary insert text) for unselected completions. Since can get called before any item is accepted (I assume, since it seems to be for showing additional details in the menu), I'd think any solution via could still result in unnecessarily generating additional edits that are ultimately discarded.
The golden rule is that "you can always type inside the editor". Ignoring typing is not a good solution and will bug users. Just think of quick suggest and auto accept characters - you don't want the editor to stop typing just because an extension is taking a little longer (+50ms). To be precise you should have written "typing at or before the offset at which additional edits are going to happen" I honestly think the majority can generate them synchronously but this happens in the extension host process or the language server process, and all of that might happen on a different machine and there is no way to synchronously transport that into the UI.
re with the current changes you should be able to have a "simple insert text", say , and compute an additional text edit, like , that goes in front of it so that you eventually have . Right? Or am I missing something?
that might actually be a good idea ;-) In practice though, we might need to revisit the way the principal TextEdit is computed (i.e rewrite a bunch of stuff from upstream JDT)
I get the desire to be able to always be able to type inside the editor and agree that's an important principle. The only reason I think this case is an exception is that: The user would probably want to wait for all edits to get applied anyway.


Question: if (!item.completion.command) { // done this.model.cancel(); <del> this.model.clear(); </del> } else if (item.completion.command.id === TriggerSuggestAction.id) { // retigger

Seems unlikely that people would want to get the main edit without the additional edits By making the operation cancelable, you can still go back to typing immediately if you so desire. I certainly wouldn't want to block the user from typing without recourse (as you know, I feel frustrated that happens currently when using Vim extensions) On the other hand, I guess it's unlikely that the additional text edits would overlap whatever the user continues typing...
I hadn't thought about auto accept characters though, that's a good point. That's something I don't have experience with. Also considering that VSCode could pop up a warning if it has to bail on inserting additional edits, it's not a big deal if it ever happens
I remember that we have some new data points regarding the time consumption in different stages of code completion in Can you share that data and see how we can tune it with this change?
For Java language server, below is a sample of call tree when triggering completion. (time value is larger than expected because of extra overhead from JProfiler) ! Total time of completion stage mainly consists of three parts: competion candidates in JDT to CompletionItems (calc textEdits, additionalTextEdits, etc.) --- calc an incomplete list of only 50 items by default (the full list can contain thousands) --- here calculating import statements costs a lot of time server-side code snippets (not much related to this topic) I did a simple experiment on java language server, with vscode-insider built on 2020-5-15. I was using spring-petclinic, which is not a big one, but with some dependencies. Type a initial letter, e.g. "O", and observe perf of completion and resolve. Do multiple times for statistics. Calculating additionalTextEdits async in resolve stage does decrease the time cost a lot. textEdits and additionalTextEdits are calculated during completion stage. completion: ~150 ms resolve(avg of top 10 items): ~10 ms Now I simply move a bunch of textedit calculation from "completion" stage into "resolve" stage. completion: ~100 ms resolve(avg of top 10 items): ~17 ms !
I just realized that can return a thenable, but I assume that would delay the appearance of the entire menu?
Closing as we haven't seen issues with the new pragmatic approach and the plan is to stick with it.


Question: if (!item.completion.command) { // done this.model.cancel(); <del> this.model.clear(); </del> } else if (item.completion.command.id === TriggerSuggestAction.id) { // retigger

so how do servers know that clients support lazy-loading of additional textedits? Surely this should be a client capability advertised by vscode (that needs to be specced in the LSP)
is the right person for that and you should probably create a follow up issue in the LSP land
corresponding LSP feature request created here please add more details if I miss anything.
Thanks
To verify: use TypeScript have a suggestion that will import a symbol make sure that suggestion isn't first or focused in the UI use the mouse(!) to select the suggestion make sure the import is there make sure undo, redo works as expected


Question: resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.5.0.tgz#41c0d96acc1e3bb6c6596eee64e163b6bca74be7" integrity sha512-Jm4/g4QiTxiKiTbYICQgC791ubhIZyoIwxAIgOW8z8HWFNY+lwk+dwaKEaEeGBfM48Vk8fklsUW9u/PlenYEBg== <del> xterm-addon-webgl@0.15.0-beta.8: version "0.15.0-beta.8" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.15.0-beta.8.tgz#2005198582f6f1f4a9b2612b9354c0bcc9f148d8" integrity sha512-HjTr9bi3FvdOIPaaIpih6qdHX2z+H7sQPluLj5KzwCqRiEVUVRi19dl8SdHjf6dCmN3GahMhjV7D+zxHi2pLTw== </del> <ins> xterm-addon-webgl@0.15.0-beta.10: version "0.15.0-beta.10" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.15.0-beta.10.tgz#39ebbfb1b89c6773a2d8cb8e1d2f3ef1f08b28f9" integrity sha512-JVv4t5q6QGWyLiEAcAk9H2B83hFlIalzEwWu1VVYso0MJyZAlZ0NP5Za03iSKxYi7RQIA5bOe8r7W24esQDjLg== </ins> <del> xterm-headless@5.2.0-beta.35: version "5.2.0-beta.35" resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-5.2.0-beta.35.tgz#8c3d4d06747e27a5bc4f0bf914479820a5b8f529" integrity sha512-tq/zKnXEsVXGlhXHGNqPO47x9Fvew2avZ0wfMI1G80AEYrjxGY/3Quxwe9/C5ngIuPwk2CMbgDZwHhSFvyOrMA== </del> <ins> xterm-headless@5.2.0-beta.40: version "5.2.0-beta.40" resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-5.2.0-beta.40.tgz#6edba318d23ed350c8ec6279e6f61f40bde9b163" integrity sha512-6CHgR64POfa24CTILcq/HHg1im1u1HjJZSHWjlopP18KiS8Rq8dzCurZDsu38atxDK9dyjV8SRw2AB4ijcxZsQ== </ins> <del> xterm@5.2.0-beta.35: version "5.2.0-beta.35" resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.2.0-beta.35.tgz#4a0c0aa81c89c42167c22d023648cced44fa3c25" integrity sha512-6x6i61lucRrLWRKFeMO/ZOx5anvYR6FHpReLO2g0y1bp5zYWyZFzM6DepMV50729gubzxSLB8mvbmb9EpeIugQ== </del> <ins> xterm@5.2.0-beta.40: version "5.2.0-beta.40" resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.2.0-beta.40.tgz#c73d5576425dcd4fa6b48ce58b4224a7b5b9dbdf" integrity sha512-7/Db3KPceM0VX4/YAKL+/ArvEHlGBwE3kt1oN9QP5TLaJ6r2ThMS7z7QwG8g2gy60GFnvjfvpcTv6Ewyste4zg== </ins> y18n@^3.2.1: version "3.2.2"

Does this issue occur when all extensions are disabled?: Yes VS Code Version: OS Version: Steps to Reproduce: a terminal window within vscode and run this command: vscode hangs indefinitely, using 100% CPU on one core. It would be nice if that didn't happen.
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.78.0. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
I'm using web version (Vscode Server) and this code snippet cause the entirely browser tab to crash: ! Wanted to provide profiling info but profiler hanged too
I can reproduce
Nice find
Upstream:


Question: import { FontMeasurements } from 'vs/editor/browser/config/fontMeasurements'; import { IEditorOptions } from 'vs/editor/common/config/editorOptions'; import { BareFontInfo } from 'vs/editor/common/config/fontInfo'; <del> import { IConfigurationChangeEvent, IConfigurationService } from 'vs/platform/configuration/common/configuration'; </del> <ins> import { ConfigurationTarget, IConfigurationChangeEvent, IConfigurationService } from 'vs/platform/configuration/common/configuration'; </ins> import { InteractiveWindowCollapseCodeCells, NotebookCellDefaultCollapseConfig, NotebookCellInternalMetadata, NotebookSetting, ShowCellStatusBarType } from 'vs/workbench/contrib/notebook/common/notebookCommon'; import { INotebookExecutionStateService } from 'vs/workbench/contrib/notebook/common/notebookExecutionStateService';

Testing There are "" "notebook.outputLineHeight" "" "notebook.outputFontFamily" "notebook.outputFontSize" Ideally these would be all namespaced or prefixed .
This affects how they show up in the settings editor UI, btw: <img width="919" alt="image" src="https://user-"


Question: "hasInstallScript": true }, "node_modules/@xterm/addon-clipboard": { <del> "version": "0.2.0-beta.39", "resolved": "https://registry.npmjs.org/@xterm/addon-clipboard/-/addon-clipboard-0.2.0-beta.39.tgz", "integrity": "sha512-PeJZP69FHg2p1NJKLGyqUITahvEexqwYoQAgYheu4d9UBhIdP6D/KWGT8DVAEPeeulXhcr2UXgYWMVQAooTvrw==", </del> <ins> "version": "0.2.0-beta.47", "resolved": "https://registry.npmjs.org/@xterm/addon-clipboard/-/addon-clipboard-0.2.0-beta.47.tgz", "integrity": "sha512-mJHV1770gwVckj4mgjdxegt4zLL5WGCoJblTqaLbgEF7xOwsJUzvGk38qsZ4ZpdTa2ti76H0pkb1CpZGrXL9qg==", </ins> "dependencies": { "js-base64": "^3.7.5" }, "peerDependencies": { <del> "@xterm/xterm": "^5.6.0-beta.56" </del> <ins> "@xterm/xterm": "^5.6.0-beta.64" </ins> } }, "node_modules/@xterm/addon-image": { <del> "version": "0.9.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/addon-image/-/addon-image-0.9.0-beta.56.tgz", "integrity": "sha512-kwE4ZDlPxXsBk4mnQoqMvSwu9aKQclniIybs90t0L2qGPLcI8/7Akm1i9aXbu8eZF2hoLEPfLC3CZPda+4ioOA==", </del> <ins> "version": "0.9.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/addon-image/-/addon-image-0.9.0-beta.64.tgz", "integrity": "sha512-1Aqqytx/z/Khecf5xrO++f/p5EQX4uG87TbbAmE0OQys/JgKMnNggDzqon5bpHboimLfQiFPw716NbTqMphjfw==", </ins> "peerDependencies": { <del> "@xterm/xterm": "^5.6.0-beta.56" </del> <ins> "@xterm/xterm": "^5.6.0-beta.64" </ins> } }, "node_modules/@xterm/addon-search": { <del> "version": "0.16.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/addon-search/-/addon-search-0.16.0-beta.56.tgz", "integrity": "sha512-f8aoldPGssse1UR2N3f94fRUc7K3eulb+F80MFhim4rP+shX3QO9QdEZtwr+JaPEujjnuBM5tQKQDuRQtbwuMQ==", </del> <ins> "version": "0.16.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/addon-search/-/addon-search-0.16.0-beta.64.tgz", "integrity": "sha512-vUsvTkEOFJwv8nVtiiGr/vTMeQhu62VkUejY2h1+yZagnVEusGVPU1JYoqBTLu5HM4cFiTGsJYXFI/0apASXYA==", </ins> "peerDependencies": { <del> "@xterm/xterm": "^5.6.0-beta.56" </del> <ins> "@xterm/xterm": "^5.6.0-beta.64" </ins> } }, "node_modules/@xterm/addon-serialize": { <del> "version": "0.14.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/addon-serialize/-/addon-serialize-0.14.0-beta.56.tgz", "integrity": "sha512-VGAYJXFfXuY1Ze8CliT28DoYI74s8fdTI9919C0sgWwtzfAa7W43jJ56g0oKVEM0wO20wfdESapwpQ7enMzrHQ==", </del> <ins> "version": "0.14.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/addon-serialize/-/addon-serialize-0.14.0-beta.64.tgz", "integrity": "sha512-0AqVveTV3Pr9Lp+beJYOP5WuRvIrPSDGAK24da7BRGcLIKVq8pok1FdlM9jPeUbkX0DKo6Ortm77qeb2Z+n8+A==", </ins> "peerDependencies": { <del> "@xterm/xterm": "^5.6.0-beta.56" </del> <ins> "@xterm/xterm": "^5.6.0-beta.64" </ins> } }, "node_modules/@xterm/addon-unicode11": { <del> "version": "0.9.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/addon-unicode11/-/addon-unicode11-0.9.0-beta.56.tgz", "integrity": "sha512-oWa8xLWMDKgJboqOT57PaNAWYz+2INW5aUc24E0Nzv+gKXVy+8lRoqy50m3DhsOb1YtDaPVloqvambKBaXSing==", </del> <ins> "version": "0.9.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/addon-unicode11/-/addon-unicode11-0.9.0-beta.64.tgz", "integrity": "sha512-3+PKu+DXFq32xlsYfnI058/T8dTY2tQhRpJLP2CNR/jVWk5uBkVO0dBV0Srqj5QOAlAhzzZuS6TbsVRXORptqw==", </ins> "peerDependencies": { <del> "@xterm/xterm": "^5.6.0-beta.56" </del> <ins> "@xterm/xterm": "^5.6.0-beta.64" </ins> } }, "node_modules/@xterm/addon-webgl": { <del> "version": "0.19.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/addon-webgl/-/addon-webgl-0.19.0-beta.56.tgz", "integrity": "sha512-aYNRENPJBb1uoV7QifEwCnbjCXmQD5yQmuxNJab3bOZ68aCSGC/EKc4/4Ov0klkXi8ceF4ZnbNiqAX3jw5L1jg==", </del> <ins> "version": "0.19.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/addon-webgl/-/addon-webgl-0.19.0-beta.64.tgz", "integrity": "sha512-cxTkMPAXPQAZnWqahNu7ff9mbJvM1sQqKnZWiFZAHTsZXym4oa3KCB4pjH4didSyYkhkPY/17E8I0UOUpvv0Yw==", </ins> "peerDependencies": { <del> "@xterm/xterm": "^5.6.0-beta.56" </del> <ins> "@xterm/xterm": "^5.6.0-beta.64" </ins> } }, "node_modules/@xterm/headless": { <del> "version": "5.6.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/headless/-/headless-5.6.0-beta.56.tgz", "integrity": "sha512-aQOCzFDn/yqdATwf+ho1q5Hu2MzQwnXHgcsVx/qwUit/URKgbp1QyOQom88nzprP6D/59tiSeX+tqUS1HPqwMw==" </del> <ins> "version": "5.6.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/headless/-/headless-5.6.0-beta.64.tgz", "integrity": "sha512-my08kgH2K3CBEtBg/o8lamtD6BYNBv03Akq747Lajv0QzOiwan7B4r2xdbA6i9sovB+MdjFs0XP1ksc3EpKakg==" </ins> }, "node_modules/@xterm/xterm": { <del> "version": "5.6.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-5.6.0-beta.56.tgz", "integrity": "sha512-gtLrCQNkF1LikB21Bj9JYiBrrXMMvPEZkOIiA7MlXoSd7T7v+GYPumrODB2SBuhPdZ8N66z2rbUOfSRzxGwMtA==" </del> <ins> "version": "5.6.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-5.6.0-beta.64.tgz", "integrity": "sha512-iSKS6tQTFpoN5y487eptlxkUT0jqK5hrvtFQMLugMcQdn7gCUCiFGa4Z1RdqKYSGvAypka+b9gMKPrKWZ7Q3yQ==" </ins> }, "node_modules/agent-base": { "version": "7.1.1",

<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes. After updating to VS Code 1.92, I noticed several scroll-related issues with the integrated terminal: exiting a full screen CLI app ( or ), sometimes scroll up or down doesn't work anymore until I press cmd+c - at which point I am teleported back to the start of the cli log. See the below video: start scroll works (though way too sensitive - see issue 2) press scroll up down no longer works press as soon as I try to scroll again, I am teleported to the top of the cli log output (though, at least scroll works after that)Note, while the above triggers the issue, sometimes the issue also occurs even without that (at one point I just run and this bug was triggered) full-screen CLI apps (, , ), the scroll sensitivity is way higher than when scrolling in non-full-screen apps. This scroll sensitivity is uncomfortably high, way higher than it was before, and remains high even if I set to a very low value like 0.1. scrolling through full-screen CLI app ( or ), sometimes the terminal will not let me scroll up. If I try to scroll up, I am "teleported" back to previous position. As soon as I scroll down, I can't scroll back up to the previous text. <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --Relevant information: VS Code Version: 1.92 OS Version: macOS 14.5 Issues are reproducible in ZSH.


Question: "hasInstallScript": true }, "node_modules/@xterm/addon-clipboard": { <del> "version": "0.2.0-beta.39", "resolved": "https://registry.npmjs.org/@xterm/addon-clipboard/-/addon-clipboard-0.2.0-beta.39.tgz", "integrity": "sha512-PeJZP69FHg2p1NJKLGyqUITahvEexqwYoQAgYheu4d9UBhIdP6D/KWGT8DVAEPeeulXhcr2UXgYWMVQAooTvrw==", </del> <ins> "version": "0.2.0-beta.47", "resolved": "https://registry.npmjs.org/@xterm/addon-clipboard/-/addon-clipboard-0.2.0-beta.47.tgz", "integrity": "sha512-mJHV1770gwVckj4mgjdxegt4zLL5WGCoJblTqaLbgEF7xOwsJUzvGk38qsZ4ZpdTa2ti76H0pkb1CpZGrXL9qg==", </ins> "dependencies": { "js-base64": "^3.7.5" }, "peerDependencies": { <del> "@xterm/xterm": "^5.6.0-beta.56" </del> <ins> "@xterm/xterm": "^5.6.0-beta.64" </ins> } }, "node_modules/@xterm/addon-image": { <del> "version": "0.9.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/addon-image/-/addon-image-0.9.0-beta.56.tgz", "integrity": "sha512-kwE4ZDlPxXsBk4mnQoqMvSwu9aKQclniIybs90t0L2qGPLcI8/7Akm1i9aXbu8eZF2hoLEPfLC3CZPda+4ioOA==", </del> <ins> "version": "0.9.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/addon-image/-/addon-image-0.9.0-beta.64.tgz", "integrity": "sha512-1Aqqytx/z/Khecf5xrO++f/p5EQX4uG87TbbAmE0OQys/JgKMnNggDzqon5bpHboimLfQiFPw716NbTqMphjfw==", </ins> "peerDependencies": { <del> "@xterm/xterm": "^5.6.0-beta.56" </del> <ins> "@xterm/xterm": "^5.6.0-beta.64" </ins> } }, "node_modules/@xterm/addon-search": { <del> "version": "0.16.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/addon-search/-/addon-search-0.16.0-beta.56.tgz", "integrity": "sha512-f8aoldPGssse1UR2N3f94fRUc7K3eulb+F80MFhim4rP+shX3QO9QdEZtwr+JaPEujjnuBM5tQKQDuRQtbwuMQ==", </del> <ins> "version": "0.16.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/addon-search/-/addon-search-0.16.0-beta.64.tgz", "integrity": "sha512-vUsvTkEOFJwv8nVtiiGr/vTMeQhu62VkUejY2h1+yZagnVEusGVPU1JYoqBTLu5HM4cFiTGsJYXFI/0apASXYA==", </ins> "peerDependencies": { <del> "@xterm/xterm": "^5.6.0-beta.56" </del> <ins> "@xterm/xterm": "^5.6.0-beta.64" </ins> } }, "node_modules/@xterm/addon-serialize": { <del> "version": "0.14.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/addon-serialize/-/addon-serialize-0.14.0-beta.56.tgz", "integrity": "sha512-VGAYJXFfXuY1Ze8CliT28DoYI74s8fdTI9919C0sgWwtzfAa7W43jJ56g0oKVEM0wO20wfdESapwpQ7enMzrHQ==", </del> <ins> "version": "0.14.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/addon-serialize/-/addon-serialize-0.14.0-beta.64.tgz", "integrity": "sha512-0AqVveTV3Pr9Lp+beJYOP5WuRvIrPSDGAK24da7BRGcLIKVq8pok1FdlM9jPeUbkX0DKo6Ortm77qeb2Z+n8+A==", </ins> "peerDependencies": { <del> "@xterm/xterm": "^5.6.0-beta.56" </del> <ins> "@xterm/xterm": "^5.6.0-beta.64" </ins> } }, "node_modules/@xterm/addon-unicode11": { <del> "version": "0.9.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/addon-unicode11/-/addon-unicode11-0.9.0-beta.56.tgz", "integrity": "sha512-oWa8xLWMDKgJboqOT57PaNAWYz+2INW5aUc24E0Nzv+gKXVy+8lRoqy50m3DhsOb1YtDaPVloqvambKBaXSing==", </del> <ins> "version": "0.9.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/addon-unicode11/-/addon-unicode11-0.9.0-beta.64.tgz", "integrity": "sha512-3+PKu+DXFq32xlsYfnI058/T8dTY2tQhRpJLP2CNR/jVWk5uBkVO0dBV0Srqj5QOAlAhzzZuS6TbsVRXORptqw==", </ins> "peerDependencies": { <del> "@xterm/xterm": "^5.6.0-beta.56" </del> <ins> "@xterm/xterm": "^5.6.0-beta.64" </ins> } }, "node_modules/@xterm/addon-webgl": { <del> "version": "0.19.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/addon-webgl/-/addon-webgl-0.19.0-beta.56.tgz", "integrity": "sha512-aYNRENPJBb1uoV7QifEwCnbjCXmQD5yQmuxNJab3bOZ68aCSGC/EKc4/4Ov0klkXi8ceF4ZnbNiqAX3jw5L1jg==", </del> <ins> "version": "0.19.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/addon-webgl/-/addon-webgl-0.19.0-beta.64.tgz", "integrity": "sha512-cxTkMPAXPQAZnWqahNu7ff9mbJvM1sQqKnZWiFZAHTsZXym4oa3KCB4pjH4didSyYkhkPY/17E8I0UOUpvv0Yw==", </ins> "peerDependencies": { <del> "@xterm/xterm": "^5.6.0-beta.56" </del> <ins> "@xterm/xterm": "^5.6.0-beta.64" </ins> } }, "node_modules/@xterm/headless": { <del> "version": "5.6.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/headless/-/headless-5.6.0-beta.56.tgz", "integrity": "sha512-aQOCzFDn/yqdATwf+ho1q5Hu2MzQwnXHgcsVx/qwUit/URKgbp1QyOQom88nzprP6D/59tiSeX+tqUS1HPqwMw==" </del> <ins> "version": "5.6.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/headless/-/headless-5.6.0-beta.64.tgz", "integrity": "sha512-my08kgH2K3CBEtBg/o8lamtD6BYNBv03Akq747Lajv0QzOiwan7B4r2xdbA6i9sovB+MdjFs0XP1ksc3EpKakg==" </ins> }, "node_modules/@xterm/xterm": { <del> "version": "5.6.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-5.6.0-beta.56.tgz", "integrity": "sha512-gtLrCQNkF1LikB21Bj9JYiBrrXMMvPEZkOIiA7MlXoSd7T7v+GYPumrODB2SBuhPdZ8N66z2rbUOfSRzxGwMtA==" </del> <ins> "version": "5.6.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-5.6.0-beta.64.tgz", "integrity": "sha512-iSKS6tQTFpoN5y487eptlxkUT0jqK5hrvtFQMLugMcQdn7gCUCiFGa4Z1RdqKYSGvAypka+b9gMKPrKWZ7Q3yQ==" </ins> }, "node_modules/agent-base": { "version": "7.1.1",

I was also able to trigger issue 1 in BASH In ZSH, I am using oh-my-zsh and powerlevel19k, BUT I was able to reproduce the issues even after I temporary disabled oh-my-zsh and powerlevel19k in my Issues are reproducible even if I start VS Code with empty user dir and empty extensions dir. A few relevant settings: is off. Enabling it does not make things better N/A as I am not holding the key - I am just scrolling using the touchpad is off. Enabling it did not make things better I am sorry if some of the above reproduction steps a bit vague - some of these don't happen each time so it's hard to see what triggered it. But these all started happening as soon as VS Code got updated to 1.92. I will keep updating this issue if I have more details. <details<summarySystem info</summaryGeneral: System info: System Information | -- | -- CPUs | Apple M1 Pro (10 x 2400) GPU Status | 2dcanvas: enabled canvasooprasterization: enabledon directrenderingdisplaycompositor: disabledoffok gpucompositing: enabled multiplerasterthreads: enabledon opengl: enabledon rasterization: enabled rawdraw: disabledoffok skiagraphite: disabledoff videodecode: enabled videoencode: enabled webgl: enabled webgl2: enabled webgpu: enabled webnn: disabled_off Load (avg) | 2, 2, 3 Memory (System) | 32.00GB (6.06GB free) Process Argv | /Users/mak13180/site/esri/arcgis-web-components --crash-reporter-id -0746-4857-a17b- Screen Reader | no VM | 0% Enabled extensions (BUT, issues are reproducible with all extensions disabled): Extension Version -- -- vite 0.2.5 shell-syntax 1.0.5 vscode-tailwindcss 0.12.5 vscode-eslint 3.0.10 apc-extension 0.4.1 gitlens 15.2.3 vscode-html-css 2.0.10 prettier-vscode 10.4.0 lintlens 7.5.0 copilot 1.219.0 copilot-chat 0.18.1 vscode-github-actions 0.26.


Question: "hasInstallScript": true }, "node_modules/@xterm/addon-clipboard": { <del> "version": "0.2.0-beta.39", "resolved": "https://registry.npmjs.org/@xterm/addon-clipboard/-/addon-clipboard-0.2.0-beta.39.tgz", "integrity": "sha512-PeJZP69FHg2p1NJKLGyqUITahvEexqwYoQAgYheu4d9UBhIdP6D/KWGT8DVAEPeeulXhcr2UXgYWMVQAooTvrw==", </del> <ins> "version": "0.2.0-beta.47", "resolved": "https://registry.npmjs.org/@xterm/addon-clipboard/-/addon-clipboard-0.2.0-beta.47.tgz", "integrity": "sha512-mJHV1770gwVckj4mgjdxegt4zLL5WGCoJblTqaLbgEF7xOwsJUzvGk38qsZ4ZpdTa2ti76H0pkb1CpZGrXL9qg==", </ins> "dependencies": { "js-base64": "^3.7.5" }, "peerDependencies": { <del> "@xterm/xterm": "^5.6.0-beta.56" </del> <ins> "@xterm/xterm": "^5.6.0-beta.64" </ins> } }, "node_modules/@xterm/addon-image": { <del> "version": "0.9.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/addon-image/-/addon-image-0.9.0-beta.56.tgz", "integrity": "sha512-kwE4ZDlPxXsBk4mnQoqMvSwu9aKQclniIybs90t0L2qGPLcI8/7Akm1i9aXbu8eZF2hoLEPfLC3CZPda+4ioOA==", </del> <ins> "version": "0.9.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/addon-image/-/addon-image-0.9.0-beta.64.tgz", "integrity": "sha512-1Aqqytx/z/Khecf5xrO++f/p5EQX4uG87TbbAmE0OQys/JgKMnNggDzqon5bpHboimLfQiFPw716NbTqMphjfw==", </ins> "peerDependencies": { <del> "@xterm/xterm": "^5.6.0-beta.56" </del> <ins> "@xterm/xterm": "^5.6.0-beta.64" </ins> } }, "node_modules/@xterm/addon-search": { <del> "version": "0.16.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/addon-search/-/addon-search-0.16.0-beta.56.tgz", "integrity": "sha512-f8aoldPGssse1UR2N3f94fRUc7K3eulb+F80MFhim4rP+shX3QO9QdEZtwr+JaPEujjnuBM5tQKQDuRQtbwuMQ==", </del> <ins> "version": "0.16.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/addon-search/-/addon-search-0.16.0-beta.64.tgz", "integrity": "sha512-vUsvTkEOFJwv8nVtiiGr/vTMeQhu62VkUejY2h1+yZagnVEusGVPU1JYoqBTLu5HM4cFiTGsJYXFI/0apASXYA==", </ins> "peerDependencies": { <del> "@xterm/xterm": "^5.6.0-beta.56" </del> <ins> "@xterm/xterm": "^5.6.0-beta.64" </ins> } }, "node_modules/@xterm/addon-serialize": { <del> "version": "0.14.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/addon-serialize/-/addon-serialize-0.14.0-beta.56.tgz", "integrity": "sha512-VGAYJXFfXuY1Ze8CliT28DoYI74s8fdTI9919C0sgWwtzfAa7W43jJ56g0oKVEM0wO20wfdESapwpQ7enMzrHQ==", </del> <ins> "version": "0.14.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/addon-serialize/-/addon-serialize-0.14.0-beta.64.tgz", "integrity": "sha512-0AqVveTV3Pr9Lp+beJYOP5WuRvIrPSDGAK24da7BRGcLIKVq8pok1FdlM9jPeUbkX0DKo6Ortm77qeb2Z+n8+A==", </ins> "peerDependencies": { <del> "@xterm/xterm": "^5.6.0-beta.56" </del> <ins> "@xterm/xterm": "^5.6.0-beta.64" </ins> } }, "node_modules/@xterm/addon-unicode11": { <del> "version": "0.9.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/addon-unicode11/-/addon-unicode11-0.9.0-beta.56.tgz", "integrity": "sha512-oWa8xLWMDKgJboqOT57PaNAWYz+2INW5aUc24E0Nzv+gKXVy+8lRoqy50m3DhsOb1YtDaPVloqvambKBaXSing==", </del> <ins> "version": "0.9.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/addon-unicode11/-/addon-unicode11-0.9.0-beta.64.tgz", "integrity": "sha512-3+PKu+DXFq32xlsYfnI058/T8dTY2tQhRpJLP2CNR/jVWk5uBkVO0dBV0Srqj5QOAlAhzzZuS6TbsVRXORptqw==", </ins> "peerDependencies": { <del> "@xterm/xterm": "^5.6.0-beta.56" </del> <ins> "@xterm/xterm": "^5.6.0-beta.64" </ins> } }, "node_modules/@xterm/addon-webgl": { <del> "version": "0.19.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/addon-webgl/-/addon-webgl-0.19.0-beta.56.tgz", "integrity": "sha512-aYNRENPJBb1uoV7QifEwCnbjCXmQD5yQmuxNJab3bOZ68aCSGC/EKc4/4Ov0klkXi8ceF4ZnbNiqAX3jw5L1jg==", </del> <ins> "version": "0.19.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/addon-webgl/-/addon-webgl-0.19.0-beta.64.tgz", "integrity": "sha512-cxTkMPAXPQAZnWqahNu7ff9mbJvM1sQqKnZWiFZAHTsZXym4oa3KCB4pjH4didSyYkhkPY/17E8I0UOUpvv0Yw==", </ins> "peerDependencies": { <del> "@xterm/xterm": "^5.6.0-beta.56" </del> <ins> "@xterm/xterm": "^5.6.0-beta.64" </ins> } }, "node_modules/@xterm/headless": { <del> "version": "5.6.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/headless/-/headless-5.6.0-beta.56.tgz", "integrity": "sha512-aQOCzFDn/yqdATwf+ho1q5Hu2MzQwnXHgcsVx/qwUit/URKgbp1QyOQom88nzprP6D/59tiSeX+tqUS1HPqwMw==" </del> <ins> "version": "5.6.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/headless/-/headless-5.6.0-beta.64.tgz", "integrity": "sha512-my08kgH2K3CBEtBg/o8lamtD6BYNBv03Akq747Lajv0QzOiwan7B4r2xdbA6i9sovB+MdjFs0XP1ksc3EpKakg==" </ins> }, "node_modules/@xterm/xterm": { <del> "version": "5.6.0-beta.56", "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-5.6.0-beta.56.tgz", "integrity": "sha512-gtLrCQNkF1LikB21Bj9JYiBrrXMMvPEZkOIiA7MlXoSd7T7v+GYPumrODB2SBuhPdZ8N66z2rbUOfSRzxGwMtA==" </del> <ins> "version": "5.6.0-beta.64", "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-5.6.0-beta.64.tgz", "integrity": "sha512-iSKS6tQTFpoN5y487eptlxkUT0jqK5hrvtFQMLugMcQdn7gCUCiFGa4Z1RdqKYSGvAypka+b9gMKPrKWZ7Q3yQ==" </ins> }, "node_modules/agent-base": { "version": "7.1.1",

3 vscode-pull-request-github 0.92.0 gc-excelviewer 4.2.59 todo-tree 0.0.226 search-node-modules 1.3.0 nodejs-repl 0.5.15 rainbow-csv 3.12.0 remote-ssh 0.112.0 remote-ssh-edit 0.86.0 remote-explorer 0.4.3 vscode-css-peek 4.4.1 vscode-yaml 1.15.0 code-spell-checker 3.0.1 vscode-stylelint 1.4.0 vscode-mdx 1.8.9 vscodeintellicode 1.3.1 explorer 1.0.6 vim 1.27.3 pretty-ts-errors 0.6.0 markdown-all-in-one 3.6.2 A/B experiment info: My (BUT, issues are also reproducible when VS Code is started with empty user dir): The log when VS Code is started as : </details
Upstream PR fixing it