jiebi/CodeConvo huggingface dataset:
Change:
Type: <bBug</bSteps to Reproduce: Setup: Git repository opened in VScode a new file (.txt, .feature, etc) several lines of text to the file to Source Control tab to see files changes the newly created file to see the difference Observe: All lines are highlighted(with green diff color) except the last one If you add only 1 line to the file, you won't see any highlighting in the diff mode ! Expected behavior: All lines in the newly created file should be hightlighted This happens after the updated to v1.79 or maybe v1.79.1 I was able to reproduce the same behavior in GitHub Codespaces and VScode Insider VScode version: v1.79.1 (user setup) OS: Windows 11 Home 64-bit operating system, x64-based processor VS Code version: Code 1.79.1 (, 2023-06-12T16:14:05.102Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (74)</summaryExtensionVersion ------ vscode-javascript-snippet-pack0.1.6 increment-selection0.2.0 vscode-sqlite0.14.1 jsx-html-tags1.0.1 github-markdown-preview0.3.0 markdown-checkbox0.4.0 markdown-emoji0.3.0 markdown-footnotes0.1.1 markdown-mermaid1.18.1 markdown-preview-github-styles2.0.2 markdown-yaml-preamble0.1.0 turbo-console-log2.9.3 npm-intellisense1.4.4 doxdocgen1.4.0 vscode-mysql-client26.5.2 javascript-ejs-support1.3.3 python-preview0.0.4 githistory0.6.20 python-environment-manager1.0.4 python-extension-pack1.7.0 gitlens13.6.0 vscode-html-css1.13.1 auto-close-tag0.5.14 auto-complete-tag0.1.0 auto-rename-tag0.1.10 shell-format7.2.5 vscode-pull-request-github0.66.1 gc-excelviewer4.2.57 vscode-drawio1.6.6 vscode-htmlhint1.0.5 output-colorizer0.1.2 vscode-env0.1.0 svg1.5.2 markdown-table-formatter0.3.0 env-autocomplete1.4.1 vscode-colorize0.11.1 vsc-python-indent1.18.0 bash-ide-vscode1.37.0 MagicPython1.1.0 rainbow-csv3.7.0 python-path0.0.14 git-graph1.30.0 file-downloader1.0.12 autopep82023.4.0 black-formatter2023.2.0 isort2022.8.0 python2023.10.1 vscode-pylance2023.6.10 jupyter2023.5. jupyter-keymap1.1.2 jupyter-renderers1.0.15 vscode-jupyter-cell-tags0.1.8 vscode-jupyter-slideshow0.1.5 vscode-typescript-next5.2. autodocstring0.6.1 vscode-python-typehint1.5.1 inline-html0.3.8 vscode-thunder-client2.7.6 vscode-xml0.25.0 vscode-yaml1.13.0 vs-code-prettier-eslint5.1.0 vscode-javascript-booster14.0.1 markdown-preview-enhanced0.6.8 autoimport1.5.4 markdowntable0.10.4 pdf1.2.2 python-extended-snippets0.0.1 vscode-icons12.4.0 vscode-import-cost3.3.0 autocomplete-english-word0.1.7 JavaScriptSnippets1.8.0 txt-syntax0.2.2 vscode-yseopml1.16.0 json2.0.2 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Thanks for reporting! This broke .

