jiebi/CodeConvo huggingface dataset:
Change:
break; case KeyCode.Tab: if (!event.altKey && !event.ctrlKey && !event.metaKey) { <del> const selectors = ['.action-label.codicon']; </del> <ins> // detect only visible actions const selectors = [ '.quick-input-list .monaco-action-bar .always-visible', '.quick-input-list-entry:hover .monaco-action-bar', '.monaco-list-row.focused .monaco-action-bar' ]; </ins> if (container.classList.contains('show-checkboxes')) { selectors.push('input'); } else {

Discussion:
! In the video, I am tabbing from the input, to the first item, then to the first button, and then the next tab, leaves the quickpick completely (which caused the quickpick to close since it lost focus). It seems to only happen on the 2nd tab from a button to the next. /cc
I talked to about this and he mentioned that this is by-design in that we leave navigating around a widget (Actionbar in this case) to the arrow keys. please let me know if I have this wrong. in other words: Tab -navigation between widgets Arrow -navigation within widgets
Yeah this is by design. I agree that this situation here is not the best... check out this aria toolbar example which we are following.
I do get not being able to tab between the individual buttons (and having to use the arrows), but this issue isn't about that. If you open a quick pick without any buttons on items -- you can keep tabbing to cycle around all the parts of the quick pick and not have the quick pick disappear -- it will just cycle. But once an item has buttons, the "tab" after the buttons have focus, causes the whole quick pick to lose focus and if you don't have the "ignoreFocusOut" setting set, the quick pick will close. That IMO can't be by-design.
Yea I guess after that tab is should go back to the input box instead of the editor... do you know if there's a common way to loop around?
I see, thanks for clarifying. I agree with you. the only way I know is to listen to focus changes and programatically set and remove on HTML elements. Which is a pain.
hmm ok. I wonder why it's working without buttons but not with buttons... I'll investigate as soon as I get the time.
Verification: Install GitLens if you don't already have it hover over an inline blame to get the rich hover ! click the show more actions ! That gives you the quick pick mentions in the original issue. Hitting TAB should cycle between: input this list the first quick pick button The quick pick shouldn't be hidden at all during tabbing.
Woo! /verified
Change:
} private _isHiddenByDefault(menu: MenuId, commandId: string) { <del> let hiddenByDefault = false; for (const item of MenuRegistry.getMenuItems(menu)) { if (isIMenuItem(item) && item.command.id === commandId) { hiddenByDefault = Boolean(item.isHiddenByDefault); break; } } return hiddenByDefault; </del> <ins> return this._hiddenByDefaultCache.get(`${menu.id}/${commandId}`) ?? false; } setDefaultState(menu: MenuId, commandId: string, hidden: boolean): void { this._hiddenByDefaultCache.set(`${menu.id}/${commandId}`, hidden); </ins> } isHidden(menu: MenuId, commandId: string): boolean {

Discussion:
Type: <bBug</bIn the most recent insiders, opening the command palette seems to take around a second: ! There is also a large delay when filtering VS Code version: Code - Insiders 1.75.0-insider (Universal) (, 2023-01-11T16:46:25.875Z) OS version: Darwin x64 22.2.0 Modes: Sandboxed: Yes <details<summarySystem Info</summary </details<!-- generated by issue reporter --
All the little calls at the bottom of the chart are to Possibly caused by
Confirmed that this does seem caused by In main right now, it is slow but not as painfully slow: ! After a revert though it becomes very fast: !
Change:
this.queryEditorWidget.searchInput.focus(); } <ins> focusFilesToIncludeInput() { if (!this.showingIncludesExcludes) { this.toggleIncludesExcludes(true); } this.inputPatternIncludes.focus(); } focusFilesToExcludeInput() { if (!this.showingIncludesExcludes) { this.toggleIncludesExcludes(true); } this.inputPatternExcludes.focus(); } </ins> focusNextInput() { if (this.queryEditorWidget.searchInputHasFocus()) { if (this.showingIncludesExcludes) {

Discussion:
<!-- 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. --In the search editor, there is to focus on the query. I'd like to be able to set a keyboard shortcut to focus on "files to include" and "files to exclude". I'd be willing to add this. It doesn't seem too difficult.
Change:
private readonly _targetOptions: ILinkHoverTargetOptions, private readonly _text: IMarkdownString, private readonly _linkHandler: (url: string) => any, <del> @IHoverService private readonly _hoverService: IHoverService </del> <ins> @IHoverService private readonly _hoverService: IHoverService, @IConfigurationService private readonly _configurationService: IConfigurationService </ins> ) { super(); }

Discussion:
Forking off the setting part off from PR:
Hello, is this issue is still open. I am new to open source and wanted to contribute.
there's a PR open already for this one
Change:
export interface ILaunchService { start(args: ParsedArgs, userEnv: IProcessEnvironment): TPromise<void>; <ins> getMainProcessId(): TPromise<number>; </ins> } export interface ILaunchChannel extends IChannel { call(command: 'start', arg: IStartArguments): TPromise<void>; <ins> call(command: 'get-main-process-id', arg: null): TPromise<any>; </ins> call(command: string, arg: any): TPromise<any>; }

Discussion:
This can happen when code is already running and you start it again from the command line: The process that is started is killed very early after sending a IPC message to the running instance and that running instance is then trying to restore/focus the last active window which often fails. Related: As a workaround if you have access to the windows registry: find change its value to (decimal) restart windows
Pushed a workaround.
Reopening, using the () workaround causes issues as it will undock windows it seems.
This happens EVERY time for me - on all 3 machines I use it on, Windows 7 and Windows 10.
As a workaround if you have access to the windows registry: find change its value to (decimal) restart windows
Just tried the suggested workaround and it did not work. Using Windows 10 Home
I've been hit with this bug suddenly after having style execution from WinSCP work flawlessly for months. On top of that, the suggested workaround doesn't work as is nowhere to be found in my registry. Reading this it looks like the issue was fixed but has there been a regression?
Seems to have re-emerged for me. On first launch of VSCode it will focus on top of other windows, but on subsequent launches it stays in the background and flashes in the taskbar. I searched the registry but can't find any reference to . I'm on Win10 Build
Must have made the rookie mistake of not starting the search in the registry root earlier. It turns out there are several hits and the first one in seems to have worked.
I started running into this issue today. Started when I would open a new window from my current window and the new window would not appear on screen, only in the taskbar. Upon restarting the PC, no windows now appear. Tried the workaround but with no luck. Windows10 Build
Update: I made it to work by right clicking the task bar editor thumbnail of VSC and clicking on move. This made my cursor move to the edge of the desktop. I then dragged the corner of the VSC window to bring it to the center. It looks like VSC window was off the desktop boundary for some reason I have made registry changes to hkeylocalmachine and hkeycurrentuser as mentioned but it still doesn't work. Any other suggestions? Reinstalling doesn't fix the issue either.
This is happening to me also since the previous 2 releases. Changing the value of did not help
Change:
if (this.orientation === Orientation.HORIZONTAL) { this.primaryEditorContainer.style.borderLeftWidth = '1px'; this.primaryEditorContainer.style.borderLeftStyle = 'solid'; <del> this.primaryEditorContainer.style.borderLeftColor = this.getColor(SIDE_BY_SIDE_EDITOR_BORDER)?.toString() ?? ''; </del> <ins> this.primaryEditorContainer.style.borderLeftColor = this.getColor(SIDE_BY_SIDE_EDITOR_VERTICAL_BORDER)?.toString() ?? ''; </ins> this.primaryEditorContainer.style.borderTopWidth = '0'; } else { this.primaryEditorContainer.style.borderTopWidth = '1px'; this.primaryEditorContainer.style.borderTopStyle = 'solid'; <del> this.primaryEditorContainer.style.borderTopColor = this.getColor(SIDE_BY_SIDE_EDITOR_BORDER)?.toString() ?? ''; </del> <ins> this.primaryEditorContainer.style.borderTopColor = this.getColor(SIDE_BY_SIDE_EDITOR_HORIZONTAL_BORDER)?.toString() ?? ''; </ins> this.primaryEditorContainer.style.borderLeftWidth = '0'; }

Discussion:
<!-- 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. --There is a new color which can be used when we split an editor in group. The layout can be horizontal or vertical. Please support different border color settings for vertical and horizontal layouts. For example in the following vertical layout I don't need/want any border. It is easy to distinguish each editor. ! But it is hard to distinguish editors in horizontal layout without a border. !
Sounds reasonable, open for help for a meaningful small PR.
Verification: configure colors for the new theme colors and and verify they apply properly as advertised depending on the split in group layout
Change:
globalStorageHome: URI; workspaceStorageHome: URI; useHostProxy?: boolean; <ins> skipWorkspaceStorageLock?: boolean; </ins> } export interface IStaticWorkspaceData {

Discussion:
In some cases, when the extension host is unresponsive, a window reload can lead to the new extension host process not being able to acquire the lock for workspace storage, since it is still held on by the old (unresponsive) extension host process (). There are even greater concerns that the current way to resolve lock contention (i.e. generating a fresh workspace storage folder e.g. ) is problematic if extensions store very important data in these folders. e.g. suppose a lock cannot be acquired, the workspace storage folder is changed to , the extension writes very important data to , VS Code is closed and reopened the next day, when the extension will end up using as the workspace storage folder, missing out on the data written in (). As a low-risk band-aid, we can limit the acquiring of locks to only the remote extension host, where we have initially observed problems with multiple extension hosts sharing a single workspace storage folder, bringing the local extension host behavior back to what it was in 1.57.x and in the past.
To verify: open a remote window. look at the local extension host log and check that it says look at the remote extension host log and check that it says
The remote extension host log does not say , but instead . I guess that counts too. The local extension host reads .
Change:
sessions.splice(sessionIndex, 1); await this.storeSessions(sessions); <ins> await this._githubServer.logout(session); </ins> this._sessionChangeEmitter.fire({ added: [], removed: [session], changed: [] }); } else {

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --Currently signing out of your GitHub account only removes the token from the secret store but the token continues to be valid, which means that if it was leaked the attacker can continue to make use of it. To mitigate this, VS Code should revoke the token on sign out, see this API:
I wish this API didn't require the client secret...
Change:
const modelOptions = model.getOptions(); const commentsOptions = editor.getOption(EditorOption.comments); <ins> const selection = editor.getSelection(); </ins> commands.push(new LineCommentCommand( languageConfigurationService, new Selection(1, 1, model.getLineCount(), model.getLineMaxColumn(model.getLineCount())),

Discussion:
Testing 1) select a cell 2) cmd+/ -cell commented 3) ESC 4) cmd+/ -nothing 5) arrow-up 6) Cmd+/ -nothing 7) Shift + arrow-up 8) Cmd+/ -two cells commented I don't really understand in which mode I'm in after step 3 and 5. I would expect Cmd+/ to work in those states.

