jiebi/CodeConvo huggingface dataset:
Code 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/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. --Version: 1.90.0-insider Commit: Date: 2024-05-31T01:05:41.342Z Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code-Insiders/1.90.0-insider Chrome/122.0.6261.156 Electron/29.4.0 Safari/537.36 Steps to Reproduce: There is no test-log-channel in the output panel.
Thanks for reporting this I have the exact same issue. In the meantime I have a workaround: I was surprised this does not throw, usually if you create something that was not previously disposed, it will throw an error like "command was already registered" or "notebook controller already exists". I am currently commenting out my line in my extension. It's not ideal though.
PR fixing it

Related discussion:
text: public visible: boolean = false; constructor( <del> readonly id: string, readonly name: string, </del> <ins> readonly id: string, readonly name: string, readonly resource: URI, </ins> protected readonly logger: ILogger, protected readonly proxy: MainThreadOutputServiceShape, readonly extension: IExtensionDescription,
Code 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/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. --Version: 1.90.0-insider Commit: Date: 2024-05-31T01:05:41.342Z Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code-Insiders/1.90.0-insider Chrome/122.0.6261.156 Electron/29.4.0 Safari/537.36 Steps to Reproduce: There is no test-log-channel in the output panel.
Thanks for reporting this I have the exact same issue. In the meantime I have a workaround: I was surprised this does not throw, usually if you create something that was not previously disposed, it will throw an error like "command was already registered" or "notebook controller already exists". I am currently commenting out my line in my extension. It's not ideal though.
PR fixing it

Related discussion:
text: const file = this.extHostFileSystemInfo.extUri.joinPath(outputDir, `${this.namePool++}-${name.replace(/[/:*?"<>|]/g, '')}.log`); const logger = this.loggerService.createLogger(file, { logLevel: 'always', donotRotate: true, donotUseFormatters: true, hidden: true }); const id = await this.proxy.$register(name, file, languageId, extension.identifier.value); <del> return new ExtHostOutputChannel(id, name, logger, this.proxy, extension); </del> <ins> return new ExtHostOutputChannel(id, name, file, logger, this.proxy, extension); </ins> } private async doCreateLogOutputChannel(name: string, logLevel: LogLevel | undefined, extension: IExtensionDescription): Promise<ExtHostLogOutputChannel> {
Code 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/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. --Version: 1.90.0-insider Commit: Date: 2024-05-31T01:05:41.342Z Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code-Insiders/1.90.0-insider Chrome/122.0.6261.156 Electron/29.4.0 Safari/537.36 Steps to Reproduce: There is no test-log-channel in the output panel.
Thanks for reporting this I have the exact same issue. In the meantime I have a workaround: I was surprised this does not throw, usually if you create something that was not previously disposed, it will throw an error like "command was already registered" or "notebook controller already exists". I am currently commenting out my line in my extension. It's not ideal though.
PR fixing it

Related discussion:
text: const file = this.extHostFileSystemInfo.extUri.joinPath(extensionLogDir, `${fileName}.log`); const id = `${extension.identifier.value}.${fileName}`; const logger = this.loggerService.createLogger(file, { id, name, logLevel, extensionId: extension.identifier.value }); <del> return new ExtHostLogOutputChannel(id, name, logger, this.proxy, extension); </del> <ins> return new ExtHostLogOutputChannel(id, name, file, logger, this.proxy, extension); </ins> } private createExtensionLogDirectory(extension: IExtensionDescription): Thenable<URI> {
Code 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/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. --Version: 1.90.0-insider Commit: Date: 2024-05-31T01:05:41.342Z Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code-Insiders/1.90.0-insider Chrome/122.0.6261.156 Electron/29.4.0 Safari/537.36 Steps to Reproduce: There is no test-log-channel in the output panel.
Thanks for reporting this I have the exact same issue. In the meantime I have a workaround: I was surprised this does not throw, usually if you create something that was not previously disposed, it will throw an error like "command was already registered" or "notebook controller already exists". I am currently commenting out my line in my extension. It's not ideal though.
PR fixing it

Related discussion:
text: throw new Error('Channel has been closed'); } }; <ins> const that = this; </ins> return { get name(): string { return name; }, append(value: string): void {
Code 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/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. --Version: 1.90.0-insider Commit: Date: 2024-05-31T01:05:41.342Z Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code-Insiders/1.90.0-insider Chrome/122.0.6261.156 Electron/29.4.0 Safari/537.36 Steps to Reproduce: There is no test-log-channel in the output panel.
Thanks for reporting this I have the exact same issue. In the meantime I have a workaround: I was surprised this does not throw, usually if you create something that was not previously disposed, it will throw an error like "command was already registered" or "notebook controller already exists". I am currently commenting out my line in my extension. It's not ideal though.
PR fixing it

Related discussion:
text: }, dispose(): void { disposed = true; <del> channelPromise.then(channel => channel.dispose()); </del> <ins> channelPromise.then(channel => { that.channels.delete(channel.id); that.loggerService.deregisterLogger(channel.resource); channel.dispose(); }); </ins> } }; }
Code 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/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. --Version: 1.90.0-insider Commit: Date: 2024-05-31T01:05:41.342Z Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code-Insiders/1.90.0-insider Chrome/122.0.6261.156 Electron/29.4.0 Safari/537.36 Steps to Reproduce: There is no test-log-channel in the output panel.
Thanks for reporting this I have the exact same issue. In the meantime I have a workaround: I was surprised this does not throw, usually if you create something that was not previously disposed, it will throw an error like "command was already registered" or "notebook controller already exists". I am currently commenting out my line in my extension. It's not ideal though.
PR fixing it