Discussion:
return { changes: [ new LineRangeMapping( <del> new LineRange(1, 1), new LineRange(1, modified.getLineCount()), </del> <ins> new LineRange(1, 2), new LineRange(1, modified.getLineCount() + 1), </ins> [ new RangeMapping( original.getFullModelRange(),
Change:
Open a folder with no git repo <img width="363" alt="image" src=""in an older version of vscode I see this <img width="414" alt="image" src=""

Discussion:
return [...this._repositories.values()]; } <del> constructor(private readonly globalState: Memento) { } </del> <ins> constructor(private readonly globalState: Memento) { this.onDidChangeRepositories(); } </ins> addRepository(repository: string): void { this._repositories.add(repository);

return [...this._repositories.keys()]; } <ins> constructor() { this.onDidChangeRepositories(); } </ins> addRepository(repository: string, path: string): void { this._repositories.set(repository, path); this.onDidChangeRepositories();
Change:
Reported by Use or as a SR user. there's no indication that that has succeeded. We could alert with info or use an audio cue
I don't see the chat clear history action in core, so we'd need to do this in the extension. There's a clear input history, though I don't think we want to alert for that case.
Actually, found it

Discussion:
import { ChatEditorInput } from 'vs/workbench/contrib/chat/browser/chatEditorInput'; import { ChatViewPane } from 'vs/workbench/contrib/chat/browser/chatViewPane'; import { CONTEXT_IN_CHAT_SESSION, CONTEXT_PROVIDER_EXISTS } from 'vs/workbench/contrib/chat/common/chatContextKeys'; <ins> import { alert } from 'vs/base/browser/ui/aria/aria'; import { IAccessibilityService } from 'vs/platform/accessibility/common/accessibility'; </ins> export const ACTION_ID_CLEAR_CHAT = `workbench.action.chat.clear`;

}); } async run(accessor: ServicesAccessor, ...args: any[]) { <ins> announceChatCleared(accessor); </ins> await clearChatEditor(accessor); } });

} run(accessor: ServicesAccessor, ...args: any[]) { <ins> announceChatCleared(accessor); </ins> const widgetService = accessor.get(IChatWidgetService); const widget = widgetService.lastFocusedWidget;

} async runInView(accessor: ServicesAccessor, view: ChatViewPane) { <ins> announceChatCleared(accessor); </ins> await view.clear(); } }; } <ins> function announceChatCleared(accessor: ServicesAccessor): void { if (accessor.get(IAccessibilityService).isScreenReaderOptimized()) { alert(localize('chatCleared', "Cleared")); } } </ins>

