jiebi/CodeConvo huggingface dataset:
Change:
const firstAvailableStackFrame = callStack.find(sf => !!(sf && ((this.stoppedDetails?.reason === 'instruction breakpoint' || (this.stoppedDetails?.reason === 'step' && this.lastSteppingGranularity === 'instruction')) && sf.instructionPointerReference) || (sf.source && sf.source.available && sf.source.presentationHint !== 'deemphasize'))); <del> return firstAvailableStackFrame || (callStack.length > 0 ? callStack[0] : undefined); </del> <ins> return firstAvailableStackFrame; </ins> } get stateLabel(): string {

Discussion:
In my debugger, I sometimes have StackFrames that have a known named source file, but that file's text isn't available. To represent this, I created a Source object with a name and presentationHint set to "deemphasize", which according to the docs "can be used to indicate that the source is not available or that it is skipped on stepping": However, VS Code still automatically tries to open the source for the StackFrame. I think that behavior is a conflict with the documentation. If that behavior is expected, how should I represent these frames? I don't want to exclude a Source entirely since the name alone is useful information, but I don't want an editor to open automatically for a document whose text can't be resolved.
This is happening when the deemphasized frame is first in the callstack? I think this can happen if the deemphasized frame is the only one available, but we try to skip deemphasized frames and pick the first one off the top that is not deemphasized
Yes, this happens when the deemphasized frame is first in the callstack. In the exact case I'm testing, all 8 frames are deemphasized. I would expect that in this case, none of the frames would be opened.
Hm, I think I agree, and in this case it opens an editor with an error message for you?
Yes, exactly. I'd like for it to not do that, but still allow me to supply a Source with a name because I have that information. I think using deemphasize to signal this is fine, or allowing a Source without a sourceReference or path.
Thanks for the quick fix! I verified that in the latest insiders the "deempasize" stack frame isn't automatically opened when the debugger breaks.
verified based on comment
Change:
c(undefined); }))); <del> disposables.push(quickPick.onDidChangeValue(value => { switch (true) { case value === '': quickPick.items = [...commands, ...picks]; break; case commands.length === 0: quickPick.items = picks; break; case picks.length === 0: quickPick.items = commands; break; default: quickPick.items = [...picks, { label: '', kind: QuickPickItemKind.Separator }, ...commands]; break; } })); </del> <ins> disposables.push(quickPick.onDidChangeValue(() => setQuickPickItems())); </ins> }); dispose(disposables);