Related discussion:
text: onDidChangeLogLevel.fire(newLogLevel); } channelPromise.then(channel => { <del> disposables.add(channel); </del> if (channel.logLevel !== logLevel) { setLogLevel(channel.logLevel); } disposables.add(channel.onDidChangeLogLevel(e => setLogLevel(e))); }); <ins> const outputChannel = this.createExtHostOutputChannel(name, channelPromise); </ins> return { <del> ...this.createExtHostOutputChannel(name, channelPromise), </del> <ins> ...outputChannel, </ins> get logLevel() { return logLevel; }, onDidChangeLogLevel: onDidChangeLogLevel.event, trace(value: string, ...args: any[]): void {
Code 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/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. --Version: 1.90.0-insider Commit: Date: 2024-05-31T01:05:41.342Z Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code-Insiders/1.90.0-insider Chrome/122.0.6261.156 Electron/29.4.0 Safari/537.36 Steps to Reproduce: There is no test-log-channel in the output panel.
Thanks for reporting this I have the exact same issue. In the meantime I have a workaround: I was surprised this does not throw, usually if you create something that was not previously disposed, it will throw an error like "command was already registered" or "notebook controller already exists". I am currently commenting out my line in my extension. It's not ideal though.
PR fixing it

Related discussion:
text: }, dispose(): void { disposables.dispose(); <ins> outputChannel.dispose(); </ins> } }; }
Code change:
Have the following code Move line request down via Notice how the lines that have been passed change. Their indentation gets modified. The move line down command should not mutate lines it passes.
See and for similar/duplicates.
should be fixed by
Thanks for the fix!

