jiebi/CodeConvo huggingface dataset:
Change:
const ReconnectionType = 'Task'; <del> class InstanceManager { private _currentInstances: number = 0; private _counter: number = 0; addInstance() { this._currentInstances++; this._counter++; } removeInstance() { this._currentInstances--; } get instances() { return this._currentInstances; } get counter() { return this._counter; } } </del> class VariableResolver { private static _regex = /${(.*?)}/g; constructor(public workspaceFolder: IWorkspaceFolder | undefined, public taskSystemInfo: ITaskSystemInfo | undefined, public readonly values: Map<string, string>, private _service: IConfigurationResolverService | 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.78.0 and older and (with slightly different behavior) insiders as of 5/4/2023 OS Version: MacOS 13.3.1 (a) Steps to Reproduce: Use these commands to produce and launch a suitable project: First bug: in either 1.78.0 or the nightly, use to launch , then hit Cmd-Shift-B to launch . You end up with two copies of running, when it should have an implicit of 1. Hit Cmd-Shift-B again, and it will tell you you've hit the instance limit. The problem here is that dependent tasks don't count towards the instance limit. Second bug: Now add to , and repeat the above. There is no change in the nightly (as you might expect), but surprisingly 1.78.0 now reports that it can't start a second copy. But thats just a bug; if you change it to and repeat, 1.78.0, still tells you it can't launch a second copy. This bug was fixed by , so I'm just including it for completeness. Third bug: Add to . Now hit Cmd-Shift-B to launch , then use to launch . will (correctly) re-use the already running task, rather than launching a new one. Now kill all the terminals (to make the next step less confusing). Hit Cmd-Shift-B to launch sleeper, wait 5 seconds, and hit Cmd-Shift-B again, wait another 5 seconds for the first task to finish, and then run .

Now, although the second task is still running, starts a new one. The issue here is that when looking for an existing dependent task, uses the task's , which only matches the first instance of a task with greater than 1 (and here, that task has already finished).
Change:
private readonly _onDidChangeOutputItems = this._register(new Emitter<void>()); readonly onDidChangeOutputItems: Event<void> = this._onDidChangeOutputItems.event; <del> private readonly _onDidChangeContent = this._register(new Emitter<'content' | 'language' | 'mime'>()); readonly onDidChangeContent: Event<'content' | 'language' | 'mime'> = this._onDidChangeContent.event; </del> <ins> private readonly _onDidChangeContent = this._register(new Emitter<'content' | 'language' | 'mime' | { type: 'model'; event: IModelContentChangedEvent }>()); readonly onDidChangeContent: Event<'content' | 'language' | 'mime' | { type: 'model'; event: IModelContentChangedEvent }> = this._onDidChangeContent.event; </ins> private readonly _onDidChangeMetadata = this._register(new Emitter<void>()); readonly onDidChangeMetadata: Event<void> = this._onDidChangeMetadata.event;

Discussion:
Testing 1) I started with 2) I ran the first two cells and then committed 3) I reran cell 1 4) I changed cell 3 to use different file names 5) I opened the notebook diff from the SCM view -(a) cell metadata changes were shown -(b) changes to cell 3 where hidden -(c) toggling the "Toggle Collapse Unchanged Regions" didn't do anything !
I was unable to reproduce (b) reliably.
Verifier: Make the workbench small enough so when opening only the first cells show up Run the first two cells Commit/stage the file Scroll to the last cell, make changes, save (if you don't have auto save) Open the diff view, the change in the last cell should be rendered.
cannot test this due to
Change:
private windowControls: Builder; private maxRestoreControl: Builder; private appIcon: Builder; <del> private menubarPart: MenubarPart; </del> <ins> private menubarPart: MenubarControl; </ins> private menubar: Builder; private resizer: Builder;

Discussion:
I like how menu and title part are now merged, but I feel it could merge even more to reflect the structure in the DOM: move all of into (rename to and merge the CSS into the existing one) rename to something like do not extend from in , since this is no longer a workbench managed part
Change:
} private async npmjsView(pack: string): Promise<ViewPackageInfo | undefined> { <del> const queryUrl = 'https://api.npms.io/v2/package/' + encodeURIComponent(pack); </del> <ins> const queryUrl = 'https://registry.npmjs.org/' + encodeURIComponent(pack); </ins> try { const success = await this.xhr({ url: queryUrl, agent: USER_AGENT }); const obj = JSON.parse(success.responseText); <del> const metadata = obj?.collected?.metadata; if (metadata) { return { description: metadata.description || '', version: metadata.version, homepage: metadata.links?.homepage || '' }; } </del> <ins> return { description: obj.description || '', version: Object.keys(obj.versions).pop(), homepage: obj.homepage || '' }; </ins> } catch (e) { //ignore

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. --Hi So I noticed that the autocomplete is slow to update or can sometimes return wrong/outdated information. For example: if a package releases a patch / new version, it can take hours, maybe days until the autocompletion also suggests that version. My second concern about this is that it's actually using which is not run by npm and they have a separate which users are not aware of when using this VS Code extension. Source code From a privacy policy perspective / GDPR and also reliability issues it seems appropriate to remove all usage of this third-party API and only use npm's. Relevant past issues about npms from this repository (I found many more in other repositories):
To verify, check that code completion in dependencies of work as expected. run VSCode in a environment where is not on the path, and use hovers over dependencies of . as dependency and verify that the hover shows the actual latest version (currently 15)
Change:
/** * The minimum size in pixels of a split pane. */ <del> SplitPaneMinSize = 180, </del> <ins> SplitPaneMinSize = 80, </ins> /** * The number of cells the terminal gets added or removed when asked to increase or decrease * the view size.

Discussion:
!
Can you pls provide repro steps? Not sure what that image is indicating
the panel to make the pwsh terminal really small the VS code window to reduce its width so there's a scrollbar at the bottom :bug: The prompt seems to cover the scrollbar
Can repro, pretty minor issue but solving this could fix some other layout edge cases: !
This only happens when tabs are showing
It also only starts when the terminal is < 180px
Caused by this minimum:
I can still get the issue to occur on the latest Insiders on Windows. It is a small issue though, so feel free to mark it as a wontfix. !
that's the overall window's scroll bar, not the terminal view's scroll bar. as won't fix as things are expected to get a little wonky when the window is too small for the workbench.
Change:
begin if IsNotBackgroundUpdate() then StopTunnelServiceIfNeeded(); <del> Result := '' </del> <ins> if IsNotBackgroundUpdate() and not StopTunnelOtherProcesses() then Result := '{#NameShort} is still running a tunnel process. Please stop the tunnel before installing.' else Result := ''; </ins> end; // VS Code will create a flag file before the update starts (/update=C:foobar)

Discussion:
Running can block the VS Code update on Windows as it prevents deleting the parent folder. The updater needs a way to terminate it, and a mutex to know that it needs to be terminated.
Change:
private _removeAllDecorations(): void { const currentEditors = this.codeEditorService.listCodeEditors(); <ins> const deleteURI = []; </ins> // iterate over editors and store models in currentModels for (const editor of currentEditors) { if (!editor.hasModel()) {

Discussion:
There is a strange issue in vs code when i split the window, and click on any code or syntax , it will highlight similar code/syntax but the highlig ht is persistent, it wont go away, it works fine in the first window but when it gets split to the right it doesnt work if i click anywhere else in the window, in the left side the currentCrew is highlighted now, it just wont clear. sys info Version: 1.84.2 (Universal) Commit: Date: 2023-11-09T10:52:33.687Z (1 wk ago) Electron: 25.9.2 ElectronBuildId: Chromium: 114.0.5735.289 18.15.0 V8: 11.4.183.29-electron.0 OS: Darwin x64 21.6.0 <img width="1680" alt="Screen Shot 2023-11-22 at 9 42 52 AM" src=""
could you help with triaging this issue? Thanks!
Change:
'notebook-markdown-line-height': typeof this.options.markdownLineHeight === 'number' && this.options.markdownLineHeight > 0 ? `${this.options.markdownLineHeight}px` : `normal`, 'notebook-cell-output-font-size': `${this.options.outputFontSize || this.options.fontSize}px`, 'notebook-cell-output-line-height': `${this.options.outputLineHeight}px`, <del> 'notebook-cell-output-max-height': `${this.options.outputLineHeight * this.options.outputLineLimit}px`, </del> <ins> 'notebook-cell-output-max-height': `${this.options.outputLineHeight * this.options.outputLineLimit + 2}px`, </ins> 'notebook-cell-output-font-family': this.options.outputFontFamily || this.options.fontFamily, 'notebook-cell-markup-empty-content': nls.localize('notebook.emptyMarkdownPlaceholder', "Empty markdown cell, double-click or press enter to edit."), 'notebook-cell-renderer-not-found-error': nls.localize({

Discussion:
Testing Opened just now and saw the shadow on the top of the executed cell and the scroll bar on the right: ! Similar to this issue I'm on zoom level 1, see my settings here:
Change:
encoding?: string; log?: boolean; cancellationToken?: CancellationToken; <ins> progress?: Progress<{ message?: string, increment: number }>; </ins> } <del> async function exec(child: cp.ChildProcess, cancellationToken?: CancellationToken): Promise<IExecutionResult<Buffer>> { </del> <ins> async function exec(child: cp.ChildProcess, cancellationToken?: CancellationToken, progress?: Progress<{ message?: string, increment: number }>): Promise<IExecutionResult<Buffer>> { </ins> if (!child.stdout || !child.stderr) { throw new GitError({ message: 'Failed to get stdout or stderr from git process.' }); }

Discussion:
<!-- Please search existing issues to avoid creating duplicates. --When downloading a GIT repository should indicate the percentage of download. <!-- Describe the feature you'd like. --
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.484 --<!-- potentialduplicatescomment --
I would like to take this.
Change:
call(command: 'log', arg: [string, string[]]): TPromise<void>; call(command: 'showItemInFolder', arg: string): TPromise<void>; call(command: 'openExternal', arg: string): TPromise<boolean>; <del> call(command: 'startCrashReporter', arg: Electron.CrashReporterStartOptions): TPromise<void>; </del> <ins> call(command: 'startCrashReporter', arg: CrashReporterStartOptions): TPromise<void>; </ins> call(command: string, arg?: any): TPromise<any>; }

Discussion:
There a few usages of in which is against our layering rules. I'd suggest to move the whole file into an folder
Unfortunately this might not be so simple given 62 references of which some would also need to be lifted up... An alternative would be to define similar interfaces that contain the properties we actually need instead of depending on Electron.
Also: and
I'd favour to lift them all instead blowing up our code size
with our current code organisation I cannot express the proper way for these references. Here are the issues: Moving this service into src/workbench This was my first idea, but it doesn't work. There are references from (our main side of things) into the windows service because the main side basically implements that service. We should not depend from to other than the file that we load into a window. The only way out I see here is to have something like for services that are shared between and . Moving the service from common into electron-browser This will not help because we have depending on the windows service and thus we would reach from into . The only option would be to introduce a new layer that contains the service and that can be accessed by and . To unblock your 2-CU scenario and to use ES6 features in workbench I suggest to that will inline the Electron references. However if we ever want to tackle this properly it needs some serious new code-structure layout on disk. Thoughts?
Yeah, makes sense... It's unfortunate but reality...
Change:
private skipRunningTask: boolean; private previousState: debug.State; private fetchThreadsSchedulers: Map<string, RunOnceScheduler>; <ins> private openDebugOptions: "neverOpen" | "openOnSessionStart" | "openOnFirstSessionStart" | "openOnDebugBreak"; </ins> constructor( @IStorageService private storageService: IStorageService,

Discussion:
Currently if I start my App with another View than Debug View open and the debugger breaks because of a break point or an exception I have to manually switch to the debug view. It would be incredible if I could set an option to display the debug view in that cases automatically Thanks for your great Work!
This is a fair feature request. If we get more users asksing for this we would be willing to accept a PR that fixes this. Thanks
Why only as PR? I guess it will be only a very small change but I'm not a Typescript dev and have no idea about the internal structure of VS Code. For your team this should be a quick fix.
Because we encourage people to be invovled in our open source project Code pointer The following setting should be updated to also cover this case  to also have the following option "openOnDebugBreak" No typescript knowledge is needed for this PR fyi
Change:
return; } <del> async clone(url: string, parentPath: string, cancellationToken?: CancellationToken): Promise<string> { </del> <ins> async clone(url: string, parentPath: string, progress: Progress<{ message?: string, increment: number }>, cancellationToken?: CancellationToken): Promise<string> { </ins> let baseFolderName = decodeURI(url).replace(/^.*//, '').replace(/.git$/, '') || 'repository'; let folderName = baseFolderName; let folderPath = path.join(parentPath, folderName);

Discussion:
<!-- Please search existing issues to avoid creating duplicates. --When downloading a GIT repository should indicate the percentage of download. <!-- Describe the feature you'd like. --
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.484 --<!-- potentialduplicatescomment --
I would like to take this.
Change:
const ctxIsActionEnabled = SCMInputContextKeys.ActionIsEnabled.bindTo(this.toolbarContextKeyService); this.repositoryDisposables.add(input.repository.provider.onDidChangeResources(() => ctxIsActionEnabled.set(input.repository.provider.groups.some(r => r.resources.length > 0)))); <ins> ctxIsActionEnabled.set(input.repository.provider.groups.some(r => r.resources.length > 0)); </ins> const actionRunner = instantiationService2.createInstance(SCMInputWidgetActionRunner, input); this.repositoryDisposables.add(actionRunner);

Discussion:
a change to a file the file another view so that the SCM view isn't visible the window sparkle will be disabled when you open the SCM view
nice catch! Thank you!
Change:
private createCommentEditor(editContainer: HTMLElement): void { const container = dom.append(editContainer, dom.$('.edit-textarea')); <del> this._commentEditor = this.instantiationService.createInstance(SimpleCommentEditor, container, SimpleCommentEditor.getEditorOptions(), this.parentThread); </del> <ins> this._commentEditor = this.instantiationService.createInstance(SimpleCommentEditor, container, SimpleCommentEditor.getEditorOptions(this.configurationService), this.parentThread); </ins> const resource = URI.parse(`comment:commentinput-${this.comment.uniqueIdInThread}-${Date.now()}.md`); this._commentEditorModel = this.modelService.createModel('', this.languageService.createByFilepathOrFirstLine(resource), resource, false);

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. --When replying to a code review comment, the reply editor unconditionally auto-closes brackets. We have had complaints from users about not affecting this behavior (when set to ). We are not 100% convinced that should apply here, since conceptually, editing comments is different from editing code, so a separate setting for comments could be more flexible, but maybe also unnecessarily complex. discusses specifying a on to control other behavior like syntax highlighting (mainly plaintext vs Markdown). Since already supports using per-language settings, it might work well enough to just make also take effect in the comment reply editor.
it seems that only applies to the main editor and not also other editors. Is this expected? I took a look and from what I can see all will respect language configurations for auto closing pairs. It's only when you try to set it something other than that it get's ignored.
I don't know much about that setting, I'd need to debug too.
do you know the answer to
To allow for most flexibility, the code editor doesn't listen to the by itself. That job is always left to the place which instantiates editors. For example, the workbench listens to the and forwards all values to the editor instaces.
Change:
} private updateForLayout(element: MarkdownCellViewModel, templateData: MarkdownCellRenderTemplate): void { <del> // templateData.focusIndicatorLeft.style.height = `${element.layoutInfo.indicatorHeight}px`; </del> templateData.focusIndicatorBottom.style.top = `${element.layoutInfo.totalHeight - BOTTOM_CELL_TOOLBAR_GAP - CELL_BOTTOM_MARGIN}px`; const focusSideHeight = element.layoutInfo.totalHeight - BOTTOM_CELL_TOOLBAR_GAP;

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. --- VS Code Version: 1.54-Insiders OS Version: macOS open a GitHub issue notebook cmd+shift+o navigate down only code cells are highlighted https://user- <!-- 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 direct to the extension publisher. The 'Help Report Issue' dialog can assist with this. --

Verifying in the vscode repo across some of the markdown headers ! If I put them into edit mode, then I see the background change on multiselect
I guess you don't see this issue when commenting out from the workspace setting?
Yeah, that's correct! I see everything get highlighted as expected when that setting is off
The root cause is that the for webview backed markdown cells has a height of zero. This element gets the correct background color during selection, but is not visible due to the height. We have zero height so that you can click through to the webview instead of to the cell I will prototype telling the cell in the webview if it is selected or not. Then we can add styling inside the webview to show selection state
Change:
return; } <del> this._widget.value.layout(dimension, this._rootElement, position); </del> <ins> if (this.isVisible()) { this._widget.value.layout(dimension, this._rootElement, position); } </ins> } //#endregion

