jiebi/CodeConvo huggingface dataset:
Change:
Testing Just a small change. Believe the casing is off in the hover hint for the button. When going to a running cell it's "Go To.." and in the new error command its "Go to..." with the rest all caps. I believe the "to" should be "To."
The convention for commands is to use "Go to...." lowercase "to". !
Got it. I was basing it off of seeing this for the other Go to cell command. So is the bug on that text instead? <img width="191" alt="image" src="https://user-"
I think "Go To", both words capitalized, is good to match the other notebook titlebar casing (for example "Run All"). Using simply "Go" in the titlebar might be ambiguous and people would confuse it with "Run". The hover in the image above, should be "Go to Running Cell"
just checking, but would be proper fix for this to change the casing in "Go To Running Cell" to "Go to Running Cell"?

Discussion:
constructor() { super({ id: REVEAL_RUNNING_CELL, <del> title: localize('revealRunningCell', "Go To Running Cell"), tooltip: localize('revealRunningCell', "Go To Running Cell"), </del> <ins> title: localize('revealRunningCell', "Go to Running Cell"), tooltip: localize('revealRunningCell', "Go to Running Cell"), </ins> shortTitle: localize('revealRunningCellShort', "Go To"), precondition: NOTEBOOK_HAS_RUNNING_CELL, menu: [
Change:
Testing Placeholder could be more concise, for example "Search for debug session by name" -"Search debug session by name" !
Would it be better to have "Search debug sessions by name"? I noticed that the loaded script view says "Search loaded scripts by name". <img width="754" alt="image" src="https://user-"
The plural makes sense to me :) Thanks

Discussion:
const quickPick = quickInputService.createQuickPick<IPickerDebugItem>(); localDisposableStore.add(quickPick); quickPick.matchOnLabel = quickPick.matchOnDescription = quickPick.matchOnDetail = quickPick.sortByLabel = false; <del> quickPick.placeholder = nls.localize('moveFocusedView.selectView', 'Search for debug session by name'); quickPick.items = _getPicks(quickPick.value, selectAndStartID, debugService, viewsService, commandService); </del> <ins> quickPick.placeholder = nls.localize('moveFocusedView.selectView', 'Search debug sessions by name'); const pickItems = _getPicksAndActiveItem(quickPick.value, selectAndStartID, debugService, viewsService, commandService); quickPick.items = pickItems.picks; quickPick.activeItems = pickItems.activeItems; </ins> localDisposableStore.add(quickPick.onDidChangeValue(async () => { <del> quickPick.items = _getPicks(quickPick.value, selectAndStartID, debugService, viewsService, commandService); </del> <ins> quickPick.items = _getPicksAndActiveItem(quickPick.value, selectAndStartID, debugService, viewsService, commandService).picks; </ins> })); localDisposableStore.add(quickPick.onDidAccept(() => { const selectedItem = quickPick.selectedItems[0];

quickPick.show(); } <del> function _getPicks(filter: string, selectAndStartID: string, debugService: IDebugService, viewsService: IViewsService, commandService: ICommandService): Array<IPickerDebugItem | IQuickPickSeparator> { </del> <ins> function _getPicksAndActiveItem(filter: string, selectAndStartID: string, debugService: IDebugService, viewsService: IViewsService, commandService: ICommandService): { picks: Array<IPickerDebugItem | IQuickPickSeparator>; activeItems: Array<IPickerDebugItem> } { </ins> const debugConsolePicks: Array<IPickerDebugItem | IQuickPickSeparator> = []; const headerSessions: IDebugSession[] = []; <ins> const currSession = debugService.getViewModel().focusedSession; </ins> const sessions = debugService.getModel().getSessions(false); <ins> const activeItems: Array<IPickerDebugItem> = []; </ins> sessions.forEach((session) => { if (session.compact && session.parentSession) {

const pick = _createPick(session, filter, debugService, viewsService, commandService); if (pick) { debugConsolePicks.push(pick); <ins> if (session.getId() === currSession?.getId()) { activeItems.push(pick); } </ins> } } });

accept: () => commandService.executeCommand(selectAndStartID) }); <del> return debugConsolePicks; </del> <ins> return { picks: debugConsolePicks, activeItems }; </ins> }
Change:
Testing When importing a profile from a file and giving a name of an existing profile, nothing happens. I would suggest to see an error when typing the name of an existing profile.

Discussion:
const userDataProfileImportExportService = accessor.get(IUserDataProfileImportExportService); const dialogService = accessor.get(IDialogService); const contextKeyService = accessor.get(IContextKeyService); <ins> const notificationService = accessor.get(INotificationService); </ins> const isSettingProfilesEnabled = contextKeyService.contextMatchesRules(PROFILES_ENABLEMENT_CONTEXT);

quickPick.matchOnLabel = false; quickPick.matchOnDescription = false; disposables.add(quickPick.onDidAccept(async () => { <del> quickPick.hide(); const profile = quickPick.selectedItems[0].description ? await this.getProfileFromURL(quickPick.value, requestService) : await this.getProfileFromFileSystem(fileDialogService, fileService); if (profile) { if (isSettingProfilesEnabled) { await userDataProfileImportExportService.importProfile(profile); } else { await userDataProfileImportExportService.setProfile(profile); </del> <ins> try { quickPick.hide(); const profile = quickPick.selectedItems[0].description ? await this.getProfileFromURL(quickPick.value, requestService) : await this.getProfileFromFileSystem(fileDialogService, fileService); if (profile) { if (isSettingProfilesEnabled) { await userDataProfileImportExportService.importProfile(profile); } else { await userDataProfileImportExportService.setProfile(profile); } </ins> } <ins> } catch (error) { notificationService.error(error); </ins> } })); disposables.add(quickPick.onDidHide(() => disposables.dispose()));
Change:
It goes here
should go here
or perhaps better
We should fix this one for July, small change with big impact

Discussion:
const labelAbout = localize("terminal.learnShellIntegration", 'Learn About Shell Integration'); actions.push({ class: undefined, tooltip: labelAbout, dispose: () => { }, id: 'terminal.learnShellIntegration', label: labelAbout, enabled: true, <del> run: () => this._openerService.open('https://code.visualstudio.com/docs/editor/integrated-terminal#_shell-integration') </del> <ins> run: () => this._openerService.open('https://code.visualstudio.com/docs/terminal/shell-integration') </ins> }); return actions; }
Change:
Type: <bBug</bipynb notebook bug In dev tools, see: VS Code version: Code - Insiders 1.70.0-insider (Universal) (, 2022-07-26T05:17:37.262Z) OS version: Darwin x64 21.5.0 Modes: <details<summarySystem Info</summary </details<!-- generated by issue reporter --
Looks like the directory is excluded from publish: You likely want to have the notebook code go to a different directory, such as instead of the dir
Just changed that inside esbuild, didn't realize that out wasn't included. I had been having an issue with needing to run while using OSS, could that be related? I'll make a PR to adjust and

Discussion:
} const srcDir = path.join(__dirname, 'src'); <del> const outDir = path.join(outputRoot, 'out'); </del> <ins> const outDir = path.join(outputRoot, 'notebook-out'); </ins> async function build() { await esbuild.build({

"displayName": "Markdown it ipynb Cell Attachment renderer", "entrypoint": { "extends": "vscode.markdown-it-renderer", <del> "path": "./out/cellAttachmentRenderer.js" </del> <ins> "path": "./notebook-out/cellAttachmentRenderer.js" </ins> } } ],
Change:
to the Settings editor on the setting . :bug: The user isn't prompted to restart the editor, so they end up encountering glitchy behaviour.

Discussion:
]); userDataProfilesService.setEnablement(!!configurationService.getValue(PROFILES_ENABLEMENT_CONFIG)); <ins> this._register(configurationService.onDidChangeConfiguration(e => { if (e.affectsConfiguration(PROFILES_ENABLEMENT_CONFIG)) { userDataProfilesService.setEnablement(!!configurationService.getValue(PROFILES_ENABLEMENT_CONFIG)); } })); </ins> // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //

changed = true; } <del> // Profiles if (typeof config.workbench?.experimental?.settingsProfiles?.enabled === 'boolean' && config.workbench.experimental.settingsProfiles.enabled !== this.settingsProfilesEnabled) { this.settingsProfilesEnabled = config.workbench.experimental.settingsProfiles.enabled; changed = true; } </del> // On linux turning on accessibility support will also pass this flag to the chrome renderer, thus a restart is required if (isLinux && typeof config.editor?.accessibilitySupport === 'string' && config.editor.accessibilitySupport !== this.accessibilitySupport) { this.accessibilitySupport = config.editor.accessibilitySupport;

} } <ins> // Profiles if (typeof config.workbench?.experimental?.settingsProfiles?.enabled === 'boolean' && config.workbench.experimental.settingsProfiles.enabled !== this.settingsProfilesEnabled) { this.settingsProfilesEnabled = config.workbench.experimental.settingsProfiles.enabled; changed = true; } </ins> // Notify only when changed and we are the focused window (avoids notification spam across windows) if (notify && changed) { this.doConfirm(
Change:
Testing Just like I can set the display language in the compact presentation of the extension view, I'd have expected to be able to reset the display language there in addition to the details page of the extension. <img width="1118" alt="image" src="https://user-"