Related discussion:
text: public getEditOperations(model: ITextModel, builder: IEditOperationBuilder): void { <ins> const getLanguageId = () => { return model.getLanguageId(); }; const getLanguageIdAtPosition = (lineNumber: number, column: number) => { return model.getLanguageIdAtPosition(lineNumber, column); }; </ins> const modelLineCount = model.getLineCount(); if (this._isMovingDown && this._selection.endLineNumber === modelLineCount) {
Code change:
Have the following code Move line request down via Notice how the lines that have been passed change. Their indentation gets modified. The move line down command should not mutate lines it passes.
See and for similar/duplicates.
should be fixed by
Thanks for the fix!

Related discussion:
text: const { tabSize, indentSize, insertSpaces } = model.getOptions(); const indentConverter = this.buildIndentConverter(tabSize, indentSize, insertSpaces); <del> const virtualModel: IVirtualModel = { tokenization: { getLineTokens: (lineNumber: number) => { return model.tokenization.getLineTokens(lineNumber); }, getLanguageId: () => { return model.getLanguageId(); }, getLanguageIdAtPosition: (lineNumber: number, column: number) => { return model.getLanguageIdAtPosition(lineNumber, column); }, }, getLineContent: null as unknown as (lineNumber: number) => string, }; </del> if (s.startLineNumber === s.endLineNumber && model.getLineMaxColumn(s.startLineNumber) === 1) { // Current line is empty
Code change:
Have the following code Move line request down via Notice how the lines that have been passed change. Their indentation gets modified. The move line down command should not mutate lines it passes.
See and for similar/duplicates.
should be fixed by
Thanks for the fix!

Related discussion:
text: insertingText = newIndentation + this.trimStart(movingLineText); } else { // no enter rule matches, let's check indentatin rules then. <del> virtualModel.getLineContent = (lineNumber: number) => { if (lineNumber === s.startLineNumber) { return model.getLineContent(movingLineNumber); } else { return model.getLineContent(lineNumber); } </del> <ins> const virtualModel: IVirtualModel = { tokenization: { getLineTokens: (lineNumber: number) => { if (lineNumber === s.startLineNumber) { return model.tokenization.getLineTokens(movingLineNumber); } else { return model.tokenization.getLineTokens(lineNumber); } }, getLanguageId, getLanguageIdAtPosition, }, getLineContent: (lineNumber: number) => { if (lineNumber === s.startLineNumber) { return model.getLineContent(movingLineNumber); } else { return model.getLineContent(lineNumber); } }, </ins> }; const indentOfMovingLine = getGoodIndentForLine( this._autoIndent,
Code change:
Have the following code Move line request down via Notice how the lines that have been passed change. Their indentation gets modified. The move line down command should not mutate lines it passes.
See and for similar/duplicates.
should be fixed by
Thanks for the fix!

Related discussion:
text: } } else { // it doesn't match onEnter rules, let's check indentation rules then. <del> virtualModel.getLineContent = (lineNumber: number) => { if (lineNumber === s.startLineNumber) { return insertingText; } else if (lineNumber >= s.startLineNumber + 1 && lineNumber <= s.endLineNumber + 1) { return model.getLineContent(lineNumber - 1); } else { return model.getLineContent(lineNumber); } </del> <ins> const virtualModel: IVirtualModel = { tokenization: { getLineTokens: (lineNumber: number) => { if (lineNumber === s.startLineNumber) { return model.tokenization.getLineTokens(movingLineNumber); } else if (lineNumber >= s.startLineNumber + 1 && lineNumber <= s.endLineNumber + 1) { return model.tokenization.getLineTokens(lineNumber - 1); } else { return model.tokenization.getLineTokens(lineNumber); } }, getLanguageId, getLanguageIdAtPosition, }, getLineContent: (lineNumber: number) => { if (lineNumber === s.startLineNumber) { return insertingText; } else if (lineNumber >= s.startLineNumber + 1 && lineNumber <= s.endLineNumber + 1) { return model.getLineContent(lineNumber - 1); } else { return model.getLineContent(lineNumber); } }, </ins> }; const newIndentatOfMovingBlock = getGoodIndentForLine(
Code change:
Have the following code Move line request down via Notice how the lines that have been passed change. Their indentation gets modified. The move line down command should not mutate lines it passes.
See and for similar/duplicates.
should be fixed by
Thanks for the fix!

Related discussion:
text: builder.addEditOperation(new Range(s.endLineNumber, model.getLineMaxColumn(s.endLineNumber), s.endLineNumber, model.getLineMaxColumn(s.endLineNumber)), 'n' + movingLineText); if (this.shouldAutoIndent(model, s)) { <del> virtualModel.getLineContent = (lineNumber: number) => { if (lineNumber === movingLineNumber) { return model.getLineContent(s.startLineNumber); } else { return model.getLineContent(lineNumber); } </del> <ins> const virtualModel: IVirtualModel = { tokenization: { getLineTokens: (lineNumber: number) => { if (lineNumber === movingLineNumber) { return model.tokenization.getLineTokens(s.startLineNumber); } else { return model.tokenization.getLineTokens(lineNumber); } }, getLanguageId, getLanguageIdAtPosition, }, getLineContent: (lineNumber: number) => { if (lineNumber === movingLineNumber) { return model.getLineContent(s.startLineNumber); } else { return model.getLineContent(lineNumber); } }, </ins> }; const ret = this.matchEnterRule(model, indentConverter, tabSize, s.startLineNumber, s.startLineNumber - 2);
Code change:
Type: <bFeature Request</bCC setting is ignored when accessibility mode is on. While screen reader's TTS can auto-announce Chat response, some users may want to use this new synthesizer. so, we may want to turn off aria-live when this setting is on. Another consideration is that some low-vision users, who don't necessarily use SR, have turned on the a11y mode and they still want to benefit from this auto-synthesize setting. VS Code version: Code - Insiders 1.91.0-insider (, 2024-06-10T05:48:36.787Z) OS version: Windows_NT x64 10.0. Modes: <!-- generated by issue reporter --
Makes sense cc
<!-- -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!
would you, yourself, enable this? I worry about turning off regions.
I don’t know whether I would turn this on permanently, but would like to try this out definitely to see if it gives me any new experience. I may be able to manage to listen to two different TTS simultaneously (one for Copilot; SR TTS for my own drive).
That makes sense. It would be great if you could try it out. You can do this now by using the action in the toolbar,
Yes, I have tried this, but this is a manual trigger which does not give me the same experience as the auto-read-aloud.
do you mute NVDA speech and use a braille device when you want to use voice input? or do you use a separate speaker/headphones? When testing this experience, the screen reader's speech is getting recorded by the mic and used as chat input for me unless I mute VoiceOver speech.
That happens when microphone is too sensitive. SR users need to mute their speech synthesizer or they need to use a different sound card or headset.
I use a separate sound card for my screen reader.
what are some verification steps for this issue?
enable screen reader mode, adjust the setting to on, run a chat request, (make sure volume is up), hear the response
I am still unsure what to test and what I should hear. I followed the steps and didn't hear the chat response. I only heard it when talking to chat in the first place.
Sorry - in order to hear the response, I forgot that you have to use voice input to the chat. So pls try that with screen reader mode enabled and that setting on.

Related discussion:
text: Registry.as<IConfigurationMigrationRegistry>(WorkbenchExtensions.ConfigurationMigration) .registerConfigurationMigrations([{ <ins> key: AccessibilityVoiceSettingId.AutoSynthesize, migrateFn: (value: boolean) => { let newValue: string | undefined; if (value === true) { newValue = 'on'; } else if (value === false) { newValue = 'off'; } return [ [AccessibilityVoiceSettingId.AutoSynthesize, { value: newValue }], ]; } }]); Registry.as<IConfigurationMigrationRegistry>(WorkbenchExtensions.ConfigurationMigration) .registerConfigurationMigrations([{ </ins> key: 'accessibility.signals.chatResponsePending', migrateFn: (value, accessor) => { return [