jiebi/CodeConvo huggingface dataset:
Change:
} else { content.push(localize('inlineChat.overview', "Inline chat occurs within a code editor and takes into account the current selection. It is useful for making changes to the current editor. For example, fixing diagnostics, documenting or refactoring code. Keep in mind that AI generated code may be incorrect.")); content.push(localize('inlineChat.access', "It can be activated via code actions or directly using the command: Inline Chat: Start Inline Chat{0}.", '<keybinding:inlineChat.start>')); <del> content.push(localize('inlineChat.requestHistory', 'In the input box, use{0} and{1} to navigate your request history. Edit input and use enter or the submit button to run a new request.', '<keybinding:inlineChat.previousFromHistory>', '<keybinding:inlineChat.nextFromHistory>')); </del> <ins> content.push(localize('inlineChat.requestHistory', 'In the input box, use Show Previous{0} and Show Next{1} to navigate your request history. Edit input and use enter or the submit button to run a new request.', '<keybinding:history.showPrevious>', '<keybinding:history.showNext>')); </ins> content.push(localize('inlineChat.inspectResponse', 'In the input box, inspect the response in the accessible view{0}.', '<keybinding:editor.action.accessibleView>')); content.push(localize('inlineChat.contextActions', "Context menu actions may run a request prefixed with a /. Type / to discover such ready-made commands.")); content.push(localize('inlineChat.fix', "If a fix action is invoked, a response will indicate the problem with the current code. A diff editor will be rendered and can be reached by tabbing."));

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:
kernelDetectionTaskListener.dispose(); kernelChangeEventListener.dispose(); quickPick.dispose(); <del> resolve(undefined); </del> <ins> resolve({ selected: undefined, items: quickPick.items as KernelQuickPickItem[] }); </ins> }); quickPick.show(); }); <del> if (pick) { return await this._handleQuickPick(editor, pick); </del> <ins> if (pick.selected) { return await this._handleQuickPick(editor, pick.selected, pick.items); </ins> } return false;

Discussion:
Testing microsoft/vscode-jupyter Open a new window where no kernels have been used Open the kernel picker, get the kernel source picker Click the back button The quick pick flashes closed/opened and shows the source picker again
Was trying the MRU out with my new machine and ran into the same thing. Just adding a few more comments: The progress bar makes it look like the process to find kernels just hangs I'd expect to see like the old experience feels unfinished--it's my first time picking a kernel for this project so I expect it to tell me to just !
Change:
if (button.secondaryCommands?.length) { const actions: IAction[] = []; for (let index = 0; index < button.secondaryCommands.length; index++) { <del> for (const command of button.secondaryCommands[index]) { </del> <ins> const commands = button.secondaryCommands[index]; for (const command of commands) { </ins> actions.push(new Action(command.id, command.title, undefined, true, async () => await this.executeCommand(command.id, ...(command.arguments || [])))); } <del> if (index !== button.secondaryCommands.length - 1) { </del> <ins> if (commands.length) { </ins> actions.push(new Separator()); } } <ins> // Remove last separator actions.pop(); </ins> // ButtonWithDropdown this.button = new ButtonWithDropdown(this.container, {

Discussion:
Friendly ping! Looks like this issue requires some further steps to be verified. Please provide us with the steps necessary to verify this issue.
could you please verify this one? Thank you!
Verified: <img width="171" alt="image" src="https://user-"
Change:
}; menuUpdater(); this._disposables.add(menu.onDidChange(menuUpdater)); <ins> this._disposables.add(keybindingService.onDidUpdateKeybindings(e => { if (!e.keybindings?.length) { // when resetting a keybinding it isn't properly reported and we are better safe // than sorry. See https://github.com/microsoft/vscode/issues/151712 menuUpdater(); return; } const commands = new Set(e.keybindings.map(kb => kb.command)); for (let i = 0, len = titleToolbar.getItemsLength(); i < len; i++) { if (commands.has(titleToolbar.getItemAction(i).id)) { menuUpdater(); break; } } })); </ins> this._disposables.add(quickInputService.onShow(this._setVisibility.bind(this, false))); this._disposables.add(quickInputService.onHide(this._setVisibility.bind(this, true))); }

Discussion:
Testing ! rebind "Go Back" like I did. Notice that the hover in the command center does not change. The actual keybinding should be pulled out of the keybinding service so it is accurate with what the user defines.
Change:
return { ahead: Number(ahead) || 0, behind: Number(behind) || 0 }; } <ins> async revParse(ref: string): Promise<string | undefined> { try { const result = await this.exec(['rev-parse', ref]); if (result.stderr) { return undefined; } return result.stdout.trim(); } catch (err) { return undefined; } } </ins> async updateSubmodules(paths: string[]): Promise<void> { const args = ['submodule', 'update'];

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: OS Version: Steps to Reproduce: on a file from the "All Changes" node that the diff editor does not have the commit for the right hand side !
Change:
} } <del> const message = await this.getStashMessage(); </del> <ins> let defaultStashMessage = ''; if (config.get<boolean>('defaultStashMessage')) { const commitTemplate = repository.sourceControl.commitTemplate; if (commitTemplate === undefined) { defaultStashMessage = repository.inputBox.value; } else { defaultStashMessage = repository.inputBox.value.replace(commitTemplate, ''); } } const message = await this.getStashMessage(defaultStashMessage); </ins> if (typeof message === 'undefined') { return;

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. --Current Behavior: I have staged changes and typed a commit message. I choose Stash Stash I am prompted to enter a stash description Desired Behavior: If commit message is entered, automatically use it as the stash description instead of prompting.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.767 --- <!-- score: 0.663 --- <!-- score: 0.586 --- <!-- score: 0.559 --- <!-- score: 0.54 --<!-- potentialduplicatescomment --
Is this issue available to work on?
perhaps the simplest implementation is just to default the stash description prompt to the commit message?
! doesn't work for me
Sorry for the hassle but we decided to go and put this behind a setting instead: .
A little overkill if you ask me. But it works
I know... explanation is here: I guess the PR author didn't want to go with option 2 ;)
Change:
default: 'auto' }, [TerminalSettingId.LocalEchoExcludePrograms]: { <del> description: localize('terminal.integrated.localEchoExcludePrograms', "Experimental: local echo will be disabled when any of these program names are found in the terminal title."), </del> <ins> description: localize('terminal.integrated.localEchoExcludePrograms', "Local echo will be disabled when any of these program names are found in the terminal title."), </ins> type: 'array', items: { type: 'string',

Discussion:
Are all these settings still "experimental"? This seems like a mature feature !
This is a good point. I believe the wording is used to indicate the functionality has some quirks. We will see if thinks it's fine to remove it.
Yep let's do it, I think we just didn't remember to remove
Change:
this._onEnablementOrModelChanged(); } <del> private _setToolbarIconEnablementToSetting(): void { this._ctxToolbarIconEnabled.set(this._configurationService.getValue<boolean>(InlineChatDecorationsContribution.TOOLBAR_SETTING_ID)); } </del> private _registerGutterDecoration(isTransparent: boolean): ModelDecorationOptions { return ModelDecorationOptions.register({ description: 'inline-chat-decoration',

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:
import { IAuxiliaryEditorPart, MergeGroupMode } from 'vs/workbench/services/editor/common/editorGroupsService'; import { isMacintosh } from 'vs/base/common/platform'; import { IHostService } from 'vs/workbench/services/host/browser/host'; <ins> import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection'; </ins> export class EditorCommandsContextActionRunner extends ActionRunner {

Discussion:
Version: 1.85.0 Electron: 25.9.7 ElectronBuildId: Chromium: 114.0.5735.289 18.15.0 V8: 11.4.183.29-electron.0 OS: Windows x64 10.0. ( I am using a Python interpter ) Steps to Reproduce: Have at least 1 tab/file open the tab ( at the top ) : The run button disappears It's a very very minor bug and simply you just open another file to have it reappear. !
Thanks for reporting this! It lead to fixing this and other bugs we had :)
I am glad to hear!
Change:
} export function parseAddress(address: string): { host: string; port: number } | undefined { <del> const matches = address.match(/^([a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)*:)?([0-9]+)$/); </del> <ins> const matches = address.match(/^([a-zA-Z0-9_-]+(?:.[a-zA-Z0-9_-]+)*:)?([0-9]+)$/); </ins> if (!matches) { return undefined; }

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.81.1 OS Version: Windows 10 Pro (.2965) Steps to Reproduce: to add a port forward for example to "webservice1:80" (either via the view or command) UI gives the error "Forwarded port should be a number or a host:port" ! Using dashes would work. ! But that would not be so practical. Especially when working with dev containers, tunneling to other containers mostly happens via their name, which a lot of times includes underscores.
Change:
} switch (eventSource) { case TitleEventSource.Process: <del> title = path.basename(title); </del> if (platform.isWindows) { // Remove the .exe extension <ins> title = path.basename(title); </ins> title = title.split('.exe')[0]; <ins> } else { const firstSpaceIndex = title.indexOf(' '); if (title.startsWith('/')) { title = path.basename(title); } else if (firstSpaceIndex > -1) { title = title.substring(0, firstSpaceIndex); } </ins> } break; case TitleEventSource.Api:

Discussion:
I can reproduce it by running rails server: <img width="452" alt="Screenshot 2021-01-28 at 09 28 37" src="https://user-"It seems that applications can change title and use the space character instead of the null as a delimiter: <img width="1757" alt="Screenshot 2021-01-28 at 09 27 39" src="https://user-"VS Code though assumes that titles of terminals created by a user always paths to executable and drops everything before the last path separator.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.468 --<!-- potentialduplicatescomment --
Could you clarify by which extension is caused? I think it is caused by how node-pty generates process title and how VS Code takes only basepath of it.
thanks for the info, any suggestions on when we should avoid using ?
One idea is to check whether the given title is an absolute path, i.e. starts with and only then use ? -Not really would help for something like :(
in tmux there is such function: maybe it could be used for inspiration. It seems to drop everything after first space and then use basename only for absolute paths.
Change:
private static COMMIT_KEYBINDING = Platform.isMacintosh ? 'Cmd+Enter' : 'Ctrl+Enter'; private static NEED_MESSAGE = nls.localize('needMessage', "Please provide a commit message. You can always press **{0}** to commit changes. If there are any staged changes, only those will be committed; otherwise, all changes will.", ChangesView.COMMIT_KEYBINDING); private static NOTHING_TO_COMMIT = nls.localize('nothingToCommit', "Once there are some changes to commit, type in the commit message and either press **{0}** to commit changes. If there are any staged changes, only those will be committed; otherwise, all changes will.", ChangesView.COMMIT_KEYBINDING); <ins> private static LONG_COMMIT = nls.localize('longCommit', "Great commit summaries are 50 characters or less. Place extra information in next lines."); </ins> private instantiationService: IInstantiationService; private editorService: IWorkbenchEditorService;

Discussion:
I am using VSCode on Ubuntu 14.04 x64 VSCode About: Version 0.10.10 Commit Date 2016-03-07T10:30:20.458Z Shell 0.35.6 Renderer 45.0.2454.85 Node 4.1.1 Steps to Reproduce: a git repo folder a change the "GIT" tab typing a git message I am thinking of a counter starting with 50 (The number of character that'll be used as the short message appearing in git commits), it helps write meaning full messages, without have a word cut and completed in the description part, the behavior is taken as is from GitKraken
My suggestion would be to, instead of always showing a counter, when the first line's length has surpassed 50 characters. I'd gladly take this as a contribution PR! Wanna give it a try?
It seems easy to implement this, can I give it a try?
Absolutely, looking forward to it.
It unfortunately seems as if is no longer working on this.
Please bring it back!
Change:
<ins> /*--------------------------------------------------------------------------------------------- *  Copyright (c) Microsoft Corporation. All rights reserved. *  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ export function base64Encode(text: string): string { return Buffer.from(text, 'binary').toString('base64'); } </ins>

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:
import('./languageFeatures/quickFix').then(provider => this._register(provider.register(selector, this.client, this.fileConfigurationManager, this.commandManager, this.client.diagnosticsManager, this.telemetryReporter))), import('./languageFeatures/refactor').then(provider => this._register(provider.register(selector, this.client, this.fileConfigurationManager, this.commandManager, this.telemetryReporter))), import('./languageFeatures/references').then(provider => this._register(provider.register(selector, this.client))), <del> import('./languageFeatures/rename').then(provider => this._register(provider.register(selector, this.client, this.fileConfigurationManager))), </del> <ins> import('./languageFeatures/rename').then(provider => this._register(provider.register(selector, this.description, this.client, this.fileConfigurationManager))), </ins> import('./languageFeatures/semanticTokens').then(provider => this._register(provider.register(selector, this.client))), import('./languageFeatures/signatureHelp').then(provider => this._register(provider.register(selector, this.client))), import('./languageFeatures/smartSelect').then(provider => this._register(provider.register(selector, this.client))),

Discussion:
!
<!-- -96bd-47a8-a0e8- --This feature request is now a candidate for our backlog. The community has 60 days to the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our . Happy Coding!
<!-- -c9e0-7adb-d31b- --:slightlysmilingface: This feature request received a sufficient number of community upvotes and we moved it to our backlog. To learn more about how we handle feature requests, please see our . Happy Coding!
We closed this issue because we in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider. If you wonder what we are up to, please see our and . Thanks for your understanding, and happy coding!
Why has this been marked out of scope? This is a feature that was .
facing the same
Same problem here. This IS crucial for big projects.
To verify: renames should rename matching tags now. Test on both html tag names () and custom components () you change , then renaming custom components should instead renaming all references to that component
Change:
export type ITerminalsLayoutInfo = IRawTerminalsLayoutInfo<IPtyHostAttachTarget | null>; export type ITerminalsLayoutInfoById = IRawTerminalsLayoutInfo<number>; <del> export interface IRawTerminalInstanceLayoutInfo<T> { relativeSize: number; terminal: T; } </del> export enum TerminalIpcChannels { /** * Communicates between the renderer process and shared process.

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: latest commit on github OS Version: n/a Interfaces in and in are defined twice with exactly the same definition. It looks like the duplicate definitions were reverting an existing change:
Change:
"license": "MIT", "description": "Dependencies shared by all extensions", "dependencies": { <del> "typescript": "5.4.5" </del> <ins> "typescript": "^5.5.0-dev.20240603" </ins> }, "scripts": { "postinstall": "node ./postinstall.mjs"

Discussion:
Tracks shipping TypeScript 5.5 as the bundled version of ts:
Picked up 5.5.2 To verify: Open a TS file In the language status item, confirm that TS 5.5.2 is used (make sure you are using VSCode's version of typescript, not the workspace version)
Change:
const providerSession = this.keywordRecognitionSessions.get(session); providerSession?.onDidChange.fire(event); } <ins> dispose(): void { this.providerRegistrations.forEach(disposable => disposable.dispose()); this.providerRegistrations.clear(); this.speechToTextSessions.forEach(session => session.onDidChange.dispose()); this.speechToTextSessions.clear(); this.keywordRecognitionSessions.forEach(session => session.onDidChange.dispose()); this.keywordRecognitionSessions.clear(); } </ins> }

Discussion:
Testing Kept playing with "hey code", at one point the EH restarted (unsure why but likely due to speech). Anyways, the console showed the error below which likely means some didn't dispose something. Once you are in this state speech is broken
Steps open vscode, start speech F1 restart EH error shows, speech is broken
I always keep forgetting this in , we should probably have some kind of lint rule...
Change:
super(); this._notebookEditorInput = input; this._register(this._notebookEditorInput); <del> this._initTitle = title; </del> <ins> this.name = title ?? InteractiveEditorInput.windowNames[resource.path] ?? paths.basename(resource.path, paths.extname(resource.path)); </ins> this._initLanguage = languageId; this._resource = resource; this._inputResource = inputResource;

Discussion:
VS Code Version: 1.80.1 OS Version: Win-10 Python extension: v2023.12.0 Steps to Reproduce: an empty file with cell =you will see the interactive window with tab name , ... Please confirm if this is work as designed. I remember it wasn't the case at the beginning of the year. This type of naming causes tremendous confusing when working on more than 2 interactive windows within a Workplace. Please let me know if I should report it to Thanks!
Probably the same error after last update. VS Code Version: 1.80.1 OS Version: Ubuntu 22.04 "jupyter.interactiveWindow.creationMode": "perFile" name of source python file is lost, only tab names 'interactive-1', 'interactive-2'
not intentional, it should still include the python filename in the interactive tab. investigating
Change:
id: 'editor.action.inlineSuggest.acceptNextWord', label: nls.localize('action.inlineSuggest.acceptNextWord', "Accept Next Word Of Inline Suggestion"), alias: 'Accept Next Word Of Inline Suggestion', <del> precondition: ContextKeyExpr.and(EditorContextKeys.writable, GhostTextController.inlineSuggestionVisible), kbOpts: { weight: 1000, primary: KeyMod.CtrlCmd | KeyCode.RightArrow, } </del> <ins> precondition: EditorContextKeys.writable </ins> }); }

Discussion:
(See attached recording) I have enclose it in new use cmd+left to go to start of line ghost suggestions get accepted https://user-