Discussion:
import { IPagedRenderer } from 'vs/base/browser/ui/list/listPaging'; import { Event } from 'vs/base/common/event'; import { IExtension, ExtensionContainers, ExtensionState, IExtensionsWorkbenchService } from 'vs/workbench/contrib/extensions/common/extensions'; <del> import { UpdateAction, ManageExtensionAction, ReloadAction, ExtensionStatusLabelAction, RemoteInstallAction, ExtensionStatusAction, LocalInstallAction, ActionWithDropDownAction, InstallDropdownAction, InstallingLabelAction, ExtensionActionWithDropdownActionViewItem, ExtensionDropDownAction, WebInstallAction, SwitchToPreReleaseVersionAction, SwitchToReleasedVersionAction, MigrateDeprecatedExtensionAction, SetLanguageAction } from 'vs/workbench/contrib/extensions/browser/extensionsActions'; </del> <ins> import { UpdateAction, ManageExtensionAction, ReloadAction, ExtensionStatusLabelAction, RemoteInstallAction, ExtensionStatusAction, LocalInstallAction, ActionWithDropDownAction, InstallDropdownAction, InstallingLabelAction, ExtensionActionWithDropdownActionViewItem, ExtensionDropDownAction, WebInstallAction, SwitchToPreReleaseVersionAction, SwitchToReleasedVersionAction, MigrateDeprecatedExtensionAction, SetLanguageAction, ClearLanguageAction } from 'vs/workbench/contrib/extensions/browser/extensionsActions'; </ins> import { areSameExtensions } from 'vs/platform/extensionManagement/common/extensionManagementUtil'; import { RatingsWidget, InstallCountWidget, RecommendationWidget, RemoteBadgeWidget, ExtensionPackCountWidget as ExtensionPackBadgeWidget, SyncIgnoredWidget, ExtensionHoverWidget, ExtensionActivationStatusWidget, PreReleaseBookmarkWidget, extensionVerifiedPublisherIconColor } from 'vs/workbench/contrib/extensions/browser/extensionsWidgets'; import { IExtensionService, toExtension } from 'vs/workbench/services/extensions/common/extensions';