Testing 1) set a selection within a given cell 2) ESC -cell gets focus 3) Cmd+/ -selection from step 1 is lost and all content of the cell is selected 4) Arrow-up or down 5) Cmd+/ -now you have two cells with fully selected content I would expect that the selection from step 1 is retained/restored. And, if I don't have a selection after step 3, no selection would be visible.
It looks like step 2 still causes the selection to be lost and step 3 still comments out everything.
pair verified with
Change:
const openDetectedLink = nls.localize('openDetectedLink', 'The Open Detected Link ({0}) command enables screen readers to easily open links found in the terminal.'); const openDetectedLinkNoKb = nls.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.'); const newWithProfile = nls.localize('newWithProfile', 'The Create New Terminal (With Profile) ({0}) command allows for easy terminal creation using a specific profile.'); <del> const newWithProfileNoKb = nls.localize('newWithProfileNoKb', 'The Create New Terminal (With Profile) command command allows for easy terminal creation using a specific profile and is currently not triggerable by a keybinding.'); </del> <ins> const newWithProfileNoKb = nls.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> const accessibilitySettings = nls.localize('accessibilitySettings', 'Access accessibility settings such as `terminal.integrated.tabFocusMode` via the Preferences: Open Accessibility Settings command.'); class AccessibilityHelpWidget extends Widget implements ITerminalWidget {

