jiebi/CodeConvo huggingface dataset:
Change:
import { Schemas } from 'vs/base/common/network'; import { getWindowsBuildNumber } from 'vs/workbench/contrib/terminal/node/terminal'; import { IPanelService } from 'vs/workbench/services/panel/common/panelService'; <ins> import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; </ins> interface TerminalData { terminal: ITerminalInstance;

Discussion:
Steps to reproduce: clone open a terminal Debug viewlet Launch client Observe that building never finishes Now switch the terminal to the npm: watch task Observe: building finished. Looks like the terminal is not delivering any output as long as the view is not visible.
are there any differences on when onLineData occurs in the terminal with conpty?
discovered a new issue
Change:
display(lineNumber: number) { this._commentGlyph = new CommentGlyphWidget(this.editor, lineNumber); <ins> this._commentGlyph.setThreadState(this._commentThread.state); </ins> this._commentThreadWidget.display(this.editor.getOption(EditorOption.lineHeight)); this._disposables.add(this._commentThreadWidget.onDidResize(dimension => {

Discussion:
Comments in the editor have a different color based on their resolved status. We could do something similar for the icon in the gutter, and make obvious which comment is resolved even when comments are folded. Maybe change the icon color? Or use a different icon? (also related to )
Example of how it currently looks: ! Example with adjusted colours: ! Note that colour alone is not a full solution since it is not that accessible, but I think it should be included in the final solution.
A different icon/unicode character for resolved would be good here.
Let's get done first.
Change:
/* START Keyboard Focus Indication Styles */ .monaco-shell.vs [tabindex="0"]:focus, <del> .monaco-shell.vs select:focus, </del> <ins> .monaco-shell.vs .synthetic-focus, </ins> .monaco-shell.vs input[type="button"]:focus, .monaco-shell.vs input[type="submit"]:focus, .monaco-shell.vs input[type="text"]:focus, .monaco-shell.vs textarea:focus,

Discussion:
Right now, this sort of ruins the feeling of an input with options -- it becomes more like an input followed by some toggles ! -- if you have the time
! there you go
I made you a reviewer
Nice solution. Merged.
Change:
} } <ins> class GoToBreakpointAction extends EditorAction { constructor(private isNext, opts) { super(opts); } public run(accessor: ServicesAccessor, editor: ICodeEditor, args: any): void | TPromise<void, any> { const debugService = accessor.get(IDebugService); const editorService = accessor.get(IEditorService); const currentUri = editor.getModel().uri; const currentLine = editor.getPosition().lineNumber; //Breakpoints returned from `getBreakpoints` are already sorted. const allEnabledBreakpoints = debugService.getModel().getBreakpoints({ enabledOnly: true }); //Try to find breakpoint in current file let moveBreakpoint = this.isNext ? allEnabledBreakpoints.filter(bp => bp.uri.toString() === currentUri.toString() && bp.lineNumber > currentLine)[0] : allEnabledBreakpoints.filter(bp => bp.uri.toString() === currentUri.toString() && bp.lineNumber < currentLine)[0]; //Try to find breakpoints in following files if (!moveBreakpoint) { moveBreakpoint = this.isNext ? allEnabledBreakpoints.filter(bp => bp.uri.toString() > currentUri.toString())[0] : allEnabledBreakpoints.filter(bp => bp.uri.toString() < currentUri.toString())[0]; } //Move to first possible breakpoint if (!moveBreakpoint) { moveBreakpoint = allEnabledBreakpoints[0]; } if (moveBreakpoint) { openBreakpointSource(moveBreakpoint, false, true, debugService, editorService); } return TPromise.as(null); } } class GoToNextBreakpointAction extends GoToBreakpointAction { constructor() { super(true, { id: 'editor.debug.action.goToNextBreakpoint', label: nls.localize('goToNextBreakpoint', "Debug: Go To Next Breakpoint"), alias: 'Debug: Go To Next Breakpoint', precondition: null }); } } class GoToPreviousBreakpointAction extends GoToBreakpointAction { constructor() { super(false, { id: 'editor.debug.action.goToPreviousBreakpoint', label: nls.localize('goToPreviousBreakpoint', "Debug: Go To Previous Breakpoint"), alias: 'Debug: Go To Previous Breakpoint', precondition: null }); } } </ins> registerEditorAction(ToggleBreakpointAction); registerEditorAction(ConditionalBreakpointAction); registerEditorAction(LogPointAction);

Discussion:
<!-- Do you have a question? Please ask it on --<!-- Use Help Report Issues to prefill these. --- VSCode Version: 1.14.2 OS Version: MacOS Sierra Steps to Reproduce: some breakpoints. to find shortcut to navigate between breakpoints without running the file. <!-- Launch with to check. --Reproduces without extensions: Yes
We accept PRs that fix this - especaially if more users ask for this feature request
Hi, I'm working on this. Will submit a PR soon.
Having this feature could remove the need for bookmarks, fixing
Does not work for me: set breakpoints in various files. run "Go To Next Breakpoint" action Observe: completely random behaviour. Sometimes I can only go through the breakpoints in one file, sometimes I can switch back and forth between two files. But I'm not able to step through all breakpoints in all files in deterministic order.
Dup of
Verified . Marking this as verified as well.
Change:
constructor() { super( { <del> id: 'OFF.inlineChat.discard', </del> <ins> id: 'notebook.cell.chat.discard', </ins> title: localize('discard', 'Discard'), icon: Codicon.discard, menu: {

Discussion:
open editor inline chat press ESC nothing happens This is because unconditionally steals/overrides all commands from inline chat and likely others
Change:
const isFeaturePresent = derivedOpts( { debugName: `isPresentInLine:${feature.audioCue.name}` }, (reader) => { <del> if (!this.isEnabledCache.get(feature.audioCue).read(reader)) { </del> <ins> if (!this.isEnabledCache.get(feature.audioCue).read(reader) && !this.isAlertEnabledCache.get(feature.audioCue).read(reader)) { </ins> return false; } const position = debouncedPosition.read(reader);

Discussion:
Testing "Audio Cues: Line Has Warning" is set to false. "Accessibility Alert: Warning" is set to true. I generated a warning by using the Markdown Lint extension and writing text into a new Markdown file without an h1 header. When I turn on the audio cue, the accessibility alert also alerts me that there's a warning. When I turn off the audio cue but leave the accessibility alert on, the accessibility alert does not alert me that there's a warning.
I cannot seem to trigger a warning - can you pls give more specific instructions about how to do so? !
Install the extension. Then create a .md file and paste in the following The extension should already generate a warning.
Note this issue when verifying . When I tested using a screen reader, the warning only appeared once. Based on debugging (the call happens), I believe when using a braille device, this works.
Change:
this._viewsService.openView(Markers.MARKERS_VIEW_ID); } else if (task.command.presentation && (task.command.presentation.focus || task.command.presentation.reveal === RevealKind.Always)) { this._terminalService.setActiveInstance(terminal); <del> this._terminalGroupService.showPanel(task.command.presentation.focus); </del> <ins> await this._terminalService.revealActiveTerminal(); </ins> } this._activeTasks[task.getMapKey()].terminal = terminal; this._fireTaskEvent(TaskEvent.changed());

Discussion:
Type: <bBug</bFirst, add this setting in your config: Then, I have tasks that I can run with shortcuts. For instance: When running the task, it will first open a terminal in the Terminal Panel, and then open a new tab with the terminal result. However, I unticked "Terminal" from the list of tabs that should be in the Terminal Panel. Why does it keep opening the Terminal Panel with an empty terminal before opening a new terminal tab in the editor window, where the task is running? I assume this is not a wanted solution. VS Code version: Code 1.81.1 ("", 2023-08-09T22:22:42.175Z) OS version: Windows_NT x64 10.0.
I believe this is already fixed, can you see if you can reproduce in the ? /label info-needed
Hello I just tried it and it doesn't work. The Terminal Panel always opens. I can add a new detail: the behavior is as expected if the following field is in the task: . However, I think that the expected behavior when the setting is chosen is that the Terminal Panel never opens.
Hello, any update regarding this issue?
Hello is there anything that can be done with this problem?
Change:
override isSaving(): boolean { const model = this._editorModelReference?.object; <del> if (!model || !model.isDirty() || model.hasErrorState) { return false; // require the model to be dirty and not in an error state </del> <ins> if (!model || !model.isDirty() || model.hasErrorState || this.hasCapability(EditorInputCapabilities.Untitled)) { return false; // require the model to be dirty, file-backed and not in an error state </ins> } // if a short auto save is configured, treat this as being saved

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: Insiders OS Version: Steps to Reproduce: Jupyter extension VS Code and ensure there are no documents open a new untitled notebook via the command a kernel the notebook the explorer view and you'll see that item is displayed to close VS Code or use the command to close all editors (even though there are none) and now you're prompted to save the changes, even when no notebook is open.
possible regression from the implementation of in the notebook editor - The tab should be dirty as the file is untitled
Change:
const REMOTE_TUNNEL_USED_STORAGE_KEY = 'remoteTunnelServiceUsed'; const REMOTE_TUNNEL_PROMPTED_PREVIEW_STORAGE_KEY = 'remoteTunnelServicePromptedPreview'; const REMOTE_TUNNEL_EXTENSION_RECOMMENDED_KEY = 'remoteTunnelExtensionRecommended'; <ins> const REMOTE_TUNNEL_EXTENSION_TIMEOUT = 4 * 60 * 1000; // show the recommendation that a machine started using tunnels if it joined less than 4 minutes ago interface UsedOnHostMessage { hostName: string; timeStamp: number } </ins> type ExistingSessionItem = { session: AuthenticationSession; providerId: string; label: string; description: string }; type IAuthenticationProvider = { id: string; scopes: string[] };

Discussion:
I switched from a testing profile to my default profile on my Windows machine, and got a message that my macOS machine turned on remote access, even though it's not even on. !
I didn't think of that, good catch. I use settings sync as a communication channel to learn about other machines connecting to a tunnel. I guess I need to add a timestamp as well.
Change:
"description": "%config.timeline.showAuthor%", "scope": "window" }, <ins> "git.timeline.showUncommitted": { "type": "boolean", "default": false, "description": "%config.timeline.showUncommitted%", "scope": "window" }, </ins> "git.showUnpublishedCommitsButton": { "type": "string", "enum": [

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. --A feature called Local History has been to show entries such as "File Saved" and "Undo/Redo" in the timeline of a file. Simultaneously, an item called "Uncommitted changes" has been removed apparently in I found the "Uncommitted changes" item very useful to quickly see the changes of a file since the last version. Current implementation with the local history feels unconvenient and does not reveal the same information as the previous Uncommited changes item did. It also compares the file with the current version on the disk and not the changes between the two versions (version in previous commit vs. saved version). So I would like to have a possibility to configure the timeline so that the previous behaviour showing the Uncommitted changes is restored.
cc I think it is reasonable to bring back the uncommitted changes when local history is disabled.
I second this!
Opened PR to have a setting for this. I do not think making this conditional on which timeline provider is showing is clever.
A new setting allows to enable this starting in tomorrows insider build.
Wow! That's great, thanks
/verified
Change:
isProcessSupportRegistered: boolean; readonly connectionState: TerminalConnectionState; readonly defaultLocation: TerminalLocation; <ins> readonly primaryBackendRegistered: Promise<void>; </ins> initializeTerminals(): Promise<void>; onDidChangeActiveGroup: Event<ITerminalGroup | undefined>;

Discussion:
Started in first 1.72 insider build !
It's related to not being and going this route: Probably more fallout from the change in and
View visibility changes before the backend is registered:
Change:
} async function createModel(context: ExtensionContext, outputChannel: OutputChannel, telemetryReporter: TelemetryReporter, disposables: Disposable[]): Promise<Model> { <del> const pathHint = workspace.getConfiguration('git').get<string>('path'); </del> <ins> const pathHint = workspace.getConfiguration('git').get<string | string[]>('path'); </ins> const info = await findGit(pathHint, path => outputChannel.appendLine(localize('looking', "Looking for git in: {0}", path))); const askpass = await Askpass.create(outputChannel, context.storagePath);

Discussion:
I use VSCode in three different places; my home computer, my work computer, and as a portable version I carry on a drive when I need to use a machine that doesn't have it. I use an extension to keep my settings synced up between editors, and the only issue I've encountered so far is that the git path doesn't match between any of them. On my home machine I have it installed to C of course, work likes to be funny and install it on A, and for the one on my drive I have a relative path set so that no matter what letter my drive gets, that VSCode can always find git. I already attempted to use an array myself just to see if it'd work: But VSCode reads it as one entire value. What I'd like is for it to recognize it as an array and then try each path in order until it finds Git or runs out of paths.
It is better to create an issue in extension repo with requesting the settings ignore feature.
Hy
This is a good feature request, please feel free to submit a PR.
Ah, thanks. I must have just seen the section title and completely glossed over it when I was reading through the docs.
I could help out with this feature-request, if you would like. At a glance, it looks like it would require a modification to the "createModel()" function in the "" file (line 34). We could get the "pathHint" as a string array and then possibly modify the logic inside of the "findGit()" function, or, if possible, iterate through the "pathHint" array until a valid "" value is returned. EDIT: Sorry, didn't realize a PR was already submitted...
Raised PR!
Verification The setting now accepts a list of values. The git extension must go through them one by one until it finds a usable git executable.
Change:
// If a task is missing the problem matcher the promise will never complete, so we need to have a workaround #35340 let taskStarted = false; <del> const taskKey = task.getMapKey(); </del> <ins> const getTaskKey = (t: Task) => t.getKey() ?? t.getMapKey(); const taskKey = getTaskKey(task); </ins> const inactivePromise: Promise<ITaskSummary | null> = new Promise((c) => once(e => { // When a task isBackground it will go inactive when it is safe to launch. // But when a background task is terminated by the user, it will also fire an inactive event.

Discussion:
a debug config like and a task like F5. You're all good the window. Hit F5 again, and observe the terminal with the task gets restored. get this dialog. I don't really want either of these options, it's already a background task that should be in the 'end' state  or restart the task and try to F5 again. This doesn't work either and you have to reload the window to get debugging work again
Did this work until recently?
Also doesn't a pre launch task get run every time one debugs?
I think so... I honestly don't use preLaunchTask's as much as I should due to a history of papercuts, but I definitely haven't seen this notification before. Yea, but if it's a background task that's already running it shouldn't get run again. I'm not sure how much of this issue is in debug vs tasks
The task stops running on reload of the window because the terminal is killed. That's why it has to run again on window reload. Perhaps the solution is to not reconnect (IE restart) prelaunch tasks.
Currently, we persist any background task that has problem matchers.
Should have been fixed with , pls reopen if not
I can still repro in today's Insiders
are you reproducing using the task above?
I'm using a simpler task following the other issue:
works when I use . So has to do with debugging specifically
Change:
const outputOptions = { linesLimit: ctx.settings.lineLimit, scrollable: outputScrolling, trustHtml: false, linkifyFilePaths: ctx.settings.linkifyFilePaths }; const content = createOutputContent(outputInfo.id, text, outputOptions); content.classList.add('output-plaintext'); <del> if (ctx.settings.outputWordWrap) { content.classList.add('word-wrap'); } </del> <ins> outputElement.classList.toggle('word-wrap', ctx.settings.outputWordWrap); disposableStore.push(ctx.onDidChangeSettings(e => { outputElement.classList.toggle('word-wrap', e.outputWordWrap); })); </ins> content.classList.toggle('scrollable', outputScrolling); outputElement.appendChild(content);

Discussion:
[ ] Notebooks (.ipynb files) [X] Interactive Window and/or Cell Scripts (.py files with #%% markers)Turn on in Turn on in Open an interactive window and run the following code snippet Version: 1.89.0 Commit: Date: 2024-05-01T02:08:25.066Z Electron: 28.2.8 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Linux x64 6.8.0-76060800daily20240311-generic v2024.4.0 Python v3.12.1 No response No response Local
Change:
*  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <ins> import * as nls from 'vs/nls'; </ins> import { JSONSchemaType } from 'vs/base/common/jsonSchema'; <ins> import { Color } from 'vs/base/common/color'; </ins> import { isArray } from 'vs/base/common/types'; <del> import * as nls from 'vs/nls'; </del> import { IConfigurationPropertySchema } from 'vs/platform/configuration/common/configurationRegistry'; type Validator<T> = { enabled: boolean, isValid: (value: T) => boolean; message: string };

Discussion:
Testing The setting functions properly when I enter an invalid color: it defaults back to a red indicator. But I was thinking perhaps adding a warning message to users that they have entered an invalid color (like the warning for invalid ), and/or auto-filling the entry back to red would emphasize to them why their indicator has turned red again.
The setting is of type string, with which provides a good error message while editing the setting in the JSON file. As far as I can tell there is no way to currently get the same experience in the settings UI. I do agree that it would be nice to have a better experience for editing color settings in the settings UI. have we ever considered adding a type/validation for a setting?
We have to implement these individually and that format isn't implemented yet
It would be a feature request for the settings editor, probably easy, feel free to assign it to me
would you be opened for me to submit a pull request? I would be happy to take a stab at this in my free time to learn more about our codebase.
Sure! Here are our string validations:
Change:
return new vscode.SymbolInformation(text, vscode.SymbolKind.Module, '', location); }); <del> return symbols; </del> } }  No newline at end of file

Discussion:
The current behaviour of Code's Markdown previewer when clicking a relative link is actually a bit cryptic: it attempts to open the file relative to the user's home path with the system's application of choice. This will commonly lead to errors being dispatched because the file cannot be found. If I have the following Markdown: Clicking the link will make my system attempt to open . Given that even , I strongly believe that they should be supported here. Such links should instead be relative to the markdown file's directory and open the linked file using the Code editor.
+1; opening markdown files by clicking a (relative) link in the preview would be a very powerful feature both for writing developer documentation (split into individual files by topic) for a project, but also for viewing that documentation.
Related: Is this behavior something vscode could change for its markdown preview?
Change:
l10n.t({ message: 'Publish Branch', comment: ['{Locked="Branch"}', 'Do not translate "Branch" as it is a git term'] })), arguments: [this.repository.sourceControl], }, <del> enabled: !this.state.isSyncInProgress </del> <ins> enabled: !this.state.isCheckoutInProgress && !this.state.isSyncInProgress </ins> }; }

Discussion:
Type: <bBug</bto an existing branch from . Control Side panel then shows Sync Changes button. , clicking on Sync button causes to commits from previous branch to merge into current branch VS Code version: Code 1.74.3 (, 2023-01-09T16:59:02.252Z) OS version: WindowsNT x64 10.0. Modes: Sandboxed: No Remote OS version: Linux x64 5.15.79.1-microsoft-standard-WSL2 <details<summarySystem Info</summary </details<details<summaryExtensions (13)</summaryExtensionVersion ------ laravel-blade1.1.2 jupyter-keymap1.0.0 remote-wsl0.72.0 alignment0.3.0 vscode-log-viewer0.12.2 vscode-intelephense-client1.9.4 gitlens13.2.0 cmake-tools1.13.44 cpptools1.13.9 cpptools-extension-pack1.3.0 laravel-blade1.32.0 cmake0.0.17 php-debug1.30.0 (2 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --