jiebi/CodeConvo huggingface dataset:
Change:
}, description: nls.localize('app.launch.json.compounds.configurations', "Names of configurations that will be started as part of this compound.") }, <ins> stopAll: { type: 'boolean', default: false, description: nls.localize('app.launch.json.compound.stopAll', "Controls whether manually terminating one session will stop all of the compound sessions.") }, </ins> preLaunchTask: { type: 'string', default: '',

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:
} const configureKeybindingItems: IPickerQuickAccessItem[] = []; const configuredKeybindingItems: IPickerQuickAccessItem[] = []; <del> const matches = value.matchAll(/<keybinding:(?<commandId>.*)>/gm); </del> <ins> const matches = value.matchAll(/(<keybinding:(?<commandId>[^<]*)>)/gm); </ins> for (const match of [...matches]) { const commandId = match?.groups?.commandId; let kbLabel;

Discussion:
Place cursor in the panel chat Open the accessibility help Click on the icon The command list does not contain actual command names
Good catch, this is a special case. It appears to be working for the others: !
<!-- UNABLETOLOCATECOMMITMESSAGE repo --Issue marked as unreleased but unable to locate closing commit in repo history. If this was closed in a separate repo you can add the label directly, or comment .

Testing on a notebook cell alt+f1 to bring accesibility help keybindings for "insert cell above/below" missing; neither setting a keybinding is mentioned !
this is because those don't support keybindings I believe ? cc
I think I was trying to reduce the verbosity by combining those related commands, but multiple commands weren't available in the template
Not sure what you mean ... what template?
There used to be a helper function when this was , looks like it's just text now
oh, I must've missed replacing it with the when I did that refactor
<!-- UNABLETOLOCATECOMMITMESSAGE repo --Issue marked as unreleased but unable to locate closing commit in repo history. If this was closed in a separate repo you can add the label directly, or comment .
!
Change:
&& this.suggestOnTriggerCharacters === other.suggestOnTriggerCharacters && this.acceptSuggestionOnEnter === other.acceptSuggestionOnEnter && this.snippetSuggestions === other.snippetSuggestions <ins> && this.emptySelectionClipboard === other.emptySelectionClipboard </ins> && this.tabCompletion === other.tabCompletion && this.wordBasedSuggestions === other.wordBasedSuggestions && this.suggestFontSize === other.suggestFontSize

Discussion:
Like the title says, when nothing is selected, copying shouldn't copy a blank character.
As of now, cmd+c without any selection, copies the entire line. Sublime also does the same. Are we suggesting to change this behavior as part of this issue? I really like the current functionality. Or are we suggesting one more option/flag which user can enable to have the new functionality?
Yes, it would be behind an option
Can we have the option for this behavior or disable it? I don't like the auto copy of a blank line and would like to disable that feature. I agree it can be annoying especially in the type of coding I do (debugging).
Was a setting for this?
it is
disables the line copying entirely. Is there a way to have line copying enabled, while simultaneously ignoring the empty lines?
This doesn't disable the copying within my VS Code at all and I can still copy whitespace - anyone else had any luck? fingers crossed
Change:
errorTelemetry.dispose(); service.dispose(); <ins> sinon.restore(); </ins> })); test('Unexpected Error Telemetry removes PII but preserves Code file path with node modules', sinonTestFn(function (this: any) {

Discussion:
In short, if you use without calling you are leaking memory. See for the details. I'm seeing a lot of memory used in unit tests and it appears to be coming from sinon. This may be contributing to our unit test OOM issue on Windows 32 bit. Let's see if fixing this lets us run the unit tests again. To fix I have made disposable, and there were some places where tests failed or the refactor seemed larger:
The biggest gain would be from fixing the leak from as it is used many places.
I don't know if you own , but I am looking into a fix for it since it will have the biggest impact.
I've reopened this.
Thanks. I should be careful to not do and instead as that will prevent GitHub from auto closing it
With , I have made disposable and handled disposing it in most tests. There are several places where the way to handle this isn't clear or made test fail when I just naively disposed it. I have them in the issue above.
the instance in is already restored at , but the others should be fixed in Let me know if I miss any! Edit: I ended up making changes in both files.
For those tests where I am just using , should I have to still call or I should wait for your change to dispose the ?
You can wait for my change to dispose the .
FYI Windows ia32 started turning green again
and the only files left are yours. The is now disposable and should be disposed in these test files to properly restore and prevent a memory leak.
Thank you for the fast response everyone!
need help
Change:
import { DisposableStore, Disposable } from 'vs/base/common/lifecycle'; import { GutterActionsRegistry } from 'vs/workbench/contrib/codeEditor/browser/editorLineNumberMenu'; import { Action } from 'vs/base/common/actions'; <del> import { CTX_INLINE_CHAT_TOOLBAR_ICON_ENABLED, IInlineChatService, ShowGutterIcon } from 'vs/workbench/contrib/inlineChat/common/inlineChat'; </del> <ins> import { IInlineChatService, ShowGutterIcon } from 'vs/workbench/contrib/inlineChat/common/inlineChat'; </ins> import { RunOnceScheduler } from 'vs/base/common/async'; import { Iterable } from 'vs/base/common/iterator'; import { Range } from 'vs/editor/common/core/range';

Discussion:
We have as explicit context key which is driven with the . This is all fine but actually not needed. Any configuration is automatically a context key when prefixed with - , the setting is and you can use as context key
That's useful, thank you I didn't know
Change:
"command": "git.timeline.copyCommitMessage", "title": "%command.timelineCopyCommitMessage%", "category": "Git" <ins> }, { "command": "git.rebaseAbort", "title": "%command.rebaseAbort%", "category": "Git" </ins> } ], "keybindings": [

Discussion:
It's very common to have to resolve merge conflicts during a pull with rebase. You might decide that you want to stop and try something else. There's no way, that I found, through the source control UI or command palette to properly abort a rebase. You can get into a jam trying to abort, though. Like clicking the branch button in the status bar. You can choose your local branch and have the local branch's contents restored, but Code leaves you in a rebase (and that's no good). You're stuck running on the command line. (I'll upload some pics later when I can contrive some examples... sorry, I didn't capture them while I was causing trouble earlier.)
I'd like to work on the implementation. But there are 2 options when a repository is being rebased: continue and abort. I can add two menu items right under "Pull (Rebase)": "Rebase Continue" and "Rebase Abort". Will it work from the UX perspective?
Rebase continue is already implemented: if you try to commit during a rebase, it will run rebase continue instead. All we're missing is the abort action.
So, adding "Rebase Continue" option under the "Pull (Rebase)" will be ok. Am I right?
This is good to know and takes some exploring to figure out. Are there any good patterns to explain this like during your 1st use of the feature? Or in the docs somewhere? This is a problem any time you combine git commands (like Sync).
We could maybe add that to the docs. :+1: Wanna submit a PR on ?
Hey, to this point (), I don't recall anywhere except maybe the Output | Git log that you can tell that the rebase has continued. There's no obvious status that commits are being replayed or that you may need to wait a few seconds for the next merge conflict to render in the source control explorer (if there are more conflicts) or even if the rebase is "done". You end up needing to check the Git status on the command line anyway. I think if you're going to wrap up the workflow by offering "abort", you need to make the entire experience better.
I did some exploration on supporting rebase features, which is related to this.
looks like your implementation covers git abort and my PR is not required anymore. Closing it.
Change:
}); this._decoration?.onRender((e: HTMLElement) => { e.classList.add(...ThemeIcon.asClassNameArray(Codicon.micFilled), 'terminal-voice', 'recording'); <del> e.style.transform = 'translate(-5px, -5px)'; </del> <ins> e.style.transform = onFirstLine ? 'translate(10px, -2px)' : 'translate(-6px, -5px)'; </ins> }); }