import { debounce } from 'vs/base/common/decorators'; import { MouseWheelClassifier } from 'vs/base/browser/ui/scrollbar/scrollableElement'; import { IMouseWheelEvent, StandardWheelEvent } from 'vs/base/browser/mouseEvent'; <ins> import { alert } from 'vs/base/browser/ui/aria/aria'; </ins> const enum RenderConstants { /**

// the prompt being written this._capabilities.get(TerminalCapability.CommandDetection)?.handlePromptStart(); this._capabilities.get(TerminalCapability.CommandDetection)?.handleCommandStart(); <ins> alert(localize('terminalCleared', "Cleared")); </ins> } hasSelection(): boolean {
Change:
<!-- 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. --Running will prompt the dialog and prompt for all dynamic configuration debuggers. ! It will be helpful for extensions if we can run the command with an arg so it will call into a specific debugger's dynamic configuration provider. E.g. This just jump directly to !
This works well if there's one launch config, but if there's multiple with the same type, it seems to go back to the view with all the options instead of filtering to that type.
What do you mean by "multiple with the same type"? The first level is debuggers, not launch configs

Discussion:
CommandsRegistry.registerCommand({ id: SELECT_AND_START_ID, <del> handler: async (accessor: ServicesAccessor) => { </del> <ins> handler: async (accessor: ServicesAccessor, debugType: string | unknown) => { </ins> const quickInputService = accessor.get(IQuickInputService); <ins> const debugService = accessor.get(IDebugService); if (debugType) { const configManager = debugService.getConfigurationManager(); const dynamicProviders = await configManager.getDynamicProviders(); for (const provider of dynamicProviders) { if (provider.type === debugType) { const pick = await provider.pick(); if (pick) { await configManager.selectConfiguration(pick.launch, pick.config.name, pick.config, { type: provider.type }); debugService.startDebugging(pick.launch, pick.config, { startedByUser: true }); return; } } } } </ins> quickInputService.quickAccess.show(DEBUG_QUICK_ACCESS_PREFIX); } });
Change:
Ever since the recent changes to the indentation of inline chat, when running Code OSS from the main branch, the indentation is not correct on initial render. By looking at the code this appears to be due to the fact that the initialIndentation is now set to have a value of 0 while previously it was undefined. <img width="654" alt="Screenshot 2023-06-15 at 14 13 10" src=""

Discussion:
private readonly _ctxVisible: IContextKey<boolean>; private readonly _ctxCursorPosition: IContextKey<'above' | 'below' | ''>; private _dimension?: Dimension; <del> private _indentationWidth: number = 0; </del> <ins> private _indentationWidth: number | undefined; </ins> constructor( editor: ICodeEditor,

private _availableSpaceGivenIndentation(): number { const info = this.editor.getLayoutInfo(); <del> return info.contentWidth - (info.glyphMarginWidth + info.decorationsWidth + this._indentationWidth); </del> <ins> return info.contentWidth - (info.glyphMarginWidth + info.decorationsWidth + (this._indentationWidth ?? 0)); </ins> } private _computeHeightInLines(): number {
Change:
<!-- Please search existing issues to avoid creating duplicates. --- VS Code version: 1.79.1 Jupyter Extension version: 2023.5. Python Extension version: 2023.10.1 OS and version: Windows 11 Home Version 22H2, build .1778 If I change the theme after entering code in a Markdown cell, the code highlighting should change accordingly. Light theme: <img width="51" alt="image" src=""Dark theme: <img width="52" alt="image" src=""The code highlighting in Markdown cells does not change according to the theme. Light theme: <img width="44" alt="image" src=""Dark theme: <img width="48" alt="image" src=""an .ipynb file. a Markdown cell. some text formatted as code, e.g. python a = 5 ` Shift + Enter to render cell. theme (for example, if code was entered when using Light Modern, switch to Dark Modern). The code highlighting in the Markdown cell does not change and is now difficult to read.

Discussion:
outputWordWrap: this.options.outputWordWrap }; const preloadScript = preloadsScriptStr( <del> this.options, </del> <ins> { ...this.options, tokenizationCss: getTokenizationCss(), }, </ins> { dragAndDropEnabled: this.options.dragAndDropEnabled }, renderOptions, renderersData,

background-color: var(--vscode-editor-findMatchBackground); } </style> <del> <style id="vscode-tokenization-styles" nonce="${this.nonce}">${getTokenizationCss()}</style> </del> </head> <body style="overflow: hidden;"> <div id='findStart' tabIndex=-1></div>

interface PreloadStyles { readonly outputNodePadding: number; readonly outputNodeLeftPadding: number; <ins> readonly tokenizationCss: string; </ins> } export interface PreloadOptions {

const vscode = acquireVsCodeApi(); delete (globalThis as any).acquireVsCodeApi; <del> const tokenizationStyleElement = document.querySelector('style#vscode-tokenization-styles'); </del> <ins> const tokenizationStyle = new CSSStyleSheet(); tokenizationStyle.replaceSync(ctx.style.tokenizationCss); </ins> const runWhenIdle: (callback: (idle: IdleDeadline) => void, timeout?: number) => IDisposable = (typeof requestIdleCallback !== 'function' || typeof cancelIdleCallback !== 'function') ? (runner) => { setTimeout(() => {

break; } case 'tokenizedStylesChanged': { <del> if (tokenizationStyleElement) { tokenizationStyleElement.textContent = event.data.css; } </del> <ins> tokenizationStyle.replaceSync(event.data.css); </ins> break; } case 'find': {

} const trustedHtml = ttPolicy?.createHTML(html) ?? html; el.innerHTML = trustedHtml as string; <del> if (tokenizationStyleElement) { el.insertAdjacentElement('beforebegin', tokenizationStyleElement.cloneNode(true) as HTMLElement); </del> <ins> const root = el.getRootNode(); if (root instanceof ShadowRoot) { if (!root.adoptedStyleSheets.includes(tokenizationStyle)) { root.adoptedStyleSheets.push(tokenizationStyle); } </ins> } }
Change:
insiders open search panel the expand/collapse button is wrong That's a regression from me using/adding CSS variables with the default btn style colors <img width="541" alt="Screenshot 2023-06-16 at 09 19 57" src=""
fy

Discussion:
display: flex; align-items: center; justify-content: center; <ins> background-color: unset; </ins> } .monaco-workbench .search-view .search-widget .toggle-replace-button:hover {
Change:
I posted this to StackOverflow, out of the possibility that I might be doing something wrong. however, there's a good chance this is a bug. Version: 1.79.2 Commit: User Agent: Mozilla/5.0 (X11; CrOS x86_64 .0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Embedder: <!-- generated by web issue reporter --
/gifPlease
Thanks for reporting this issue! Unfortunately, it's hard for us to understand what issue you're seeing. Please help us out by providing a screen recording showing exactly what isn't working as expected. While we can work with most standard formats, files are preferred as they are displayed inline on GitHub. You may find helpful as a browser-based gif recording tool. If the issue depends on keyboard input, you can help us by enabling screencast mode for the recording ( in the command palette). Lastly, please attach this file via the GitHub web interface as emailed responses will strip files out from the issue. Happy coding!
here you go. I came across the same problem: ! After copying a file the file path is retained until one reloads the site. I tested it on a Desktop Version connected to Codespaces and could reproduced it too.
Repo steps: a text file the explorer, copy a file using ctrl+c it into the text file and confirm the file path shows up copy some code in the text file using ctrl+c The file path is pasted instead of the selected text you just copied

Discussion:
} private handleCopy(e: ClipboardEvent) { <del> if (!e.clipboardData || !this._editor.hasTextFocus() || !this.isPasteAsEnabled()) { </del> <ins> if (!this._editor.hasTextFocus()) { return; } if (platform.isWeb) { // Explicitly clear the web resources clipboard. // This is needed because on web, the browser clipboard is faked out using an in-memory store. // This means the resources clipboard is not properly updated when copying from the editor. this._clipboardService.writeResources([]); } if (!e.clipboardData || !this.isPasteAsEnabled()) { </ins> return; }
Change:
Type: <bBug</bVS Code version: Code - Insiders 1.80.0-insider (, 2023-06-19T05:35:37.388Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </detailsExtensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
same here
Made a fix but didn't create a PR apparently. Fixed in next Insiders.
Reopening due to

Discussion:
AppMutex: product.win32MutexName, TunnelMutex: product.win32TunnelMutex, TunnelServiceMutex: product.win32TunnelServiceMutex, <ins> TunnelApplicationName: product.tunnelApplicationName, </ins> ApplicationName: product.applicationName, Arch: arch, AppId: { 'ia32': ia32AppId, 'x64': x64AppId, 'arm64': arm64AppId }[arch],

end; end; <del> if IsNotBackgroundUpdate() and CheckForMutexes('{#TunnelMutex}') then </del> <ins> if IsNotBackgroundUpdate() and not StopTunnelProcesses() then </ins> begin MsgBox('{#NameShort} is still running a tunnel. Please stop the tunnel before installing.', mbInformation, MB_OK); Result := false

var ShouldRestartTunnelService: Boolean; <ins> function StopTunnelProcesses(); var WaitCounter: Integer; TaskKilled: Integer; begin Log('Stopping all tunnel services with taskkill'); Exec('taskkill.exe', '/f /im "' + ExpandConstant('"{app}bin{#TunnelApplicationName}.exe"') + '"', '', SW_HIDE, ewWaitUntilTerminated, TaskKilled); WaitCounter := 10; while (WaitCounter > 0) and CheckForMutexes('{#TunnelMutex}') do begin Log('Tunnel process is is still running, waiting'); Sleep(500); WaitCounter := WaitCounter - 1 end; if CheckForMutexes('{#TunnelMutex}') then Log('Unable to stop tunnel processes') exit(False) else exit(True) end end; </ins> procedure StopTunnelServiceIfNeeded(); var StopServiceResultCode: Integer;

#endif Exec(ExpandConstant('{sys}icacls.exe'), ExpandConstant('"{app}" /inheritancelevel:r ') + Permissions, '', SW_HIDE, ewWaitUntilTerminated, ResultCode); <del> end; </del>  No newline at end of file <ins> end; </ins>

} }); if (!this.environmentService.isBuilt) { <del> onOutput('Building tunnel CLI from sources and run', false); onOutput(`${logLabel} Spawning: cargo run -- tunnel ${commandArgs.join(' ')}`, false); </del> <ins> onOutput('Building tunnel CLI from sources and runn', false); onOutput(`${logLabel} Spawning: cargo run -- tunnel ${commandArgs.join(' ')}n`, false); </ins> tunnelProcess = spawn('cargo', ['run', '--', 'tunnel', ...commandArgs], { cwd: join(this.environmentService.appRoot, 'cli'), stdio }); } else { <del> onOutput('Running tunnel CLI', false); </del> <ins> onOutput('Running tunnel CLIn', false); </ins> const tunnelCommand = this.getTunnelCommandLocation(); <del> onOutput(`${logLabel} Spawning: ${tunnelCommand} tunnel ${commandArgs.join(' ')}`, false); </del> <ins> onOutput(`${logLabel} Spawning: ${tunnelCommand} tunnel ${commandArgs.join(' ')}n`, false); </ins> tunnelProcess = spawn(tunnelCommand, ['tunnel', ...commandArgs], { cwd: homedir(), stdio }); }
Change:
Type: <bBug</bVS Code version: Code - Insiders 1.80.0-insider (, 2023-06-19T05:35:37.388Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </detailsExtensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
same here
Made a fix but didn't create a PR apparently. Fixed in next Insiders.
Reopening due to

Discussion:
} }); if (!this.environmentService.isBuilt) { <del> onOutput('Building tunnel CLI from sources and run', false); onOutput(`${logLabel} Spawning: cargo run -- tunnel ${commandArgs.join(' ')}`, false); </del> <ins> onOutput('Building tunnel CLI from sources and runn', false); onOutput(`${logLabel} Spawning: cargo run -- tunnel ${commandArgs.join(' ')}n`, false); </ins> tunnelProcess = spawn('cargo', ['run', '--', 'tunnel', ...commandArgs], { cwd: join(this.environmentService.appRoot, 'cli'), stdio }); } else { <del> onOutput('Running tunnel CLI', false); </del> <ins> onOutput('Running tunnel CLIn', false); </ins> const tunnelCommand = this.getTunnelCommandLocation(); <del> onOutput(`${logLabel} Spawning: ${tunnelCommand} tunnel ${commandArgs.join(' ')}`, false); </del> <ins> onOutput(`${logLabel} Spawning: ${tunnelCommand} tunnel ${commandArgs.join(' ')}n`, false); </ins> tunnelProcess = spawn(tunnelCommand, ['tunnel', ...commandArgs], { cwd: homedir(), stdio }); }
Change:
VS Code Version: 1.80.0-insider OS Version: Ubuntu 22.04 ctrl + shift + I is the default shortcut for formatting a document.
Today we have: for Inline Chat or for showing the Chat View for the Quick Question experience (I liked it because it aligns with Cmd/Ctrl+Shift+P) Options: Use a different keybinding for Quick Question (any ideas :sweat_smile: ) Add an in for only Linux () to open Quick Question Something else? To unblock I'll go with Option 2.

Discussion:
category: CHAT_CATEGORY, keybinding: { weight: KeybindingWeight.WorkbenchContrib, <del> primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KeyI </del> <ins> primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KeyI, linux: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyMod.Alt | KeyCode.KeyI } </ins> } }); }
Change:
cc Now that we have audio cues for the chat experience, all of which are off by default, we should think about what the best experience would be for most SR users and proceed with that once the final audio cues have been provided.
My choice here would be to only enable audioCues.chatResponsePending since it is the only one that provides information that is not redundant, however, this is an area in which I believe user research would be beneficial. for example, do people feel like these audio cues complement the screen reader feedback? are they distracting? Wen the chat is done generating the answer, do they prefer to receive screen reader feedback, the audio cue or both?
Yeah, that was my feeling as well Having all off by default would decrease discoverability, so I'm in favor of setting just that one to true until we have data that suggests otherwise
Just wanted to rule out any ambiguity here, does "audioCues.chatResponsePending" = the "progress" or "response" sound?
I believe he means progress because the response sound is redundant since the response gets read by the screen reader

Discussion:
public static readonly chatResponseReceived2 = Sound.register({ fileName: 'chatResponseReceived2.mp3' }); public static readonly chatResponseReceived3 = Sound.register({ fileName: 'chatResponseReceived3.mp3' }); public static readonly chatResponseReceived4 = Sound.register({ fileName: 'chatResponseReceived4.mp3' }); <del> public static readonly chatResponseReceived5 = Sound.register({ fileName: 'chatResponseReceived5.mp3' }); </del> private constructor(public readonly fileName: string) { } }

...this.chatResponseReceived }); <del> public static readonly chatResponseReceived5 = AudioCue.register({ sound: Sound.chatResponseReceived5, ...this.chatResponseReceived }); </del> public static readonly chatResponsePending = AudioCue.register({ name: localize('audioCues.chatResponsePending', 'Chat Response Pending'), sound: Sound.chatResponsePending,

'audioCues.chatResponsePending': { 'description': localize('audioCues.chatResponsePending', "Plays a sound on loop while the response is pending."), ...audioCueFeatureBase, <del> default: 'off' </del> <ins> default: 'auto' </ins> }, 'audioCues.chatResponseReceived': { 'description': localize('audioCues.chatResponseReceived', "Plays a sound on loop while the response has been received."),

content.push(localize('inlineChat.explain', "When a request is prefixed with /explain, a response will explain the code in the current selection and the chat view will be focused.")); content.push(localize('inlineChat.toolbar', "Use tab to reach conditional parts like commands, status, message responses and more.")); } <del> content.push(localize('chat.audioCues', "Audio cues can be changed via settings with a prefix of audioCues.chat.")); </del> <ins> content.push(localize('chat.audioCues', "Audio cues can be changed via settings with a prefix of audioCues.chat. By default, if a request takes more than 5 seconds, you will hear an audio cue indicating that progress is still occurring.")); </ins> return content.join('n'); }
Change:
When the content hover contains a color picker and it is resized too small, the text and the color picker box overflow. Perhaps the text should disappear when there is not enough space for the text.
At least the text does not wrap to the next line anymore, but imho the text should remain visible for as long as possible and could possibly also have text-overflow: ellipses? <img width="153" alt="image" src=""
Hi thanks for your comment. The following PR which was merged yesterday should set a minimum width on the content hover when a color picker is embedded and resolve the issue. The fix should appear in today's insiders with commit number
Indeed, thanks!

Discussion:
cursor: pointer; color: white; flex: 1; <ins> white-space: nowrap; overflow: hidden; } .colorpicker-header .picked-color .picked-color-presentation { white-space: nowrap; margin-left: 5px; margin-right: 5px; </ins> } .colorpicker-header .picked-color .codicon { color: inherit; font-size: 14px; <del> position: absolute; left: 8px; </del> } .colorpicker-header .picked-color.light {

private readonly _domNode: HTMLElement; private readonly _pickedColorNode: HTMLElement; <ins> private readonly _pickedColorPresentation: HTMLElement; </ins> private readonly _originalColorNode: HTMLElement; private readonly _closeButton: CloseButton | null = null; private backgroundColor: Color;

dom.append(container, this._domNode); this._pickedColorNode = dom.append(this._domNode, $('.picked-color')); <ins> dom.append(this._pickedColorNode, $('span.codicon.codicon-color-mode')); this._pickedColorPresentation = dom.append(this._pickedColorNode, document.createElement('span')); this._pickedColorPresentation.classList.add('picked-color-presentation'); </ins> const tooltip = localize('clickToToggleColorOptions', "Click to toggle color options (rgb/hsl/hex)"); this._pickedColorNode.setAttribute('title', tooltip);

} private onDidChangePresentation(): void { <del> this._pickedColorNode.textContent = this.model.presentation ? this.model.presentation.label : ''; this._pickedColorNode.prepend($('.codicon.codicon-color-mode')); </del> <ins> this._pickedColorPresentation.textContent = this.model.presentation ? this.model.presentation.label : ''; </ins> } }