Discussion:
Type: <bBug</ba workspace open the branch picker and type Bug The first time you do this, sometimes you end up with an unordered list: ! The correct order shows up when you keep start typing or try doing this again: ! VS Code version: Code - Insiders 1.91.0-insider (Universal) (, 2024-06-26T10:12:33.304Z) OS version: Darwin arm64 23.5.0 Modes: <details<summarySystem Info</summary </details<!-- generated by issue reporter --
Change:
private _createLocalExtensionHostDataProvider(desiredRunningLocation: ExtensionRunningLocation): IWebWorkerExtensionHostDataProvider { return { <del> getInitData: async () => { </del> <ins> getInitData: async (): Promise<IWebWorkerExtensionHostInitData> => { </ins> const allExtensions = await this.getExtensions(); const localWebWorkerExtensions = this._filterByRunningLocation(allExtensions, desiredRunningLocation); return { <ins> autoStart: true, </ins> allExtensions: allExtensions, myExtensions: localWebWorkerExtensions.map(extension => extension.identifier) };

Discussion:
When running a web worker extension on vscode desktop, the error appears. To reproduce, you can use the following extension: : :
Change:
if (isMarkdown) { const fullContent = cell.getText().substring(0, 10_000); <del> for (const token of marked.lexer(fullContent, { gfm: true })) { if (token.type === 'heading') { hasHeader = true; entries.push(new OutlineEntry(entries.length, token.depth, cell, renderMarkdownAsPlaintext({ value: token.text }).trim(), false, false)); } </del> <ins> for (const { depth, text } of getMarkdownHeadersInCell(fullContent)) { hasHeader = true; entries.push(new OutlineEntry(entries.length, depth, cell, text, false, false)); </ins> } if (!hasHeader) { // no markdown syntax headers, try to find html tags const match = fullContent.match(/<h([1-6]).*>(.*)</h1>/i);

Discussion:
[X] Notebooks (.ipynb files) [ ] Interactive Window and/or Cell Scripts (.py files with #%% markers) I expected that folding cells per a markdown header level would collapse all of the markdown and code cells under that header, per the VS Code Outline view of the notebook. In practice though, if there is a markdown cell with a python code block, then the comments in that python code block are considered the next top-level markdown section which interrupts the code folding. a new file and set the interpreter markdown cell with content: markdown cell: code cell: markdown cell: python print('hello world') the cell that cells 2 and 3 are collapsed and hidden, but cell 4 is not Add additional 's to the embedded python comment so that its not at the same level of the makrdown section it is under; e.g., python print('hello world') 70.0 v2022.7. Python 3.8.13 v2022.12.0 conda 4.13.0 Local
still seeing this issue- lmk if my setup is wrong. thanks! <img width="1322" alt="Screenshot 2023-01-25 at 1 11 16 PM" src="https://user-"<img width="1314" alt="Screenshot 2023-01-25 at 1 11 11 PM" src="https://user-"
Can you try finishing editing the cells to put them into render mode: ! I don't think we update the folding until the cell is no longer being edited
was verifying another issue and this works now!
Change:
}; await collectDependenciesAndPackExtensionsToInstall(extensionIdentifier, manifest); <del> installed = await this.getInstalled(undefined, profile); return allDependenciesAndPacks.filter(e => !installed.some(i => areSameExtensions(i.identifier, e.gallery.identifier))); </del> <ins> return allDependenciesAndPacks; </ins> } private async checkAndGetCompatibleVersion(extension: IGalleryExtension, sameVersion: boolean, installPreRelease: boolean): Promise<{ extension: IGalleryExtension; manifest: IExtensionManifest }> {

Discussion:
VS Code Version: stable and from sources When launching the server and installing extensions using that have a common dependency, one of the extensions will fail activating, prompting to reload VS Code. For example installing, and contains which depends on also depends on installation task finishes first and then trying to activate fails as for installation which is part of installation task Steps to Reproduce: this branch in gitpod or codespaces will fail activating and a notification shows prompting to reload vscode <img width="448" alt="error_iamge" src="https://user-"cc
would you accept a PR fixing this? I took a look but it doesn't look something trivial to fix properly, I but I don't think is a good fix
PR would be always welcome. Agreed it is not trivial. Let's see if there is a simple fix that fixes this and won't cause any regressions.
Created a PR with a possible fix
ping, by any chance for July
I am sorry that I am on vacation so cannot be looked in July.
I was following this other , but it was marked as a duplicate and was therefore closed. This isse seems to be closed as well, although the issue persists. Specifically, it seems that VS Code Dev Containers installs extensions in alphabetical order, so that if an extension that comes later in the order is a pre-requisite for another that is earlier, then the installations will not behave as expected. Example, is a pre-requisite for , but comes later in alphabetical order. Thus, requires a VS Code Session restart after building the Dev Container. Is this issue fixed in VS Code Insiders, but not released yet?
The issue you reported is using the build 1.71. and this fix was pushed in 1.72.. So please update your VS Code and try.
Change:
onHide: (wasCancelled: boolean) => { this._contextMenuIsBeingShownCount--; <del> this._editor.focus(); </del> this._editor.updateOptions({ hover: oldHoverSetting });

Discussion:
click to open context menu in text editor +P to open quick open :bug: both context menu and quick open are dismissed !
re: context menu
This is not a regression so assigning to december
I'm going to pass to you for your take. Here's what I found out. When we show the command palette that causes the editor context menu to trigger the hide: This hide, focuses the editor... but in doing so, that causes the Quick Pick's didBlur to hide: which will hide the quick pick if is set to which is the default. This behavior with context menus seems to repro: Always in context menus of the editor Only with custom menus (not native menus) in the rest of the product (tree views, Account/Gear menu, etc)
Two actions here: needs to be removed or handled better (passing that to or menus should follow the logic: if ESC/selection, focus what was previously focused. If dismissed due to focus lost, don't restore focus (this goes to
my suspicion is that the editor contribution is old and unnecessary as the behavior is built-in to the menu widget. Removing it, we can centralize the logic to the menu widget.
re-opening as we still have some work to do on the custom menu side
Change:
const menuHide = createMenuHide(this._id, isMenuItem ? item.command : item, this._hiddenStates); if (isMenuItem) { // MenuItemAction <del> const menuKeybinding = createConfigureKeybindingAction(item.command.id, item.when, this._commandService, this._keybindingService); </del> <ins> const menuKeybinding = createConfigureKeybindingAction(this._commandService, this._keybindingService, item.command.id, item.when); </ins> (activeActions ??= []).push(new MenuItemAction(item.command, item.alt, options, menuHide, menuKeybinding, this._contextKeyService, this._commandService)); } else { // SubmenuItemAction

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/No <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.90.2 OS Version: Windows 23H2 Steps to Reproduce: sure you have multiple repos click on the commit id/branch of one repro, then select "Configure Keybinding" 't find the command !
as each of these commands is distinct, what would be the right approach to enable this functionality?
We are unable to support the action for status bar actions. Let me disable it.
Looks disabled now !
I think we should completely remove the action as that will never work as far as I understood.
I think it's fine to align with the hide action and disable the action when it's not supported. Each action in that toolbar has the hide and key binding action, so I think it makes more sense to disable these actions when they are not supported compared to just not showing them for some actions
Change:
- name: 'Run vscode-telemetry-extractor' run: 'npx --package=@vscode/telemetry-extractor --yes vscode-telemetry-extractor -s .' <ins> with: GITHUB_TOKEN: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}} </ins>

Discussion:
Telemetry extractor job fails: !
And I saw this and investigated, but have no idea why it fails. The extractor outputs debug info as it runs and there is no output here leading me to think what is failing is actually the package download from the npm registry. any thoughts?
Maybe could help track down the root cause?
Thanks for the tip, I haven't enabled this just because of how noisy things will be, but if you see this fail please check the option when re-running the failed job. So far I have not seen it fail after a re-run so still am unsure of the error.
Change:
'{', `t// ${localize('displayLanguage', 'Defines VSCode's display language.')}`, `t// ${localize('doc', 'See {0} for a list of supported languages.', 'https://go.microsoft.com/fwlink/?LinkId=761051')}`, <del> `t// ${localize('restart', 'Changing the value requires restarting VSCode.')}`, `t"locale":"${language}"`, </del> <ins> `t`, `t"locale":"${language}" // ${localize('restart', 'Changes will not take effect until VSCode has been restarted.')}`, </ins> '}' ].join('n');

Discussion:
Changing display language (either via the command or editing the file directly) needs restart to take effect, but user is not notified of the same. I would suggest that we show a prompt that would say something like . Options being and .
Makes sense
The command seems to just open for editing. has default contents: Do we need more notification than that line right above? If so should this be implemented on save? Or what?
Honestly, thats the first time I saw that message in the comments. Even though... its right there! I believe having a notification still helps. Especially because in this case we need a restart (close all windows and start again. In Mac, quit and restart) and not just a reload on the single window. It should show up after the file is saved if is not the same as what was just configured. I am not sure if we are firing any events when the locale is changed. If we do, then you can piggy back on that. If we don't and its not trivial to add one, then I am ok with closing this issue given that the comment has the instruction to restart.
There is currently no event. Major reason being is that the locale is computed as one of the first things when VS Code starts and is then used to configure or loader. So it can't change dynamically hence no event and the reason for needed a restart. I see the point that the message can easily be over read. We can either add a message on save or we can restructure the file to make it easier to detect. Something like:
Change:
} } } <ins> export class TimeBasedVariableResolver implements VariableResolver { resolve(variable: Variable): string { const { name } = variable; if (name === 'CURRENT_YEAR') { return String(new Date().getFullYear()); } else if (name === 'CURRENT_YEAR_SHORT') { return String(new Date().getFullYear()).slice(-2); } else if (name === 'CURRENT_MONTH') { return pad((new Date().getMonth().valueOf() + 1), 2); } else if (name === 'CURRENT_DATE') { return pad(new Date().getDate().valueOf(), 2); } else if (name === 'CURRENT_HOUR') { return pad(new Date().getHours().valueOf(), 2); } else if (name === 'CURRENT_MINUTE') { return pad(new Date().getMinutes().valueOf(), 2); } else if (name === 'CURRENT_SECOND') { return pad(new Date().getSeconds().valueOf(), 2); } return undefined; } } </ins>

Discussion:
Edit: Sorry if this is a terrible issue... The current list of variables available when writing a snippet can be found . Existing variables expose great contextual information - such as current file, directory, line number, word, etc. Development happens so fast that information can become outdated, so knowing when some custom snippets were inserted could be useful. For example, when creating files or adding comments. My current use case is a snippet that inserts copyright headers. The key binding inserts the header: It would help to include the date: and could also apply to updates or comments: Doing so could mean a simple variable like , but that may not work for non-US users who's date format is different i/e not month/day/year. Perhaps exposing the variables separately such as , etc or localization can help? I'd like to know if there is any interest in this. I know an extension could do this but it seems like overkill, but that could depend on potential use cases. Thanks for any feedback.
Hm, this is dupe of many requests we have gotten around this but made a valid point. Adding variables for year, month, day and hour, minute, second makes sense. That will allow anyone to compose it's own date. So, yeah feel free to drop a PR
Good to hear. Thanks for the PR!
Change:
group: '3_compare', order: 20, command: compareResourceCommand, <del> when: ContextKeyExpr.and(ResourceContextKey.HasResource, ResourceSelectedForCompareContext, WorkbenchListDoubleSelection.toNegated()) </del> <ins> when: ContextKeyExpr.and(ResourceContextKey.HasResource, ResourceSelectedForCompareContext, isFileOrUntitledResourceContextKey, WorkbenchListDoubleSelection.toNegated()) </ins> }); const selectForCompareCommand = {

Discussion:
VSCode Version: 1.52.1 OS Version: Windows 10 Steps to Reproduce: a WebView tab, such as the Markdown preview. click on it in the Open Editors Section, and select "Select for Compare". click on any other item and select "Compare with Selected". ! Does this issue occur when all extensions are disabled?: Yes
//cc not sure we have a context key to use here already
Code pointer We would need to use that context key for all the compare context menu actions in the Open Editors view
isn't this just a matter of using for this command? We seem to be using this also to limit commands such as "Copy"?
you are correct, I checked and this is indeed the context key we needed here.
Will have to revert this due to
PR:
/verified
Change:
} } <del> private layoutTreeAndContainer(initialLayout: boolean): void { </del> <ins> private layoutTreeAndContainer(): void { this.layoutTree(); this.editor.layoutContentWidget(this); } private layoutTree(): void { </ins> const scrollBarHeight = 10; const treeHeight = Math.min(Math.max(266, this.editor.getLayoutInfo().height * 0.55), this.tree.contentHeight + scrollBarHeight); <ins> // Reset to a smaller width, if it was previously rendered wide this.tree.layout(treeHeight, 400); // const titleWidth = this.complexValueTitle.clientWidth; const realTreeWidth = this.tree.getHTMLElement().offsetWidth; // const contentWidth = Math.max(titleWidth, realTreeWidth); const treeWidth = clamp(realTreeWidth, 400, 550); this.tree.layout(treeHeight, treeWidth); </ins> this.treeContainer.style.height = `${treeHeight}px`; <del> this.tree.layout(treeHeight, initialLayout ? 400 : undefined); this.editor.layoutContentWidget(this); </del> this.scrollbar.scanDomNode(); } <ins> beforeRender(): IDimension | null { // beforeRender will be called each time the hover size changes, and the content widget is layed out again. if (this.expressionToRender) { const expression = this.expressionToRender; this.expressionToRender = undefined; // Do this in beforeRender once the content widget is no longer display=none so that its elements' sizes will be measured correctly. this.isUpdatingTree = true; this.tree.setInput(expression).then(() => { this.isUpdatingTree = false; dom.scheduleAtNextAnimationFrame(() => { // Wait for scrollWidth to update after a frame this.layoutTree(); this.editor.layoutContentWidget(this); this.complexValueContainer.style.visibility = ''; }); }); } return null; } </ins> afterRender(positionPreference: ContentWidgetPositionPreference | null) { if (positionPreference) { // Remember where the editor placed you to keep position stable #109226

Discussion:
an object that has many long property values There is no scrollbar the prototype There is a scrollbar !
Probably only with the horizontalscrolling setting enabled? I know that's a bit tricky
What's the setting for that? I don't have any scroll setting that appears debug related enabled. Just sticky scroll for the editor.
I think you have set, right?
No I do not.
Change:
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <ins> <key>com.apple.security.cs.allow-jit</key> <true/> <key>com.apple.security.cs.allow-unsigned-executable-memory</key> <true/> <key>com.apple.security.cs.disable-library-validation</key> <true/> <key>com.apple.security.cs.allow-dyld-environment-variables</key> <true/> </ins> </dict> </plist>

Discussion:
This started only with todays build: Start it and be greeted with:
Exception seems to indicate an issue with code signing? Could this be related to the recent entitlements change? //cc
Change:
.interactive-request { border-bottom: 1px solid var(--vscode-chat-requestBorder); border-top: 1px solid var(--vscode-chat-requestBorder); <ins> background-color: var(--vscode-chat-requestBackground); } .hc-black .interactive-request, .hc-light .interactive-request { border-left: 3px solid var(--vscode-chat-requestBorder); border-right: 3px solid var(--vscode-chat-requestBorder); </ins> } .interactive-item-container .value {

Discussion:
Magnification users often zoom out to decide what they will zoom in to read. For HC themes, we should make sure there's a difference in color between requests and responses.
good idea!
There's a slight difference on high contrast dark, but there appears to be no difference with high contrast light: ! !
This is by design as the light theme is completely flat and doesn't use a secondary background colour anywhere . The main differentiator in the HC themes is the bars on the side.
Change:
constructor() { super({ id: 'mergeEditor.compareInput2WithBase', <del> title: localize('mergeEditor.compareInput2WithBase', "Merge Editor: Compare Input 2 With Base"), </del> <ins> category: localize('mergeEditor', "Merge Editor"), title: localize('mergeEditor.compareInput2WithBase', "Compare Input 2 With Base"), </ins> f1: true, }); }

Discussion:
While working on I noticed that some of the UI elements (and maybe other things?) are not registered as disposable, and thus may leak when the merge editor is freed from an editor group that closes. For example the and all input views seem to not dispose.
Hm, I think also the merge model, I suggest to do a pass and register as appropiate.
Change:
const fn = async (cancellationToken?: CancellationToken) => { // When fetchOnPull is enabled, fetch all branches when pulling if (fetchOnPull) { <del> await this.fetchAll(cancellationToken); </del> <ins> await this.fetchAll({}, cancellationToken); </ins> } if (await this.checkIfMaybeRebased(this.HEAD?.name)) {

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/No <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.71.2 (system setup) OS Version: Windows_NT x64 10.0. Steps to Reproduce: When i run command, i don't know whether it is complete or not. There is no circle loading animation. !
It looks like, it was not do show progress while the operation is being executed. Thinking about it, I do think that if one has auto-fetch enabled it might be quite distracting to show progress every time the fetch operation is being run as part of auto-fetch. Having said that, I do think that it makes sense to show progress when is being executed explicitly. thoughts?
Agree.
Consider adding an option to decide whether to turn on the feature?
this progress indicator during a manual fetch would honour the setting.
Thank you, hope see the feature soon.