Discussion:
<!-- Please search existing issues to avoid creating duplicates. --- VS Code version: 1.77.1 Jupyter Extension version (available under the Extensions sidebar): v2023.3. Python Extension version (available under the Extensions sidebar): v2023.6.0 OS (Windows Linux distro) and version: Windows 10 professional 22H2 Python and/or Anaconda version: Miniconda3 Windows 64-bit Type of virtual environment used (N/A ...): conda Jupyter server running: Local When I toggle panel (Ctrl+J) and maximize it, the panel should cover the all the area on the right. However, if I first open a .ipynb file and then toggle panel and maximize it, the toolbar is on top of the maximized panel. [NOTE: Self-contained, minimal reproducing code samples are extremely helpful and will expedite addressing your issue] any folder. a .ipynb file and open it. panel (Ctrl+J) and maximize it. my computer, I found the Jupyter notebook toolbar is on top of the maximized panel. Here is a GIF to show what happens. ! <!-- Note: If you think a GIF of what is happening would be helpful, consider tools like , or . --<details<summaryOutput for <codeJupyter</codein the <codeOutput</codepanel (<codeView</code→<codeOutput</code, change the drop-down the upper-right of the <codeOutput</codepanel to <codeJupyter</code) </summary<p</p</details
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.77.2. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
The notebook widget is rendered outside of the grid view, and when maximizing the panel/terminal, it's not set to invisible or having it dimension shrunk to zero. Is this a regression from the grid system?
I've updated vscode to the lasted stable version 1.77.2 and the bug is still there.
I did not make any changes here recently. made some in the housekeeping iterations. Can you verify when this started reproducing?
When expanding the panel fully, we're effectively hiding the EditorPart and thus the EditorGroup within.

Right now, we're only setting its height to be 0, but , so they won't ever respect that 0 value. The real action here is to really hide the contents of the view. We already do this for the panel itself: https://user-
Is this not a duplicate of ?
It's almost been one year of snowplowing. Let's move this to the Backlog if we have no plans on fixing it in the next week.
This cannot be fixed purely on the grid side of things because the notebook editor does not live in the grid but is controlled by something that does. We tell the editor layout that is no longer visible and its height is 0. The editor tells the notebook that it is no longer visible but gives it a height of 13. If the editor told the notebook the right height, things would work, or if the notebook listened to visibility changes and hid itself things would work.