jiebi/CodeConvo huggingface dataset:
Change:
editor.setScrollTop(visiblePositionScrollTop + this._visiblePositionScrollDelta); } } <ins> public restoreRelativeVerticalPositionOfCursor(editor: ICodeEditor): void { const currentCursorPosition = editor.getPosition(); if (!this._cursorPosition || !currentCursorPosition) { return; } const offset = editor.getTopForLineNumber(currentCursorPosition.lineNumber) - editor.getTopForLineNumber(this._cursorPosition.lineNumber); editor.setScrollTop(editor.getScrollTop() + offset); } </ins> }

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. --I would like an option to virtually prevent vscode from pushing down the current focused line when new lines are automatically . For example, when I click to automatically add an import, vscode adds the import line and the current focused line is scrolled down. This causes a distraction because the line I'm working on is moved away even tho I didn't want to scroll. Here is a gif showing how IntelliJ behavior when new lines are automatically above the current selected line. Note that after the import statement is the current line is virtually kept the same (the line number do change, of course, but the scroll is set to a new position in order to respect the old position): ! The next gif show how vscode pushes down the code and loses the previous virtual position: ! Would be possible to add an option to vscode behavior like IntelliJ in this situation?
Technically, the editor does not scroll. The scrollTop is maintained. It just happens that everything is pushed down by the auto-import which inserts a line at the top of the file. This can be done from the outside if you know there are edits unrelated to the current cursor position in the suggestion e.g.:
I'd like to help out with this! Any additional pointers would be appreciated.
This is where the first potential edit happens: and this is where it is done: So, those two places should be used to capture and restore the scroll state
to verify: down a bit a typescript suggestion that adds an import sure that the scroll position stays stable (lines aren't pushed down)
Change:
} private updateStatusbarEntry(trusted: boolean): void { <del> this.statusbarEntryAccessor.value?.update(this.getStatusbarEntry(trusted)); this.statusbarService.updateEntryVisibility(this.entryId, !trusted); </del> <ins> if (trusted && this.statusbarEntryAccessor.value) { this.statusbarEntryAccessor.clear(); return; } if (!trusted && !this.statusbarEntryAccessor.value) { const entry = this.getStatusbarEntry(trusted); this.statusbarEntryAccessor.value = this.statusbarService.addEntry(entry, this.entryId, StatusbarAlignment.LEFT, 0.99 * Number.MAX_VALUE /* Right of remote indicator */); } </ins> } //#endregion