Discussion:
CC The terminal help instruction on "Go to Recent Directory (Control+G)" is only available when integrated shell is used. Try Alt+F1 in cmd prompt. You won't see that.
Thank you for the issue and clarification. That is by design because the command isn't supported/doesn't exist without shell integration. This is because we can only have knowledge of cwds via shell integration insights
-- As far as I tested, Ctrl+G works in CMD prompt as well. Please correct me if I am wrong.
Ctrl+R does not work though.
You are correct
To verify, disable shell integration or use a shell without shell integration support like command prompt and check that the terminal accessibility help menu includes info on the go to recent directory command
Change:
const titleAreaControl = instantiationService.createInstance<ITitleAreaControl>(useTabs ? TabsTitleControl : NoTabsTitleControl); titleAreaControl.create(container.getHTMLElement()); titleAreaControl.setContext(context); <del> titleAreaControl.refresh(); </del> <ins> titleAreaControl.refresh(true /* instant */); </ins> silo.child().setProperty(SideBySideEditorControl.TITLE_AREA_CONTROL_KEY, titleAreaControl); // associate with container }

Discussion:
For: scoped keybinding service scoped progress service For the title area and the editor itself. This requires a common parent (or the editor-container itself) to be reparented instead of the editor moving around. Enables more scenarios around menu and command contributions for contexts.
I merged this to master: title container, editor container, progress bar widget and the instantiation service are now within a new container that gets reparented when a) you move an editor around or b) you close editor group LEFT when LEFT | RIGHT exist and RIGHT becomes LEFT as well as for when you have 3 editors open and you close the left or center group. Is there a way to verify this works for the scenario you disabled late before we finished June milestone? I remember you reverted a commit and I am not sure if this can be now reverted back again. !
I can verify
LGTM - will push the revert revert commit
Verified via
Change:
"editor.selectionBackground": "#FFFFFF", "statusBarItem.remoteBackground": "#00000000", "ports.iconRunningProcessForeground": "#FFFFFF", <del> "editorWhitespace.foreground": "#7c7c7c" </del> <ins> "editorWhitespace.foreground": "#7c7c7c", "actionBar.toggledBackground": "#383a49" </ins> }, "tokenColors": [ {

Discussion:
Testing <img width="273" alt="image" src=""Should use a toggle state instead, or a new icon. You can see it looks the same as the other disabled action
I agree, but then this also applies to the "toggle whitespace" button. I think we need some pressed state for toolbar buttons. What are your thoughts ?
I'd prefer to have an icon per state. That's how we have done it in other toolbars (like output scroll lock).
<img width="584" alt="image" src=""Mockup with a toggled state. Having an icon per state makes sense for the lock icon, because the reverse icon metaphors make intuitive sense. This is not the case for the whitespace and fold icon here though. cc
We do use toggles elsewhere. One easy example: <img width="472" alt="CleanShot 2023-07-07 at 09 13 11 src=""But I think it depends what you're trying to do. Many boolean settings make sense as a sort of enabled/disabled toggle, while others are more specific metaphors (lock/unlock as Hylke mentioned above).
I'm still in favor of a toggle border as we already use this concept in the find widget and it is a universally understood concept, but has to agree. Alternatively, we can explore other icons. Or we leave it as is.
No, I don't need to agree (but also not to like it). If you wanna explore or something similar go ahead but we should be aware that this is also open to extensions, so we need to deal with every (contributed) button looking like this in the future
I think this approach looks good to me It is more aligned with the vs code current design and should be replaced the current find widget toggle ui
Verification steps: Notice that in the diff editor buttons have a background now to indicate their toggled state: !
Change:
tsx: false, decorators: true }, <del> target: 'es2020', </del> <ins> target: 'es2022', </ins> loose: false, minify: { compress: false,

Discussion:
Looks like we have broad support for . Static initialisers are the slight exception as they are only in Safari since ~2months. We might want to special case them, but otherwise we should be good to go:
On native privates: using them will be faster than weak-map-privates but slower than normal properties (much, much slower for Safari):
Some, perf number for some new API native privates - , faster than WeakMap privates but slower than conventional privates slower than []-access needs which need broader adoption because of semantic change.
Upstream issues for private property performance v8 - Webkit -
Change:
<string>punctuation.definition.markdown</string> </dict> </dict> <key>patterns</key> <array> <dict>

Discussion:
For a markdown file like this: text text text . text text text <divhtml </div. text text text The numbered list, html block, and fenced code block elements following the line are nor properly colorized. They are rendered properly in the preview. ! In the case of the html, the text should not be colorized since it is html content, not markdown. Adding a blank line after the paragraph fixes the colorization. !
Change:
} } <ins> private isTriggerKeyEvent(event: StandardKeyboardEvent): boolean { let ret = false; if (this.options.triggerKeys) { this.options.triggerKeys.keys.forEach(keyCode => { ret = ret || event.equals(keyCode); }); } return ret; } </ins> private updateFocusedItem(): void { for (let i = 0; i < this.actionsList.children.length; i++) { let elem = this.actionsList.children[i];

Discussion:
Repro: Add keybinding: Find a quick fix, and hit alt+enter quickly. The first action is triggered. I was seeing this here (notice Promise not TPromise): !
Change:
test('actions with no value', () => { const uri = URI.parse(settingRenderer.settingToUriString('example.booleanSetting')); const actions = settingRenderer.getActions(uri); <del> assert.strictEqual(actions?.length, 1); </del> <ins> assert.strictEqual(actions?.length, 2); </ins> assert.strictEqual(actions[0].label, 'View "Example: Boolean Setting" in Settings'); });

Discussion:
Testing Click on a setting link in the release notes Get a tooltip "View '<title' in Settings" context menu It seems strange to open a context menu on left-click and to open one with only a single menu item. Can we skip doing this if "View" is the only action?
My preference would be to keep it consistent so that a context menu always opens when the button is clicked. There was some discussion of adding a "copy setting id" item in there too, which would fix the only-one-item issue.
Will be fixed by , which adds a "copy" action to the menu.
Another option is to open the context menu when the "gear" icon is hit, but go directly to the setting if the text is clicked (or vise versa)
Change:
if (!syncedBuffer) { return; } this.pendingDiagnostics.delete(resource); this.pendingGetErr?.files.delete(resource); this.syncedBuffers.delete(resource);

Discussion:
Issue Type: <bBug</bMoved off Steps to reproduce: code that generates a linting warning (in this case, should should generate an unused variable warning) the file, and then close it before the diagnostics appear Expected behavior: Diagnostics are not shown when the file is closed. Actual behavior: Diagnostics are sometimes shown when the file is closed, and will not disappear until I reload the window. Please note that I couldn't reproduce this behaviour reliably. Action gif: ! VS Code version: Code 1.46.1 (, 2020-06-17T21:17:14.222Z) OS version: Darwin x64 19.5.0 <details<summarySystem Info</summary </details<details<summaryExtensions (15)</summaryExtensionVersion ------ bracket-pair-colorizer-20.2.0 gitlens10.2.2 prettier-vscode5.1.3 vscode-pull-request-github0.17.0 vscode-docker1.3.1 python2020.6. vscode-pylance2020.6.1 remote-containers0.122.1 remote-ssh0.51.0 remote-ssh-edit0.51.0 remote-wsl0.44.4 vscode-remote-extensionpack0.20.0 azure-account0.8.11 vscode-typescript-tslint-plugin1.2.3 vscode-icons10.1.1 (3 theme extensions excluded) </details<!-- generated by issue reporter --
Change:
"dependencies": { "@vscode/l10n": "^0.0.14", "vscode-css-languageservice": "^6.2.6", <del> "vscode-html-languageservice": "^5.0.5", </del> <ins> "vscode-html-languageservice": "^5.0.6", </ins> "vscode-languageserver": "^8.2.0-next.1", "vscode-languageserver-textdocument": "^1.0.8", "vscode-uri": "^3.0.7"

Discussion:
<!-- 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 <!-- 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.77.3 () OS Version: 10.0. Steps to Reproduce: the file the file containing a with a attribute and attempt to use URL autocompletion (as with the attribute of elements) to set its value to . The same issue occurs with a element (and there may be others I'm unaware of).
I don't see any smart suggestions, only word-based, when I type in here , is that how it's supposed to work?