this.instantiationService.createInstance(InstallDropdownAction), this.instantiationService.createInstance(InstallingLabelAction), this.instantiationService.createInstance(SetLanguageAction), <ins> this.instantiationService.createInstance(ClearLanguageAction), </ins> this.instantiationService.createInstance(RemoteInstallAction, false), this.instantiationService.createInstance(LocalInstallAction), this.instantiationService.createInstance(WebInstallAction),
Change:
Testing microsoft/vscode-jupyter IMO is about restoring a editor with unsaved changes, but the interactiveWindow doesn't seem to have a dirty state. Maybe just call it 'interactiveWindow.restore`? It's actually not really a window ;-)
Good point Martin, I think calling it makes better sense. is a bit ambiguous, we can revisit the name for it in the core when we stabilize the API.

Discussion:
} canSerialize(): boolean { <del> return this.configurationService.getValue<boolean>(InteractiveWindowSetting.interactiveWindowHotExit); </del> <ins> return this.configurationService.getValue<boolean>(InteractiveWindowSetting.interactiveWindowRestore); </ins> } serialize(input: EditorInput): string {

default: true, markdownDescription: localize('interactiveWindow.alwaysScrollOnNewCell', "Automatically scroll the interactive window to show the output of the last statement executed. If this value is false, the window will only scroll if the last cell was already the one scrolled to.") }, <del> [InteractiveWindowSetting.interactiveWindowHotExit]: { </del> <ins> [InteractiveWindowSetting.interactiveWindowRestore]: { </ins> type: 'boolean', default: false, <del> markdownDescription: localize('interactiveWindow.hotExit', "Controls whether the interactive window sessions should be restored when the workspace reloads.") </del> <ins> markdownDescription: localize('interactiveWindow.restore', "Controls whether the Interactive Window sessions/history should be restored across window reloads. Whether the state of controllers used in Interactive Windows is persisted across window reloads are controlled by extensions contributing controllers.") </ins> } } });

export const InteractiveWindowSetting = { interactiveWindowAlwaysScrollOnNewCell: 'interactiveWindow.alwaysScrollOnNewCell', <del> interactiveWindowHotExit: 'interactiveWindow.hotExit' </del> <ins> interactiveWindowRestore: 'interactiveWindow.restore' </ins> };
Change:
Not too sure what caused this, but I reloaded my window and it seemed to show an overlap on the title bar ]() Feel free to close if this isn't enough info to file a bug.
Thanks for filing, I couldn't repro myself, but I'm going to leave this open in case others see the same and can provide more info. Also DENDRON!
Thanks for creating this issue! We figured it's missing some basic information, such as a version number, or in some other way doesn't follow our . Please take the time to review these and update the issue. Happy Coding!
I think I have more info about the bug? Seems that I can reproduce it when I'm really zoomed in and going from window to maximized. I also seem to recreate it easier when I'm on an extension page. !
yep, 100% repro, thanks a ton!
this is a regression, so adding as candidate
This happens because before maximizing, the hamburger is shown and after, the menu should have enough space, but title section does not get the memo and doesn't get out of the way
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in 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 palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
I was not able to reproduce the original issue.
I can reprouce this on 1.70.1 stable (). Is it supposed to be fixed on Insiders?

Discussion:
this.element.style.setProperty('--zoom-factor', zoomFactor.toString()); this.rootContainer.classList.toggle('counter-zoom', this.useCounterZoom); <del> runAtThisOrScheduleAtNextAnimationFrame(() => this.adjustTitleMarginToCenter()); </del> if (this.customMenubar) { const menubarDimension = new Dimension(0, dimension.height); this.customMenubar.layout(menubarDimension); } <ins> runAtThisOrScheduleAtNextAnimationFrame(() => this.adjustTitleMarginToCenter()); </ins> } }
Change:
Testing microsoft/vscode-jupyter The setting description says that the 'interactive window session' is restored. But after a reload, it seems that the state has been forgotten e.g. Open the interactive window run run prints 9 reload the window the output is restored but running again will show Note that I had to retype print(x) as there was no way to rerun the previously shown cells What's restored seems to be the last output. Maybe the settings description can clarify that?

Discussion:
} canSerialize(): boolean { <del> return this.configurationService.getValue<boolean>(InteractiveWindowSetting.interactiveWindowHotExit); </del> <ins> return this.configurationService.getValue<boolean>(InteractiveWindowSetting.interactiveWindowRestore); </ins> } serialize(input: EditorInput): string {

default: true, markdownDescription: localize('interactiveWindow.alwaysScrollOnNewCell', "Automatically scroll the interactive window to show the output of the last statement executed. If this value is false, the window will only scroll if the last cell was already the one scrolled to.") }, <del> [InteractiveWindowSetting.interactiveWindowHotExit]: { </del> <ins> [InteractiveWindowSetting.interactiveWindowRestore]: { </ins> type: 'boolean', default: false, <del> markdownDescription: localize('interactiveWindow.hotExit', "Controls whether the interactive window sessions should be restored when the workspace reloads.") </del> <ins> markdownDescription: localize('interactiveWindow.restore', "Controls whether the Interactive Window sessions/history should be restored across window reloads. Whether the state of controllers used in Interactive Windows is persisted across window reloads are controlled by extensions contributing controllers.") </ins> } } });

export const InteractiveWindowSetting = { interactiveWindowAlwaysScrollOnNewCell: 'interactiveWindow.alwaysScrollOnNewCell', <del> interactiveWindowHotExit: 'interactiveWindow.hotExit' </del> <ins> interactiveWindowRestore: 'interactiveWindow.restore' </ins> };
Change:
<!-- 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.70.0-insider (user setup) Commit: OS Version: Windows_NT x64 10.0. Steps to Reproduce: file nesting two files, and the editor tab open the "Reveal in Explorer View" command file is not revealed in the explorer view Once you manually expand the nesting to reveal the command will start working, even if you collapse the tree under again. It will stop working again if any change to the tree view is made (creating, deleting, or renaming a file) while the nested tree is collapsed. Maybe related:
This is most likely caused by the tree being async. It does not know that node exists because it has not been resolved yet. You having the file open is not a guarantee that the file is in the explorer (think outside files).
Nested files option in VS code is great to automatically declutter explorer view, but this bug is extremely annoying. When you open some file, VS code automatically shows its location in explorer view, so that you can orient yourself and see what are neighboring files. This prevents that sync from happening, and this slowdown forces the decision to stop using nested files until it's fixed.

Discussion:
} try { <ins> // We must expand the nest to have it be populated in the tree if (item.nestedParent) { await this.tree.expand(item.nestedParent); } </ins> if (reveal === true && this.tree.getRelativeTop(item) === null) { // Don't scroll to the item if it's already visible, or if set not to. this.tree.reveal(item, 0.5);
Change:
Re Create a markdown cell which Contains an image attachment Markdown cell content contains link Open in notebook editor, markdown cell preview is broken Exception

Discussion:
md.renderer.rules.image = (tokens: MarkdownItToken[], idx: number, options, env, self) => { const token = tokens[idx]; const src = token.attrGet('src'); <del> const attachments: Record<string, Record<string, string>> = env.outputItem.metadata?.custom?.attachments; </del> <ins> const attachments: Record<string, Record<string, string>> = env.outputItem.metadata?.custom?.attachments; // this stores attachment entries for every image in the cell </ins> if (attachments && src) { <del> const [attachmentKey, attachmentVal] = Object.entries(attachments[src.replace('attachment:', '')])[0]; const b64Markdown = 'data:' + attachmentKey + ';base64,' + attachmentVal; token.attrSet('src', b64Markdown); </del> <ins> const imageAttachment = attachments[src.replace('attachment:', '')]; if (imageAttachment) { // objEntries will always be length 1, with objEntries[0] holding [0]=mime,[1]=b64 // if length = 0, something is wrong with the attachment, mime/b64 weren't copied over const objEntries = Object.entries(imageAttachment); if (objEntries.length) { const [attachmentKey, attachmentVal] = objEntries[0]; const b64Markdown = 'data:' + attachmentKey + ';base64,' + attachmentVal; token.attrSet('src', b64Markdown); } } </ins> } if (original) {