jiebi/CodeConvo huggingface dataset:
Change:
} content.push(this._descriptionForCommand(TerminalCommandId.OpenDetectedLink, localize('openDetectedLink', 'The Open Detected Link ({0}) command enables screen readers to easily open links found in the terminal.'), localize('openDetectedLinkNoKb', 'The Open Detected Link command enables screen readers to easily open links found in the terminal and is currently not triggerable by a keybinding.'))); content.push(this._descriptionForCommand(TerminalCommandId.NewWithProfile, localize('newWithProfile', 'The Create New Terminal (With Profile) ({0}) command allows for easy terminal creation using a specific profile.'), localize('newWithProfileNoKb', 'The Create New Terminal (With Profile) command allows for easy terminal creation using a specific profile and is currently not triggerable by a keybinding.'))); <ins> content.push(localize('focusAfterRun', 'Configure what gets focused after running selected text in the terminal with `{0}`.', TerminalSettingId.FocusAfterRun)); </ins> content.push(localize('accessibilitySettings', 'Access accessibility settings such as `terminal.integrated.tabFocusMode` via the Preferences: Open Accessibility Settings command.')); return content.join('nn'); }

Discussion:
Changing this behavior could be jarring, so instead, we will set it to by default and include a hint about this in the terminal accessibility help dialog.
To verify, enable screen reader mode, run the command . The terminal shouldn't be focused and the accessible buffer shouldn't be opened. Change the setting and repeat and verify that it works per the setting descriptions.
So that is u - who spoiled the terminal focus in user-input scenarios. Would be awesome if auto-focus worked only on pending user input to the terminal, so everybody would be happy. But I have no clue if such a functionality is even possible.
not sure what you mean, but you can set it to to have the terminal focused automatically !
Yes, thank you, I know. I mean next cases at the same time: only prints to the console - no focus to the waits for user input - terminal receives auto-focus
Change:
}); } <del> public activateDebuggers(): TPromise<void> { return this.extensionService.activateByEvent('onDebugInitialConfigurations').then(() => this.extensionService.activateByEvent('onDebug')); </del> <ins> private activateDebuggers(activationEvent: string): TPromise<void> { return this.extensionService.activateByEvent(activationEvent).then(() => this.extensionService.activateByEvent('onDebug')); </ins> } private store(): void {

Discussion:
Problem: install Java debugger open a folder with no switch to debug view and press gear button Observe: it looks like nothing is happening but in reality Java is initialising and starting Java language server. After a long time the debug env drop down appears. Analysis: Building the debug env drop down seems to activate all debug extensions. Solution: We should try to build the debug env drop down list only from declarative information found in the No debugger extensions should be activated for this. /cc
I acknowledge the bug, however due to how the code is structured on my side this would require a refactoring in the method which I am not so keen on doing because we have better fine grained events as a workaround. Thus pushing this to the backlog
Fixed in latest via
My mistake, acutally this is not fixed via that commit
How's going on for this bug? One more customer reported that they still see Java language server running on the bottom when developing a python file. It is strange. Thank you.
I have cleaned up the activation events and this is now fixed via However since this change is a bit delicate I would prefer to have the whole milestone to self host on it in insiders before we release it in stable. Due to that I will merge the PR in 4 days, so it is included in the next week insider, however it will be only in the october stable release (in a month).
Using our process explorer, I still see the java debugger extension being activated in this case. There is also a slight delay when clicking on the gear
After looking deeper into this, it is fine since the java debugger is activating onDebugInitialConfigurations since it is providing the initial configurations dynamically. Thus we have to activate it since we do not know which debugger the user will chose. Closing as designed. To verify: debug a node program, and verify that the java extension does not get activated
Change:
} // Show for remote windows on the desktop, but not when in code server web <del> if (this.remoteAuthority && (!isWeb || this.environmentService.options?.webSocketFactory)) { </del> <ins> if (this.remoteAuthority) { </ins> const hostLabel = this.labelService.getHostLabel(Schemas.vscodeRemote, this.remoteAuthority) || this.remoteAuthority; switch (this.connectionState) { case 'initializing':

Discussion:
Now that the web uses resolvers too, I think we want to remove the special handling for the remote indicator label. When a remoteAuthority is set, use the label formatter for the host name. As always, web embedders can control the remote indicator by defining the property in the embedder API. If they don't set it, they get the host label defined by our resource label providers. I checked that this does not impact Codespaces (uses windowIndicator) and (serverless, no remoteAuthority)
Change:
applyStatusBarStyle(); applyIconStyle(); } <ins> if (this._completionModel && (e.hasChanged(EditorOption.fontInfo) || e.hasChanged(EditorOption.suggestFontSize) || e.hasChanged(EditorOption.suggestLineHeight))) { this._list.splice(0, this._list.length, this._completionModel.items); } </ins> })); this._ctxSuggestWidgetVisible = SuggestContext.Visible.bindTo(_contextKeyService);