Discussion:
While investigating the issue - - I figured out that entry is of size 46 KB and has around 1K properties. We should revisit this and understand why there are that many workspaceTrust entries and minimise it.
Workspace trust status bar entry does 2 things that are questionable: each entry gets a random identifier [0] the entry is programmatically hidden even if not created [1] If as a user I decide to hide the entry, I would hide it everywhere. [0] [1]
could you please chime in on this as I remember you working on this. Thanks!
This was the relevant message for what we were trying to achieve with the current design
Would it at least be possible to only create the entry when visible and if not, do not create and thus hiding is not needed? The underlying issue here is large amount of state accumulating for hidden trust entries. Typically only a user gesture would set the visibility to hidden, not programmatic as its done here.
I realize that justification talks about unspecified trust state, that is no longer a concept. We also have the banner now. Ok so we can: Only create an entry (unique id), if the entry will be visible (i.e. untrusted). User can hide with status bar UX. Con: User cannot make the entry visible in a trusted workspace if it was never loaded untrusted. We could go to a single entry id, so that visibility is linked across workspaces. Con: trusted workspaces would show if the user wanted to see when untrusted workspace. Single entry id, but dispose the entry when the workspace is trusted. Con: Can't manage the entry when in a trusted window (who cares, right?) I opened a PR for the last one
Yes, thats a great change, even though it causes a slight regression for people in untrusted workspaces that have explicitly hidden the indicator. It will now come back, but then its also easy to hide it again. Given the status bar entry ID is now no longer dynamic, we could actually now clean up the very large state in by removing all entries that are dynamic. I will see to make such a change. Thanks!
Change:
assert.ok(!error); }); <ins> test('writeFile - no error when writing to same non-existing folder multiple times different new files', async () => { const newFolder = URI.file(join(testDir, 'some', 'new', 'folder')); const file1 = joinPath(newFolder, 'file-1'); const file2 = joinPath(newFolder, 'file-2'); const file3 = joinPath(newFolder, 'file-3'); // this essentially verifies that the mkdirp logic implemented // in the file service is able to receive multiple requests for // the same folder and will not throw errors if another racing // call succeeded first. const newContent = 'Updates to the small file'; await Promise.all([ service.writeFile(file1, VSBuffer.fromString(newContent)), service.writeFile(file2, VSBuffer.fromString(newContent)), service.writeFile(file3, VSBuffer.fromString(newContent)) ]); assert.ok(service.exists(file1)); assert.ok(service.exists(file2)); assert.ok(service.exists(file3)); }); test('writeFile - error when writing to folder that is a file', async () => { const existingFile = URI.file(join(testDir, 'my-file')); await service.createFile(existingFile); const newFile = joinPath(existingFile, 'file-1'); let error; const newContent = 'Updates to the small file'; try { await service.writeFile(newFile, VSBuffer.fromString(newContent)); } catch (e) { error = e; } assert.ok(error); }); </ins> const runWatchTests = isLinux; (runWatchTests ? test : test.skip)('watch - file', done => {

Discussion:
Could be related to the Untitled file title changes. The tests hang here: ! /cc
The same on macOS.

This was nicely uncovered by our internally implements a logic that throws an error in case multiple calls are made in parallel and a folder was created in the meantime. This is due to the fact that throws when a directory already exists. However, node's own implementation does not throw with the recurse option set to . We should align our implementation and not throw when a folder already exists.
Verification: run our smoke test and see how the hot-exit tests succeed.
Change:
return sorted; } <del> private extname(file: URI): string { const ext = resources.extname(file); if (ext.length === 0) { const basename = resources.basename(file); if (basename.startsWith('.')) { return basename; } } else { return ext; } return ''; } </del> private filterFile(file: URI): boolean { if (this.options.filters) { <del> const ext = this.extname(file); </del> for (let i = 0; i < this.options.filters.length; i++) { for (let j = 0; j < this.options.filters[i].extensions.length; j++) { const testExt = this.options.filters[i].extensions[j]; <del> if ((testExt === '*') || (ext === ('.' + testExt))) { </del> <ins> if ((testExt === '*') || (file.path.endsWith('.' + testExt))) { </ins> return true; } }

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: 1.77.3 OS Version: Ubuntu 22.04.2 LTS Steps to Reproduce: the open dialog options filter to accept files: const openDialogOptions: vscode.OpenDialogOptions = { canSelectFiles: true, canSelectFolders: false, canSelectMany: false, openLabel: 'Select', filters: { 'targz': [''] } }; await (openDialogOptions); the extension in Remote-SSH mode and try to select a file
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.81.1. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
Reproducible in VS Code 1.81.1 as well.
Change:
} class OutputEditor extends AbstractTextResourceEditor { <ins> private readonly resourceContext: ResourceContextKey; </ins> constructor( @ITelemetryService telemetryService: ITelemetryService,

Discussion:
! Observed by
Do you have special steps for this? Do you see this with all output channels or only the MySQL one? Can you do the following when this happens: F1 Inspect Context Keys and then share what's printed on dev tools console
No specific repro steps - this happened immediately after upgrading in a test session - will try to repo on desktop doing it and report back!
Hi there, I think I received this email erroneously? I'm Nick Carver, but it looks like the original msg was from a Nick Craver. Cheers, Nick.
any new insights here?
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
Apologies I was on vacation for a bit - haven't been able to repro this since the latest update landed (but also have to unfortunately rebuild the machine we saw it on for terribad Windows reasons). Recommend we close this and if I can repro, will poke with more info :)
Leaving this open since saw this once but forgot to inspect context keys ()
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
steps: empty profile have a file under merge-conflict open the output view open the merge editor for the conflict file :bug: output view shows the merge overlay button
Change:
unhideMarkdownPreview(cell: ICellViewModel): Promise<void>; hideMarkdownPreview(cell: ICellViewModel): Promise<void>; removeMarkdownPreview(cell: ICellViewModel): Promise<void>; <ins> updateMarkdownPreviewSelectionState(cell: ICellViewModel, isSelected: boolean): Promise<void>; </ins> /** * Render the output in webview layer

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:
disposables.dispose(); } }); <del> } </del>  No newline at end of file <ins> } </ins>

Discussion:
Testing More of a feature request, it would be great if you didn't supply a category when running that it would print out a list of categories available (like below). I could always go to the extension viewlet and run but that's an extra step and would be nice to show the options inline. <img width="276" alt="image" src="https://user-"
Also tried running this for extension packs and tried to guess the format, printing out the category names would've helped here: <img width="604" alt="image" src="https://user-"

Testing When entering a category that does not exists (e.g. 'theme' instead of 'themes') then there is no feedback that the category does not exist.
Change:
import { CancellationToken } from 'vs/base/common/cancellation'; import { IDisposable } from 'vs/base/common/lifecycle'; import { URI } from 'vs/base/common/uri'; <ins> import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService'; </ins> import { score } from 'vs/editor/common/languageSelector'; import { localize } from 'vs/nls'; import { ISubmenuItem } from 'vs/platform/actions/common/actions';

Discussion:
Testing My extension's provider is not receiving the within the passed to its I think this's caused by this -

Testing takes a but doesn't respect the selector's . I created an extension which uses Share Provider API, but its share contribution wasn't being invoked. It seems the language isn't being passed - see 3rd arg being an empty string .
I observe the same, using: registers the share provider, however as soon as I add a language, this is no longer the case
Change:
padding-left: 3px; } <ins> .customview-tree .monaco-list .monaco-list-row.selected .custom-view-tree-node-item .custom-view-tree-node-item-checkbox { background-color: var(--vscode-checkbox-selectBackground); border: 1px solid var(--vscode-checkbox-selectBorder); } </ins> .customview-tree .monaco-list .monaco-list-row .custom-view-tree-node-item .custom-view-tree-node-item-checkbox { width: 16px; height: 16px;

Discussion:
With default Dark+ theme: !
Hi, I want to work on this, and I think is the file that needs to be changed, could you please advise on this? Thanks!
Change:
} ], "git.ignoreLimitWarning": true <del> } </del>  No newline at end of file <ins> } </ins>

Discussion:
Found no duplicated for this one Currently it's hardcoded I propose a config entry for long line length If you're object, I'd like to create pull request for this feature Your thoughts?
I think this makes sense as a workspace setting that defaults to the current value. Feel free to make a PR!
Change:
handler: async (accessor: ServicesAccessor, _: string, context: CallStackContext | unknown) => { const textResourcePropertiesService = accessor.get(ITextResourcePropertiesService); const clipboardService = accessor.get(IClipboardService); <del> const frame = getFrame(accessor.get(IDebugService), context); </del> <ins> const debugService = accessor.get(IDebugService); const frame = getFrame(debugService, context); </ins> if (frame) { const eol = textResourcePropertiesService.getEOL(frame.source.uri); await clipboardService.writeText(frame.thread.getCallStack().map(sf => sf.toString()).join(eol));

Discussion:
Issue Type: <bBug</bI wanted to be able to copy the call stack through a keyboard shortcut so I created a binding for but found that it doesn't do anything. I tried different combinations of clauses and ensured that my keystroke was not being captured by something else but still no luck. Invoking the command directly in my extension like so also did not work and the thenable resolved to . The comment and post imply this should work outside of the callstack context so I've filed this as a bug as opposed to a feature request for a keyboard shortcut to copy the call stack. VS Code version: Code 1.63.2 (Universal) (, 2021-12-15T09:37:28.172Z) OS version: Darwin x64 21.2.0 Restricted Mode: No <details<summarySystem Info</summary </details<details<summaryExtensions (15)</summaryExtensionVersion ------ vscode-bazel0.5.0 arm1.5.2 vscode-diff1.4.2 fig0.10.1 misc-additions1.0.2 lldb-vscode0.1.0 jupyter2021.11. remote-ssh0.68.0 remote-ssh-edit0.68.0 vscode-remote-extensionpack0.21.0 cpptools1.7.1 errorlens3.4.1 vim1.21.10 clang-format1.9.0 material-theme3.13.6 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
The comment in code applies to the commands in general but that particular command can't be called globally currently. It copies a callstack from one thread and there can be multiple callstacks available so one has to selected to copy. Do you want the keybinding to work on the focused thread, or does that not help?
Yes, defaulting to the focused thread was my expectation.
Change:
export function anyScore(pattern: string, lowPattern: string, patternPos: number, word: string, lowWord: string, wordPos: number): FuzzyScore { const max = Math.min(13, pattern.length); for (; patternPos < max; patternPos++) { <del> const result = fuzzyScore(pattern, lowPattern, patternPos, word, lowWord, wordPos, { firstMatchCanBeWeak: false, boostFullMatch: true }); </del> <ins> const result = fuzzyScore(pattern, lowPattern, patternPos, word, lowWord, wordPos, { firstMatchCanBeWeak: true, boostFullMatch: true }); </ins> if (result) { return result; }

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: (2022-12-06) OS Version: Steps to Reproduce: that returns an item with and (filtertext doesn't matter, as long as it matches whatever is typed) should be , but you get (the o should be highlighted and is not) some examples from typescript (typing in ): <img width="289" alt="Screenshot 2022-12-06 at 10 41 36 PM" src="https://user-"<img width="351" alt="Screenshot 2022-12-06 at 10 41 03 PM" src="https://user-"
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.73.1. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
Change:
class: ThemeIcon.asClassName(settingsRemoveIcon), enabled: true, id: 'workbench.action.removeListItem', <del> label: this.getLocalizedStrings().deleteActionTooltip, </del> <ins> label: '', </ins> tooltip: this.getLocalizedStrings().deleteActionTooltip, run: () => this._onDidChangeList.fire({ originalItem: item, item: undefined, targetIndex: idx }) });

Discussion:
When hovering over any setting with the "object" structure there is a rendering issue on the right side of the row. See screenshot attached. !
Edit: this effects all settings with type "object", not related to screen readers. Repros with all screen reader related apps turned off.
I now but this is it intel they give my money
Change:
clearTimeout(handle); const onMessage = new BufferedEmitter<VSBuffer>(); <del> port.onmessage = ((e) => onMessage.fire(VSBuffer.wrap(e.data))); </del> <ins> port.onmessage = ((e) => { if (e.data) { onMessage.fire(VSBuffer.wrap(e.data)); } }); </ins> port.start(); resolve({

Discussion:
Here we have a stack trace which hints that a from the extension host utility process to the renderer process ended up firing a message event on the renderer process with a property which is null ( is null).
values are possible if de-serialization .
Change:
if (terminal) { const preparedPath = await this._terminalService.preparePathForTerminalAsync(path, terminal.shellLaunchConfig.executable, terminal.title, terminal.shellType); terminal.sendText(preparedPath, false); <ins> terminal.focus(); </ins> } } }));

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --<bCurrent Installed VS Code Details</b<bSteps to Reproduce</bVS code a Folder having nested folders in it the Powershell terminal Type "cd" and drag a folder to change the current directory see the cursor is not in the PowerShell window and if you hit enter command would not execute <bExpected Behavior</bAfter dragging a folder to PowerShell terminal cursor should be in the PowerShell terminal <!-- Launch with to check. --<bOther Configuration</bDoes this issue occur when all extensions are disabled?: <bYes</b<bScreenshot </b! <bSubmitted By :
Can I take this?
sounds good, thanks
Thanks, everyone!!
Change:
import { $, addDisposableListener, append, EventHelper, EventType } from 'vs/base/browser/dom'; import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { EventType as GestureEventType, Gesture } from 'vs/base/browser/touch'; <del> import { AnchorAlignment, IAnchor, IContextViewProvider } from 'vs/base/browser/ui/contextview/contextview'; </del> <ins> import { AnchorAlignment } from 'vs/base/browser/ui/contextview/contextview'; </ins> import { IMenuOptions } from 'vs/base/browser/ui/menu/menu'; import { ActionRunner, IAction } from 'vs/base/common/actions'; import { Emitter } from 'vs/base/common/event';

Discussion:
These are a few more unused exports which git blame says have been around since Hello Code, based on I removed a few false positives which are indirectly referenced through the public api exported from these files and which therefore should probably remain public for consumers