Discussion:
Sighted users see preview text as a voice recording occurs and they see the resultant output, which could be drastically different from what they might expect. To make this clear for SR users, after the recording has stopped, we should alert with the content that was inserted in at least the terminal. Unclear if this would also be desirable to do in the chat input boxes
Do you move over to using braille when using the speech functionality Otherwise, doesn't the mic pick up on what the screen reader is saying?

It seems that the mic icon requires at least one line above the prompt to show: ! It does not appear for me in the above case.
Thanks for the issue. Should be an easy fix and in this case the mic will have to go on the cursor line
Change:
*/ function anonymizeFilePaths(stack: string, cleanupPatterns: RegExp[]): string { <ins> // Fast check to see if it is a file path to avoid doing unnecessary heavy regex work if (!stack || (!stack.includes('/') && !stack.includes(''))) { return stack; } </ins> let updatedStack = stack; const cleanUpIndexes: [number, number][] = [];

Discussion:
enable CPU profiling reload window (explorer, text editor, terminal) stop CPU profiling look at "Heavy bottom up" samples the top five of slow things contains this regex:  <img width="1258" alt="Screenshot 2022-10-27 at 16 13 30" src="https://user-"
Change:
return; } <del> const charBeforeAndAfterPositionsRoughtlyEqual = isCharBeforeAndAfterPositionsRoughtlyEqual( </del> <ins> const charBeforeAndAfterPositionsRoughlyEqual = isCharBeforeAndAfterPositionsRoughlyEqual( </ins> event.textEditor.document, event.selections[0].anchor, event.selections[1].anchor ); <del> if (!charBeforeAndAfterPositionsRoughtlyEqual) { </del> <ins> if (!charBeforeAndAfterPositionsRoughlyEqual) { </ins> exitMirrorMode(); return; } else {

Discussion:
<!-- 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.42.0-insider OS Version: macOS Steps to Reproduce: See the following gif: ! I first enter the tag which activates multicursor, then I use the key combi to select and jump to the end of the line, go one back and use "Backspace" to delete the attribute. This is a common operation, but now with mirror cursors it might break the HTML as seen in the gif above. Moreover, if the opening & closing tag are further apart, one might not even notice the HTML is broken. <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
Also this quite a lot as this is a very common operation. Related to this is ctrl+shift selecting out of the element tag name. I'd like to work on. The fix would be to exit mirror mode if the selection is not empty and we reach a none-matching state.
This also brings up an issue when you try to add an attribute to multiple tags that have none. ! If you click the open tag, it'll select the opening and closing, and usually when you're at the end and you press space to type in the attribute it doesn't add the attributes to the closing tag, but when you're adding more cursors to the tags in other lines, it doesn't act like that anymore and adds the attributes to both tags. I went crazy trying to find this to disable it.
Yeah looking at the current implementation, there's no support at all for multiple cursors. That's gonna take some work for the behavior to work correctly.
This feature doesn't work well with extension vim too, have to shut it down.
The fix will be available in until next month's release.
Change:
} if (firstLine.length > 0) { <del> for (const association of registeredAssociations) { </del> <ins> // We want to prioritize associations based on the order they are registered so that the last registered // association wins over all other. This is for https://github.com/Microsoft/vscode/issues/20074 for (let i = registeredAssociations.length - 1; i >= 0; i--) { const association = registeredAssociations[i]; </ins> if (!association.firstline) { continue; }

Discussion:
This is because unlike the other algorithm for path or file name, we actually iterate over the registered languages in order and not in reverse order. As such, an extension cannot override the language mode when providing a pattern that is matched by an built in extension. I would argue that we should do the same trick and reverse the order, so that extensions have a chance. //cc
via
Change:
padding-right: 4px; } <ins> .monaco-hover .hover-row.status-bar .actions .action-container a { color: var(--vscode-textLink-foreground); text-decoration: var(--text-link-decoration); } </ins> .monaco-hover .markdown-hover .hover-contents .codicon { color: inherit; font-size: inherit;

Discussion:
Testing Hover over in the Status Bar when you have a JS file open, expect the links to be underlined by default. When you do hover over them, links appear, but per the TPI I would expect them to appear all the time. !

Testing Hover in Chat View doesn't respect underline setting (expect to be underlined): !

Testing Expect and to support underline: ! To repro, just hit a breakpoint somewhere and hover over variables in the debug view.
Change:
const computedNotificiations: Array<Omit<IExtensionsNotification, 'dismiss'> & { key: string }> = []; const invalidExtensions = this.local.filter(e => e.enablementState === EnablementState.DisabledByInvalidExtension && !e.isWorkspaceScoped); if (invalidExtensions.length) { <del> if (invalidExtensions.some(e => e.local && e.local.manifest.engines && </del> <ins> if (invalidExtensions.some(e => e.local && e.local.manifest.engines?.vscode && </ins> (!isEngineValid(e.local.manifest.engines.vscode, this.productService.version, this.productService.date) || areApiProposalsCompatible([...e.local.manifest.enabledApiProposals ?? []])) )) { computedNotificiations.push({

Discussion:
Testing When an extension is invalid and hence is not able to activate, we do not show a badge on the activity bar, should we? <img width="353" alt="image" src=""Also, the warning is saying . I think it would be helpful if we prepended something like:
Can you please try this on latest insider, because I fixed this yesterday.
This is latest Insiders
Are you able to reproduce still?
Yes <img width="441" alt="image" src=""
To repro: Remove just the property under property
I got into a broken state after messing with the I did this Remove from the of the installed marketplace version of copilot chat Click "uninstall" on the extension Click "install pre-release" Get this error and I couldn't get it fixed until I manually deleted the extension folder under , and reinstalled. Lmk if you want an issue
I am aware of this. One can get into this state only manually. So deleting manually seems to be reasonable option.
Change:
_log(loggerService, '[Revive Webview] Notebook editor backlayer webview is not focused, bypass'); return; } <ins> // If none of the outputs have focus, then webview is not focused const view = editor.getViewModel(); if (view && view.viewCells.every(cell => !cell.outputIsFocused && !cell.outputIsHovered)) { return; } </ins> const webview = editor.getInnerWebview(); _log(loggerService, '[Revive Webview] Notebook editor backlayer webview is focused');

Discussion:
Repro: 3 cells the middle one the empty space at the bottom of the notebook undo it doesn't work, clicking in between cells does work though
Specifically, undo only works when focused on a cell container. Focus within a cell (code or markdown) editor and in the notebook editor both do not handle the undo.
Change:
await configurationService.setUserConfiguration('terminal', { integrated: { wordSeparators: ' ' } }); await assertLink('', []); }); <ins> test('should support file scheme links', async () => { await configurationService.setUserConfiguration('terminal', { integrated: { wordSeparators: ' ' } }); await assertLink('file:///C:/users/test/file.txt ', [{ range: [[1, 1], [30, 1]], text: 'file:///C:/users/test/file.txt' }]); await assertLink('file:///C:/users/test/file.txt:1:10 ', [{ range: [[1, 1], [35, 1]], text: 'file:///C:/users/test/file.txt:1:10' }]); }); </ins> });

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.58.2 OS Version: Linux x64 5.4.0-80-generic Steps to Reproduce: open a vscode window open the embedded vscode terminal any file path to a path that exists, but prepended with the uri 'file:///' prefix (example: file:////home/somedir) ctrl+click on that path error message appears: "Unable to open 'somedir': File is a directory The expected behavior (opening the directory in vscode) works for regular paths (/home/somedir)
+1
duplicate of
Can we get a little explanation of how this is a duplicate? Seems completely unrelated. This is incorrect handling of RFC 8089, RFC 3986 links while the other is failure to handle softlinks while using remote ssh. The issue here is file:// schema is treated as if it can only be a file while on the posix path it detects file vs directory.
Can reproduce the problem, it should say folder not file: ! !
Repros on Windows too. Same thing happens in the editor: ! Above should use 3 slashes:
So the link does work (tried it with multiple folders)... but I guess I expected the underline to include the bit. It's a nit and I don't feel too strongly about it, but thought I'd mention. !
let's wait until is back for that. I'm considering this verified for now
Problem is back, looks a little different though: !
I think the new problem is Windows only
Change:
"welcome.publishWorkspaceFolder": { "message": "You can also directly publish a workspace folder to a GitHub repository. Once published, you'll have access to source control features powered by git and GitHub.n[$(github) Publish to GitHub](command:github.publish)", "comment": [ <ins> "{Locked='$(github)'}", "Do not translate '$(github)'. It will be rendered as an icon", </ins> "{Locked='](command:github.publish'}", "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", "Please make sure there is no space between the right bracket and left parenthesis:  ]( this is an internal syntax for links"

Discussion:
Testing With the pseudolanguage pack, on an open folder with no initialized repository, the links in the SCM viewlet do not render properly: !
this is what I see in today's Insiders release (2022-07-06): <img width="411" alt="image" src="https://user-"Looks like the buttons appear correctly, though it looks like the icon in the "Publish to GitHub" button has been translated.
what would be the best way to indicate in a file that the icon should not be translated. I see that there is already a pattern to indicate that the should not be translated. Can we establish something similar for icons as well?
you can add more comments that lock the icons as well: