jiebi/CodeConvo huggingface dataset:
Change:
private readonly languageElement = this._register(new MutableDisposable<IStatusbarEntryAccessor>()); private readonly metadataElement = this._register(new MutableDisposable<IStatusbarEntryAccessor>()); private readonly currentProblemStatus: ShowCurrentMarkerInStatusbarContribution = this._register(this.instantiationService.createInstance(ShowCurrentMarkerInStatusbarContribution)); <ins> private _previousViewContext: 'terminal' | 'editor' | undefined; </ins> private readonly state = new State(); private readonly activeEditorListeners = this._register(new DisposableStore()); private readonly delayedRender = this._register(new MutableDisposable());

Discussion:
Testing into the editor. status bar still says "Tab Moves Focus". I think I'd only expect it to say that when I'm focused in the terminal.
If you toggled it to on in the editor before focusing the terminal, then this is expected. We remember the toggled state for each context until the window is reloaded and it gets reset to the configured value I realize that's kind of confusing and was not how I initially implemented this
I never toggled it at all, this was just using the settings.

Testing an editor and write something in it. tab until you reach the terminal. Type something in the terminal. . Realize that tab is correctly not moving focus in the terminal. command "Toggle Tab Key Moves Focus" out of the terminal and keep tabbing until you get back to your editor. something in the editor. again until you reach the terminal. something in the terminal. to tab out of the terminal. It looks like tab moves focus as toggled itself off. Tab moves focus seems to be off for both terminal and editor at this point until reload.
I can also cause similar behavior if I flip the settings.
what is supposed to happen now? What I think I expect to happen (and isn't happening): If I run "Toggle tab key moves focus" while in a place where it doesn't move focus via setting, then it now globally moves focus. If I run "Toggle tab key moves focus" while in a place where it does move focus, then it now globally does not move focus. However, I'm not a "tab moves focus" user, so maybe my expectations are bogus.
Thank you for testing. Those expectations are correct, except that the toggling does not apply globally - it is per area. So, if I have in settings: terminal tab focus mode: on editor tab focus mode: off where: = status bar indicator = no status bar indicator focus the terminal focus the editor focus the terminal and toggle it off focus the editor and toggle it on focus the terminal focus the editor reload the window and focus the terminal focus the editor I see that this is not working atm because I'm not reacting to configuration changes
fyi for easier testing since the command palette can cause the terminal to no longer be focused, I'd suggest using the keybinding to toggle tab focus mode
Change:
}); } <del> getItems(contextKeyService: IContextKeyService): QuickPickItem[] { </del> <ins> getItems(contextKeyService: IContextKeyService, keybindingService: IKeybindingService): QuickPickItem[] { </ins> const toQuickPickItem = (item: CustomizeLayoutItem): IQuickPickItem => { const toggled = item.active.evaluate(contextKeyService.getContext(null)); let label = item.useButtons ?

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:
<ins> /*--------------------------------------------------------------------------------------------- *  Copyright (c) Microsoft Corporation. All rights reserved. *  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ declare module 'windows-mutex' { export class Mutex { constructor(name: string); isActive(): boolean; release(): void; } } </ins>  No newline at end of file

Discussion:
This will let the Setup installer not go ahead and perform an update/install if Code is running.
We already have a native app mutex node module which we could use for this.
Change:
noDebug?: boolean; parentSession?: IDebugSession; repl?: IDebugSessionReplMode; <ins> compoundRoot?: DebugCompoundRoot; </ins> } export interface IDebugSession extends ITreeElement {

Discussion:
Ever since I started using the new JS debugger, when running our top level target and then manually closing the code-oss window, the and targets remain: ! Eventually, maybe 1 minute later, the goes away, but the other one stays, I always have to manually disconnect from it. ! cc
This is because is set for the shared process and extension host, which allows them to reconnect when vscode is reloaded. Eventually js-debug in extension host gives up, but the shared process is using the previous Node debugger which doesn't give up. Both these are working as designed, this is kind of a downside of the compound launch configs in that there's no "compound stop".
Yeah, would actually LOVE a compound stop. Could this be a feature of compounds, & Meaning, if something like was set in the compound, all targets would share the same action, and I would see no actions.
We could add a attribute to the compound, however how would that work? Clicking stop on any of the compound sessions would send stop to all sessions? And it would never be rendered as dicsonnect?
Maybe compound launch configs could have a pseudo-root, which has a "stop" action that affects all individual configs? ` The compound config could have an option whether sessions can be stopped individually, or whether stopping one session is treated as stopping the whole set of configuration.
ok makes somewhat sense, the flaw of my proposel is that once compound starts 4 sessions those sessions are not related in any way. So adding a pseudo root might be smart. The pseudo root would not be rendered, and the pseudo root would remember the attribute. Here are code pointers for a PR. We should add the attribute and to the schema . Code pointer for the debug session to add the pseudo root stopAll smartness
I like both options.
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!
Please let's have the bot not do this for ourselves.
BTW, the bot's wording sounds wrong: in to the latest...
Much better, and I this attribute to our compound config. But the behavior partly confuses me and I opened
Change:
this.shellLaunchConfig.args = defaultProfile.args; this.shellLaunchConfig.icon = defaultProfile.icon; this.shellLaunchConfig.color = defaultProfile.color; <del> this.shellLaunchConfig.env = defaultProfile.env; </del> } await this._createProcess();

Discussion:
a sample extension, add that and notice the environment wasn't set This also breaks the JS Debug Terminal and the node-terminal debug type. I hit this on zshell on OSX with shell integration turned on
Oh, this only happens when shell integration is turned on. Downgrading the "important" label
is missing from the slc when shell integration is enabled !
it's on the instead
Hi, I had a similar regression on our internal extension that open a terminal with preconfigured environement
Change:
let currentSelection = editor.getSelection(); // we only seed search string from selection when the current selection is single line and not empty. let seedSearchStringFromSelection = !currentSelection.isEmpty() && <del> currentSelection.startLineNumber === currentSelection.endLineNumber; </del> <ins> currentSelection.startLineNumber === currentSelection.endLineNumber && editor.getConfiguration().contribInfo.find.seedSearchStringFromSelection; </ins> let oldSearchString = controller.getState().searchString; // if the existing search string in find widget is empty and we don't seed search string from selection, it means the Find Input // is still empty, so we should focus the Find Input instead of Replace Input.

Discussion:
VSCode Version: Code 1.17.2 (, 2017-10-16T13:47:41.889Z) OS Version: Darwin x64 17.0.0 Extensions: ExtensionVersion ------ unity-tools0.1.9 unity-debug1.2.1 vscode-eslint1.3.2 python0.7.0 cpptools0.14.0 csharp1.12.1 mono-debug0.15.7 vscode-arduino0.2.9 Steps to Reproduce: the user setting "": false, text in a document command-e command-f Expected results: VS Code matches the standard Mac text find behavior, where command-e populates the search pasteboard with the current selection, but doesn't show the find panel. Pressing command-f thereafter shows the find panel, revealing what I put in there with command-e. Actual results: pressing command-e shows the find panel and doesn't populate the search pasteboard Plx to allow me to match the macOS standard behavior! Is my favest! <!-- Launch with to check. --Reproduces without extensions: Yes
Change:
return { picks: syncResult, additionalPicks: allMatches.asyncResults <del> .then(asyncResults => this._getPicksFromMatches(asyncResults, MAX_FILES_SHOWN - matches.length)) </del> <ins> .then(asyncResults => (asyncResults.length + syncResult.length === 0) ? [{ label: localize('noAnythingResults', "No matching results") }] : this._getPicksFromMatches(asyncResults, MAX_FILES_SHOWN - matches.length)) </ins> .then(picks => { if (picks.length > 0) { this.searchModel.searchResult.toggleHighlights(true);

Discussion:
I searched for the wrong word here but I needed to wait several seconds to make sure the search had completed: ! There should be some indicator for no results in the quick search
I previously relied on the progress indicator to show that the search was no longer running, but it'd be nice to visually see the note
It feels a little too subtle to rely on the loading bar as it might search so fast it doesn't show at all
Change:
return Ok(None); } <del> let msg = src[U32_SIZE..].to_vec(); src.resize(0, 0); </del> <ins> let msg = src[U32_SIZE..required_len].to_vec(); src.advance(required_len); </ins> Ok(Some(msg)) } }

Discussion:
As noted by a tunnel something somewhat data intensive. Run a big notebook, or sometimes just opening a large workspace is enough the tunnel will become unresponsive
Change:
if (!this.mapRootToExpression.has(root.toString()) || !objects.equals(this.mapRootToExpression.get(root.toString()), rootExcludes)) { changed = true; <del> this.mapRootToExcludes.set(root.toString(), parse(rootExcludes, { trimForExclusions: true })); </del> <ins> this.mapRootToExcludes.set(root.toString(), parse(rootExcludes)); </ins> this.mapRootToExpression.set(root.toString(), objects.clone(rootExcludes)); } });

Discussion:
Steps to Reproduce: a workspace with one folder that contains another folder "qunit" with some files 1 Clear Editor History some files from the qunit folder to add them to quick open history settings and define a files.exclude like this: =the qunit folder should now hide from the explorer =bring up quick open and notice the file from qunit still showing up This is unexpected, I have code that listens to changes to the pattern and remove entries that no longer match. When I debug this I end up in this location right before I enter here: The pattern does not match, but I verified that the setting is the one as defined. It gets created right here: Is there something wrong with parsing maybe? I have lost the ability to understand or even debug our glob implementation. Assigning to you in the hope that you have better ways of doing so. I think what we need is a way to log exactly how the matching happens within glob. Today this method is so heavily optimized and complex that I always loose myself in it.
Should have documented this: trimForExclusions is an optimization that only works for exclusions in a tree traversal. It simplifies the pattern to only match the folder 'qunit', but not the files in it. In a tree traversal that is enough and a much faster check to do. Opened a PR to clarify.
thanks
Change:
this.show(provider); } quickPick.dispose(); <ins> this._inQuickPick = false; </ins> }); }

Discussion:
Testing Alt+k should open a quickpick which allows us to configure the keybindings but it's not working on Windows: !
reverting fixes this issue for me. Would you pls take a look?
It looks like the issue is now we call when the editor widget is blurred. Commenting out this code fixes the issue:
Hi thank you for taking the time to look into it.
Change:
const profileTemplates = await this.getProfileTemplatesFromProduct(); for (const template of profileTemplates) { quickPickItems.push({ <del> label: localize('create from template', "Create {0} Profile...", template.name), </del> <ins> label: template.name, </ins> ...template }); }

Discussion:
VS Code Version: 1.78 Insiders OS Version: Windows 11 Steps to Reproduce: at the Create Profiles drop down. ! "Create" and "Profile" shown 10 times. Suggestion to remove most instances of "Create" and "Profile". Maybe:
I like this suggestion. what do you think?
<img width="630" alt="image" src="https://user-"Do you think word is a repetition? Is this good or shall I add word to template entries too?
Looks good! I think that is just the right number of "Profile" words since "Empty Profile", "Current Profile", and "Profile Template" are "things" we talk about elsewhere. The profile template list looks clear to me
I also like this! Great improvement.
Change:
const halfMinDecorationHeight = (minDecorationHeight / 2) | 0; const canvasCtx = this._domNode.domNode.getContext('2d')!; <del> if (this._settings.backgroundColor === null) { canvasCtx.clearRect(0, 0, canvasWidth, canvasHeight); </del> <ins> if (backgroundColor) { if (backgroundColor.isOpaque()) { // We have a background color which is opaque, we can just paint the entire surface with it canvasCtx.fillStyle = Color.Format.CSS.formatHexA(backgroundColor); canvasCtx.fillRect(0, 0, canvasWidth, canvasHeight); } else { // We have a background color which is transparent, we need to first clear the surface and // then fill it canvasCtx.clearRect(0, 0, canvasWidth, canvasHeight); canvasCtx.fillStyle = Color.Format.CSS.formatHexA(backgroundColor); canvasCtx.fillRect(0, 0, canvasWidth, canvasHeight); } </ins> } else { <del> canvasCtx.fillStyle = this._settings.backgroundColor; canvasCtx.fillRect(0, 0, canvasWidth, canvasHeight); </del> <ins> // We don't have a background color canvasCtx.clearRect(0, 0, canvasWidth, canvasHeight); </ins> } const x = this._settings.x;

Discussion:
Ruler background is set to black with 50% transparency, but vscode shows solid black! ! ! Description for editorOverviewRuler.background also says: , but vscode use this background if minimap is enabled or not!
The color description is out of date. We changed the behavior of via so we now always respect . However, it never supported transparency, so we could add support for that.
Change:
disturl "https://electronjs.org/headers" <del> target "19.1.3" </del> <ins> target "19.1.6" </ins> runtime "electron" build_from_source "true"

Discussion:
As part of chromium a runtime feature called AutoDisableAccessibility and it works like this: We should try out this flag to see how it affects our accessibility detection on macOS.
thanks a lot for this. Just as a refresh, this only affects macOS? fyi this change might affect our telemetry numbers - since now we might auto disable accessibility when chrome decides it is actually not being needed.
I have enabled it for all OS since there is no downside. As part of this, I also redid the accessibility event that gets fired from the runtime to work well with this feature flag. So, in endgame it would be good to have test plan that ensures our accessibility detection continues works fine on all OS.
ok, I can create a test plan item for that today with complexity 3. fyi
Created test plan item Feel free to edit it if you think I did not cover some scenario. Thanks!
Change:
} this.getWorkspaceTasks(TaskRunSource.Reconnect).then(async () => { this._tasksReconnected = await this._reconnectTasks(); <ins> this._onDidReconnectToTasks.fire(); </ins> }); }

Discussion:
Currently, one can have a task that runs on folder open (startup), but if window is reloaded, they get a notification "The task '<myTask' is already active." with options to terminate or restart the task. It would be great to have an option to never see this notification either as a button or within gear-icon context menu on the notification.
Yeah this is happening because of automatic tasks / reconnected tasks each trying to start the same one. We should ignore the request if it's coming from one or the other source (reconnection or automatic) and the task is already running
Workaround for now is to remove the folderOpen property or disable reconnection
I do not see my task getting run either on first open or window reload
found that this does not work in old Codespaces, which we are tracking here .

create a folder with a task that uses: update an extension and use "Reload window" or use Reload window directly from the command pallette observe that the task now runs twice: <img width="328" alt="image" src=""
Likely a regression from one of the task fixes this iteration.
Not able to reproduce Do you have task.reconnection enabled? Would be helpful to see each of the terminals
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
This problem still exists, I'm afraid I'm not sure the repro steps are as Alex described, but I still get duplicated tasks
It seems for Alex's repro steps to work, the terminal panel needs to be hidden
When the panel is hidden, the tasks don't run at all for me atm. I'm going to merge something that will fix this part of the issue, but in order to truly test it, I'll have to first
Change:
<li><span>Hello</span></li> <li><span>There</span></li> <div><li><span>Bye</span></li></div> <del> t </del> <ins> tt </ins> <span/> </script> `;

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- 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.46 OS Version: Win 8.1 Steps to Reproduce: a HTML file with the following content the cursor after the command tag is removed but also everything is unindented 1 step If you do the process by hand: <kbdCtrl</kbd+<kbdX</kbd<kbdCtrl</kbd+<kbdV</kbdresult is correct <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
I am interested in this and would be working on it.
VsCode implementation just removes an indent/tag (exactly one indent i.e a tab or x spaces) at the start of the line for the lines in between the tags opening and closing(if there is enough blank space) Testing the behavior here , it is clear that the content should be adjusted for indentation if the indentation of content is more than that of tags. Also, if there is an adjustment needed, the adjustment should be the difference in the indent levels not just plainly one indent.
I have configured VSC to not create any indent for any tag. Also this is inside a pre tag so no indentation modification should be done. It could also be a span tag that changes the color of the code in the pre tag. a code tag is not a tag that modifies indentation.
I'm not very familiar with this part of Emmet functionality yet. Will take a look at the PR after patching up some other parts of Emmet.
This bug has been fixed in to the latest release of ! you can help us out by confirming things are working as expected in the latest Insiders release. If things look good, please leave a comment with the text to let us know. If not, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
Change:
|| e.affectsConfiguration('git.untrackedChanges', root) || e.affectsConfiguration('git.ignoreSubmodules', root) || e.affectsConfiguration('git.openDiffOnClick', root) <del> || e.affectsConfiguration('git.rebaseWhenSync', root) </del> || e.affectsConfiguration('git.showActionButton', root) )(this.updateModelState, this, this.disposables);

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.67.0 OS Version: Windows 10 Steps to Reproduce: .rebaseWhenSync true .postCommitCommand sync git.rebaseWhenSync true works on actionbutton and statusbar but it does not affect git.postCommitCommand sync
Change:
if (isCurrentRemote1 !== isCurrentRemote2) { return isCurrentRemote1 ? -1 : 1; } <ins> // legacy indicator commands go last if (g1[0] !== '' && g2[0] === '') { return -1; } else if (g1[0] === '' && g2[0] !== '') { return 1; } </ins> return g1[0].localeCompare(g2[0]); }); }

Discussion:
<img width="602" alt="image" src="https://user-"IMHO it's very unlikely that users install VS Code through the remote picker, so we probably want to move it down to the bottom.
It's still not at the bottom of the list, but has moved to be below the codespace option, so considering this verified. !
Yeah that's the intended behavior, we still suffix the list with Install Additional Remote Extensions so that entry should always be last if it is shown.