Discussion:
or VS Code Desktop something to make the autocompletion menu appear. the dash key (-) multiple times to zoom in a lot. Only the text in the menu gets larger while the html elements stay the same size. ! The html should resize with the text appropriately. Zooming in first and then revealing the menu produces the correct sizes on everything. It's possible that "" is the incorrect command to call in this case. Perhaps a list of commands could be provided?
To verify bind a keybinding to Editor Zoom In/out trigger suggest while it shows, use the editor zoom keybindings
Change:
import { IHoverService } from 'vs/workbench/services/hover/browser/hover'; import { IHoverDelegate, IHoverDelegateOptions } from 'vs/base/browser/ui/iconLabel/iconHoverDelegate'; import { IUriIdentityService } from 'vs/platform/uriIdentity/common/uriIdentity'; <ins> import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions'; </ins> const ItemHeight = 22;

Discussion:
Testing Why is not there a contribution point for timeline provider? Following are the advantages I am not sure how I have to activate my extension if I only contribute timeline provider. Having a timeline contribution point can allow me to activate my extension when user starts using the timeline my extension contributesAlso helps in displaying the feature contributions in extension editor view
and I talked about supporting this originally but felt that it was something that could be later.
Hm, not sure... Somehow timeline feels like master-detail, e.g you open an editor and the timeline shows its contents. With that usage-pattern it feels wrong to have an activation event. Then there is the 'Open timeline' command which is different... You could that command as activation event and all is good
On what event shall an extension contributing a timeline should be activated?
For instance these and
should we support an activation? Rather than a really specific point just for the timeline?
Yeah, that would make sense
To verify ensure that your extension that contributes a timeline can activate properly when the timeline is revealed via the activation
Change:
renderTemplate(container: HTMLElement): IThreadTemplateData { const thread = dom.append(container, $('.thread')); const name = dom.append(thread, $('.name')); <del> const state = dom.append(thread, $('.state')); const stateLabel = dom.append(state, $('span.label')); </del> <ins> const stateLabel = dom.append(thread, $('span.state.label')); </ins> const label = new HighlightedLabel(name, false); const actionBar = new ActionBar(thread); <del> return { thread, name, state, stateLabel, label, actionBar }; </del> <ins> return { thread, name, stateLabel, label, actionBar }; </ins> } renderElement(element: ITreeNode<IThread, FuzzyScore>, index: number, data: IThreadTemplateData): void {

Discussion:
Testing Badge should use text ellipsis when there is not enough room to display the full message: !
Good catch. Yes, we should improve this.
Not for endgame since we always behaved like this. Moving out of milestone and opening up for PRs. Code pointer
Change:
override reveal(): void { const initialInput = this._instance.hasSelection() && !this._instance.selection!.includes('n') ? this._instance.selection : undefined; <ins> const inputValue = initialInput ?? this.inputValue; </ins> const xterm = this._instance.xterm; <del> if (xterm && this.inputValue && this.inputValue !== '') { </del> <ins> if (xterm && inputValue && inputValue !== '') { </ins> // trigger highlight all matches <del> this._findPreviousWithEvent(xterm, this.inputValue, { incremental: true, regex: this._getRegexValue(), wholeWord: this._getWholeWordValue(), caseSensitive: this._getCaseSensitiveValue() }).then(foundMatch => { </del> <ins> this._findPreviousWithEvent(xterm, inputValue, { incremental: true, regex: this._getRegexValue(), wholeWord: this._getWholeWordValue(), caseSensitive: this._getCaseSensitiveValue() }).then(foundMatch => { </ins> this.updateButtons(foundMatch); this._register(Event.once(xterm.onDidChangeSelection)(() => xterm.clearActiveSearchDecoration())); }); } this.updateButtons(false); <del> super.reveal(initialInput); </del> <ins> super.reveal(inputValue); </ins> this._findWidgetVisible.set(true); }

Discussion:
Type: <bBug</bSteps: VS Code text in the terminal. Ctrl+F to search. You won't see results. a different word and Ctrl+F. You will see matches for the previous word searched. steps 2-4. Same issue. a word in search box. It will work. the word in search and repeat steps 2-4. Issue still persists. VS Code version: Code 1.80.2 (, 2023-07-27T20:40:28.909Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (50)</summaryExtensionVersion ------ pascal9.6.0 pascal-formatter2.8.1 vscode-intelephense-client1.9.5 doxdocgen1.4.0 githistory0.6.20 go0.39.1 minifier0.0.4 better-cpp-syntax1.17.2 tws1.0.1 restructuredtext189.3.0 add-to-gitignore1.0.0 Lisp0.1.12 pretty-formatter0.2.2 vscode-docker1.26.0 csharp1.26.0 vscode-edge-devtools2.1.3 black-formatter2023.4.1 isort2023.10.1 python2023.12.0 vscode-pylance2023.7.40 jupyter2023.6.

jupyter-keymap1.1.2 jupyter-renderers1.0.17 vscode-jupyter-cell-tags0.1.8 vscode-jupyter-slideshow0.1.5 remote-containers0.299.0 remote-ssh0.102.0 remote-ssh-edit0.86.0 remote-wsl0.80.2 cmake-tools1.14.34 cpptools1.16.3 cpptools-extension-pack1.3.0 hexeditor1.9.12 live-server0.4.9 powershell2023.6.0 vscode-serial-monitor0.10.0 debugger-for-edge1.0.15 vscode-groovy-lint2.0.0 java1.21.0 code-spell-checker2.20.5 simple-rst1.5.3 cmake0.0.17 intellicode-api-usage-examples0.2.7 vscodeintellicode1.2.30 vscode-arduino0.6.0 vscode-java-debug0.52.0 vscode-java-dependency0.23.0 vscode-java-pack0.25.12 vscode-java-test0.39.0 vscode-maven0.41.0 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
does this repro in insider's?
Yes.
Change:
return; } <del> // Disable ourselves if there's also a text entry with the same content as our list, </del> <ins> // In some browsers, copying from the address bar sets both text/uri-list and text/plain. // Disable ourselves if there's also a text entry with the same http(s) uri as our list, </ins> // unless we are explicitly requested. <del> if (uriList.entries.length === 1 && !context?.only?.contains(ResourcePasteOrDropProvider.kind)) { </del> <ins> if ( uriList.entries.length === 1 && (uriList.entries[0].uri.scheme === Schemes.http || uriList.entries[0].uri.scheme === Schemes.https) && !context?.only?.contains(ResourcePasteOrDropProvider.kind) ) { </ins> const text = await dataTransfer.get(Mime.textPlain)?.asString(); if (token.isCancellationRequested) { return;

Discussion:
Type: <bBug</ban image file from the VS Code explorer into a md file Bug No markdown image inserted, just the file name VS Code version: Code - Insiders 1.88.0-insider (Universal) (, 2024-03-29T22:24:49.191Z) OS version: Darwin arm64 23.4.0 Modes: <details<summarySystem Info</summary </details<!-- generated by issue reporter --
Closing for verification.
Change:
remote: { host: tunnel.remoteHost, port: tunnel.remotePort }, local: tunnel.localPort, name: tunnel.name, <del> privacy: tunnel.privacy, </del> elevateIfNeeded: true, source: tunnel.source });

Discussion:
I had to clear settings sync for an unrelated issue and start fresh, but enabling the "UI State" option causes the error below to be continually thrown. If I disable the "UI State" option in settings sync, it starts working again. Type: <bBug</bsettings sync, check all boxes except "UI State" settings sync log, see that it succeeds settings sync config to include UI State VS Code version: Code 1.85.1 (Universal) (, 2023-12-13T09:48:06.308Z) OS version: Darwin arm64 23.2.0 Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (12)</summaryExtensionVersion ------ erb0.0.1 vscode-eslint2.4.2 prettier-vscode10.1.0 codespaces1.16.6 copilot1.148.0 copilot-chat0.11.1 vscode-graphql-syntax1.2.3 endwise1.5.1 remote-containers0.327.0 proto0.0.4 rewrap1.16.3 gitblame10.6.0 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Can you please share the UI state using following steps F1 Export Profile... Select only UI state Export the profile and share it
The exported file is 2.3 MB, and it has some things inside that might be considered sensitive, I'm not sure. Is there a way I can share it privately?
You can share it to me by email - 2.3 MB is way under the limits right?
Just emailed the file, thank you!
I just checked the size limits on the server and it is indeed 2MB caps
Thanks for sharing. I figured out that port forwarding state is taking majority of the size. Hence assigning to
Discussed with and there are 3 easy things I can do to quickly reduce the size: Don't save empty values Add an expiry time to values so they don't live forever Save fewer fields per port in . For example, only tunnels should be stored + restored, so should be removed. So should , , , and .
the limit per resource version is 2mb atm
Are there steps to verify this?

To verify: to a Codespace and forward a port the remote connection the steps in to collect a profile the file created in step 3. Check that the port that you just forwarded in step 1 is listed there under a key and that it doesn't have a value.
For the step, does this mean to stop the codespace?
This is verified. The new port forwarded doesn't have , but I did notice some old ports of mine from old codespaces still having . Not sure if that was expected to be covered.
The behavior you see is expected. I didn't add any cleanup of the old state.
Change:
// Run save participants unless save was cancelled meanwhile if (!saveCancellation.token.isCancellationRequested) { <del> await this.workingCopyFileService.runSaveParticipants(this, { reason: options.reason ?? SaveReason.EXPLICIT }, saveCancellation.token); </del> <ins> this.ignoreSaveFromSaveParticipants = true; try { await this.workingCopyFileService.runSaveParticipants(this, { reason: options.reason ?? SaveReason.EXPLICIT }, saveCancellation.token); } finally { this.ignoreSaveFromSaveParticipants = false; } </ins> } } catch (error) { this.logService.error(`[stored file working copy] runSaveParticipants(${versionId}) - resulted in an error: ${error.toString()}`, this.resource.toString(), this.typeId);

Discussion:
This is a follow-up from and describes the problem that save participants causing a save operation
reproduced when undoing some fixes (applying the fix below)
fyi
Change:
const extRecommendations = this.extensionTipsService.getAllRecommendationsWithReason(); if (extRecommendations[extension.id.toLowerCase()]) { <del> data.root.setAttribute('aria-label', extension.displayName + '. ' + extRecommendations[extension.id]); </del> <ins> data.root.setAttribute('aria-label', extension.displayName + '. ' + extRecommendations[extension.id.toLowerCase()].reasonText); </ins> addClass(data.root, 'recommended'); data.root.title = extRecommendations[extension.id.toLowerCase()].reasonText; }

Discussion:
Issue Type: <bBug</bNavigate to any reccomended extension with a screen reader. The reader will read the extension name, followed by "[object Object]", rather than showing that the extension has been reccomended and why. VS Code version: Code 1.24.0 (, 2018-06-06T17:35:40.560Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </detailsExtensions: none <!-- generated by issue reporter --
Change:
import { ContextKeyExpr } from '../../../../../platform/contextkey/common/contextkey.js'; import { KeybindingWeight } from '../../../../../platform/keybinding/common/keybindingsRegistry.js'; import { AbstractInlineChatAction } from '../../../inlineChat/browser/inlineChatActions.js'; <del> import { CTX_INLINE_CHAT_EMPTY, CTX_INLINE_CHAT_FOCUSED } from '../../../inlineChat/common/inlineChat.js'; </del> <ins> import { CTX_INLINE_CHAT_EMPTY } from '../../../inlineChat/common/inlineChat.js'; </ins> import { isDetachedTerminalInstance } from '../../../terminal/browser/terminal.js'; import { registerActiveXtermAction } from '../../../terminal/browser/terminalActions.js'; import { TerminalContextKeys } from '../../../terminal/common/terminalContextKey.js';

Discussion:
Originally posted by in
this is working AFAICT
On Windows, have to use Ctrl+Up to both go to the list and to go back down to the inputbox. after I focus the list, when I press Up again, it goes back in the input history and changes the inputbox, instead of moving up the list. !
Only tested on mac. Strange that they're different. does that reproduce in the panel chat?
No. It only occurs in terminal chat
Change:
assert.deepStrictEqual(testObject.configurationModel.keys, []); }); <ins> test('Test empty property is not ignored', () => { const testObject = new ConfigurationModelParser('test'); testObject.parse(JSON.stringify({ '': 1 })); // deepStrictEqual seems to ignore empty properties, fall back // to comparing the output of JSON.stringify assert.strictEqual(JSON.stringify(testObject.configurationModel.contents), JSON.stringify({ '': 1 })); assert.deepStrictEqual(testObject.configurationModel.keys, ['']); }); </ins> test('Test registering the same property again', () => { Registry.as<IConfigurationRegistry>(Extensions.Configuration).registerConfiguration({ 'id': 'a',

Discussion:
Issue Type: <bBug</bI currently store some arbitrary JSON-serializable object using and updating keys. At the top level, my configuration variable is an array, and each element is a dictionary that contains some keys. One of those keys map to a value like this: This sets fine, and I can look in my workspace's to see all keys and values there as expected. However, when I try to get the value from the workspace configuration again, the empty string key and its value are missing, meaning I unable to retrieve the array with in it. So it seems VSCode filters out keys which are blank strings when reading workspace configurations, although it will set/save them. This is currently blocking a project I'm working on and should be a trivial fix. VS Code version: Code 1.57.1 (, 2021-06-17T13:28:07.755Z) OS version: Windows_NT x64 10.0. Restricted Mode: No <!-- generated by issue reporter --
I am sorry that I do not understand the usage of the API here and what is being done. Can you please provide a sample code snippet to reproduce the issue?
Here's a round trip example of me saving an object to the workspace configuration, and retrieving it. It shows all data is stored appropriately, but data is lost when reading it back if a blank string key exists. The message will be shown. If you comment out/remove the key-value pair in , it will instead say . So VSCode is losing data when obtaining data from the workspace configuration if you store an object which has a blank key somewhere (at any level of depth).
There was a fairly quick initial response here, but since then a good amount of time has elapsed. Has there been any progress updates or planning related to this issue? Can you confirm you now understand the issue given the above proof-of-concept? It should be very clear.
Thanks for the info. It is in my list of issues to investigate, I will try it out and get back to you.
Change:
.monaco-workbench .notebookOverlay .output { position: absolute; height: 0px; <del> font-size: var(--notebook-cell-output-font-size); </del> user-select: text; -webkit-user-select: text; cursor: auto;

Discussion:
I noticed that there are a couple colors here that are available in : ! but the rest of the colors are available in the monaco workbench : ! these probably should be with the others. possible code pointer:
Change:
const contextKeyService = accessor.get(IContextKeyService); const commandService = accessor.get(ICommandService); const quickInputService = accessor.get(IQuickInputService); <ins> const keybindingService = accessor.get(IKeybindingService); </ins> const quickPick = quickInputService.createQuickPick(); this._currentQuickPick = quickPick; <del> quickPick.items = this.getItems(contextKeyService); </del> <ins> quickPick.items = this.getItems(contextKeyService, keybindingService); </ins> quickPick.ignoreFocusOut = true; quickPick.hideInput = true; quickPick.title = localize('customizeLayoutQuickPickTitle', "Customize Layout");

Discussion:
Testing F1 Customize Layout Some of the entries have keybindinding with the same effect, like to show/hide the side bar, for the panel, or for zen mode The corresponding commands should show those keybinding so that I can learn how to achieve my goal faster
This can be easily done: <img width="633" alt="image" src=""PR:
Verification: open the layout picker ("Customize Layout") verify some of the entries show their keybindings
Change:
this._initialCwd = value; this._cwd = this._initialCwd; this._setTitle(this.title, TitleEventSource.Config); <ins> this._icon = this._shellLaunchConfig.attachPersistentProcess?.icon || this._shellLaunchConfig.icon; this._onIconChanged.fire({ instance: this, userInitiated: false }); </ins> break; case ProcessPropertyType.Title: this._setTitle(value ?? '', TitleEventSource.Process);

Discussion:
Type: <bBug</bWhen a terminal is reused by different tasks, the in it's terminal tabs entry is never updated to reflect the current task that is reusing it. One would expect that just as how the label for the terminal's tab entry updates to match the for the latest task, that it's icon would similarly be updated to provide a consistent visual and textual feedback of the terminal's current task status. Steps to Reproduce: Using the example included below: Close all terminals --OR Close all terminals -<details</summary</detailsExpected: the task icon should change from :debug-start: to :debug-stop: ! Observed: the task icon remains the same as whatever it was first initialized to ! <details<summaryDOM HTML Snippet</summary</detailsVS Code version: Code - Insiders 1.78.0-insider (, 2023-04-05T05:27:51.301Z) OS version: Linux x64 5.19.0-38-generic Modes: Sandboxed: Yes <details<summarySystem Info</summary </detailsExtensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Perhaps this function in has something to do with this?
I'll go and try to fix this
Looks like it's now working with the insiders release! VS Code version: Code - Insiders 1.78.0-insider (, 2023-04-20T05:21:04.496Z) OS version: Linux x64 5.19.0-38-generic Modes: Sandboxed: Yes <details<summarySystem Info</summary </detailsExtensions: none<details<summaryA/B Experiments</summary</details