jiebi/CodeConvo huggingface dataset:
Change:
const lastLine = this._accessibleView?.editorWidget.getModel()?.getLineCount(); return lastLine !== undefined && lastLine > 0 ? new Position(lastLine, 1) : undefined; } <del> setPosition(position: Position, reveal?: boolean): void { const editorWidget = this._accessibleView?.editorWidget; editorWidget?.setPosition(position); if (reveal) { editorWidget?.revealLine(position.lineNumber); } </del> <ins> setPosition(position: Position, reveal?: boolean, select?: boolean): void { this._accessibleView?.setPosition(position, reveal, select); </ins> } getCodeBlockContext(): ICodeBlockActionContext | undefined { return this._accessibleView?.getCodeBlockContext();

Discussion:
reported by
I am calling here on navigating to the command. On macOS, this works beautifully. I haven't tested on Windows, but am not sure why it wouldn't work the same way there. One reason it wouldn't work for you is if shell integration isn't enabled or activated properly. I know we've seen that happen for you before. do you have any thoughts / can you repro the issue on windows: run some commands in the terminal open the accessible view use alt/opt+up/down arrow to navigate between commands you should hear the commands
It has nothing to do with the shell integration because the cursor actually moves, but the aria alert does not work on Windows.
hi If I follow the steps, I only hear command failed / command succeeded for each command with the corresponding audio cue, and these are actually communicated as screen reader alerts. if I do the same on the mac, I hear the command and the corresponding audio cue for success / failure, but not the command succeeded / command failed message. for the sake of troubleshooting, I disabled the signal announcement on Windows for command succeeded / command failed. After doing that I hear the audio cue only, but not announcement. I did a bit of debugging with NVDA, and the screen reader doesn't seem to be receiving any aria live update event. One easy fix here could be to simply select the text for the command when the cursor moves to previous / next command. That would completely eliminate the need for an aria alert, and would likely work consistently across all platforms.
Thanks so much for troubleshooting I love that idea, will try it tomorrow.
<!-- UNABLETOLOCATECOMMITMESSAGE repo --Issue marked as unreleased but unable to locate closing commit in repo history. If this was closed in a separate repo you can add the label directly, or comment .
I only hear the command status as "command succeeded" or "command failed" but not the command itself.
do you see the command selected? A gif would help
it is not working for me because of this:
Makes sense - this feature is built on shell integration, so that'll have to work to test this
provided a fix for the shell integration. This is verified with that fix.
Change:
}; } <ins> export class PreviewDocumentVersion { public constructor( public readonly resource: vscode.Uri, public readonly version: number, ) { } public equals(other: PreviewDocumentVersion): boolean { return this.resource.fsPath === other.resource.fsPath && this.version === other.version; } } </ins> export class MarkdownPreview extends Disposable { public static viewType = 'markdown.preview';

Discussion:
Issue Type: <bBug</bSometimes the Markdown preview stops updating when I am typing if the source document is very large. It is not easy to reproduce, but when it happens, it is very annoying. Here is a video clip to describe what happened: ! Notice that at the end, no matter how long I wait, the preview never updates (two s are missing from the preview). It is acceptable if the preview has some delay if the source document is very large, but this seems like some scheduling issue that the final updates from the source document is ignored. The preview should be updated to match the source document if I wait long enough. VS Code version: Code 1.33.1 (, 2019-04-11T08:27:14.102Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </detailsExtensions disabled <!-- generated by issue reporter --
, Yes this is happening and I think this happens in the case when you change something and then wait for like 2/3 seconds and change something again and similarly repeat it or stop, Just changing once seems to be working but takes some time. , I think the refresh preview calls are getting clogged because of the way the user is updating the markdown document , Can you please confirm any way we can fix this ?
Thanks looking into this. I'm having trouble reproducing this issue but there are two places where I believe that updates to the preview could be getting out of sync: the call to itself: We're currently stabilizing vscode's master branch so I can't check this in but here's a PR that should the problem: the updates to the webview content itself. Here's the code that runs inside the webview that does the update: If you can reproduce this problem, try taking a look the PR and try it out on your local machine to see if it fixes this.
, Not sure exactly how to fix this as the issue is not consistent and when I checked it today, it seems to work ( but surely the preview refresh and sync takes some time, which is considerable for that large file) , So I leave it open for you to take a call on this. I would suggest to check it again and give it some time to update.

Please test this again on the VS Code 1.35 insiders builds that should be coming out at the end of next week
New insiders builds are out. Can you please test this again using them
It seems the problem still exists: ! The last letter is missing from the preview.
I'm closing this given that no one else has reported this issue and no one on the vs code team can reproduce it either Please investigate and submit a fix if you are consistently running into this. I've linked to most of the relevant code locations
Change:
testService.excluded.onTestExclusionsChanged, )(this.tree.refilter, this.tree)); <del> this._register(this.tree.onMouseDblClick(e => { </del> <ins> this._register(this.tree.onDidOpen(e => { </ins> if (e.element instanceof TestItemTreeElement && !e.element.children.size && e.element.test.item.uri) { commandService.executeCommand('vscode.revealTest', e.element.test.item.extId); }

Discussion:
Testing microsoft/vscode-python Here: !
ideas on this? I provided the path to the file so the "Go to test..." works ( confirm if this is not the case). Thanks!
This works fine via double click but for example does not open on macOS. This works in other trees as standard gesture to open. To make this easy to adopt for trees, I think we have a convention in custom trees, not sure if they are used here. do you remember?
Yes, if you set the command of the tree item in extension provided trees to or then we do some magic and respect the arguments to those commands as outlined at and also respect things like double click and ctrl+click. Here is how we pass the click properties to those commands:
Change:
InsertAsSnippet = 0b100, } <ins> export interface CompletionItemRanges { insert: IRange; replace: IRange; } </ins> /** * A completion item represents a text snippet that is * proposed to complete text that is being typed.

Discussion:
Issue Type: <bBug</bI would like the prefix to trigger only when there is a leading whitespace in front of the prefix (it is supposed to be substituted with an explicit non-breaking space character ). The example of the snippet: --The prefix behaves as if there is no leading space, meaning the remains one extra whitespace before the expanded body, resulting in a double space: . VS Code version: Code 1.55.2 (, 2021-04-13T09:35:57.887Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (37)</summaryExtensionVersion ------ html-snippets0.2.1 Handlebars0.4.1 rc-beautify1.2.0 git-temporal-vscode1.0.0 insert-unicode0.10.0 i30.0.1 vscode-generate-getter-setter0.5.0 gitlens11.4.1 vscode-html-css1.10.2 vscode-npm-script0.3.21 carbon-now-sh1.2.0 vscode-angular-html1.7.0 beautify1.5.0 latex-workshop8.18.0 polacode-.5.2 svg1.4.6 Angular211.0.0 solidity0.0.113 Kotlin1.7.1 rainbow-csv1.8.1 vscode-docker1.12.1 python2021.5. vscode-pylance2021.5.2 jupyter2021.5. remote-containers0.166.1 postscript1.0.1 java0.79.1 LiveServer5.6.1 bash-debug0.3.9 scala0.5.3 bash-beautify0.1.1 code-settings-sync3.4.3 code-spell-checker1.10.2 sass-indented1.8.16 html-preview-vscode0.2.5 vscode-ruby0.28.0 markdown-all-in-one3.4.0 (2 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
I have a fix for this but it makes bigger changes in how snippet completion are computed. Pushing out to November to get more Insider usage for it, changes are in
Change:
tar-fs "^2.1.1" vscode-uri "^3.0.7" <ins> "@vscode/v8-heap-parser@^0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@vscode/v8-heap-parser/-/v8-heap-parser-0.1.0.tgz#f3fe61ce954cc3dd78ed42e09f865450685e351f" integrity sha512-3EvQak7EIOLyIGz+IP9qSwRmP08ZRWgTeoRgAXPVkkDXZ8riqJ7LDtkgx++uHBiJ3MUaSdlUYPZcLFFw7E6zGg== </ins> "@vscode/vscode-languagedetection@1.0.21": version "1.0.21" resolved "https://registry.yarnpkg.com/@vscode/vscode-languagedetection/-/vscode-languagedetection-1.0.21.tgz#89b48f293f6aa3341bb888c1118d16ff13b032d3"

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. --Currently we are manually hunting down memory leaks through Dev Tools. For some areas/components (e.g., notebook), this even needs to be done repeatedly. It would be helpful if we can capture the memory snapshots in CI and write some queries against the snapshot to analyze if there is any potential leaks. A typical manual memory leak analysis for notebook Setup Open OSS Open notebook document A Open notebook document B Close both notebook documents Open Dev Tools, take a heap snapshot Search object, there should be none Search object, there should be none Search object, there should not be more than one (the editor group still holds a reference to the last editor) ! cc
The dev tools also show how an object is leaked, we could analyze the dependencies tree and figure out who is the "culprit"
would be a good API for CI use case on desktop to capture from any non-sandboxed process (Main, Utility - Ext Host, Shared Process, Pty Agent) embedding V8 without using external CDP calls. In the case of sandboxed render process, prefer
I find this topic super interesting as well! I have a prototype project that tries to find memory leaks by looking for leaking event listeners. In the screencast, the event listener count increases from 1175 to 1206 which indicates that there might be a memory leak when opening and closing a notebook editor. The project is in the early phases and in the future I'm hoping to display more detailed output for the event listeners as well as making the tests less flaky. (sorry if I'm interrupting the discussion. I'm hoping that perhaps this could be useful for you)
Change:
private readonly _marketplaceThemes: ThemeItem[] = []; private _searchOngoing: boolean = false; <ins> private _searchError: string | undefined = undefined; </ins> private readonly _onDidChange = new Emitter<void>(); private _tokenSource: CancellationTokenSource | undefined;

Discussion:
Testing When browsing themes while offline, I didn't get any message that I could not connect to the marketplace and/or could not retrieve themes, with the only visible feedback being that the theme search would instantly return with an empty quickpick. It would be nice if this information could be surfaced somehow.
Verified: !
Change:
dom.addClass(this._wrapperElement, 'terminal-wrapper'); this._xtermElement = document.createElement('div'); <ins> // Attach the xterm object to the DOM, exposing it to the smoke tests (<any>this._wrapperElement).xterm = this._xterm; </ins> this._xterm.open(this._xtermElement); this._xterm.attachCustomKeyEventHandler((event: KeyboardEvent) => { // Disable all input if the terminal is exiting

Discussion:
FYI I commented out the test. Please fix it and enable it.
The test is failing because the DOM is no longer filled with nodes so these tests can't work the way they did previously. Is it possible with Spectron to pull a DOM node object, including any custom properties it has? If so I could attach a reference to the object to the terminal element which would allow querying the terminal for this sort of information really easily.
Yes, you can access the DOM in Spectron and we do it in multiple places. For example refer to . This will allow you to execute java script code on the renderer process that has access to DOM and let you return the model you want. But please be aware that, Since it runs in a different process than the test process, console log does not work.
PR with fix is out , will merge in after release is branched off.
Change:
// ContextView dropdown methods private showSelectDropDown() { <del> if (!this.contextViewProvider) { </del> <ins> if (!this.contextViewProvider || this._isVisible) { </ins> return; } <ins> this._isVisible = true; </ins> this.cloneElementFont(this.selectElement, this.selectDropDownContainer); this.contextViewProvider.showContextView({ getAnchor: () => this.selectElement,

Discussion:
VSCode Version: Code - Insiders 1.20.0-insider (, 2017-12-19T07:32:34.862Z) OS Version: Windows_NT x64 10.0. Extensions: none Steps to Reproduce: Debug panel the top SelectBox [SelectBox expands] again at the same spot Expected result: SelectBox closes. Actual result: It stays expanded. It affects SelectBox on Debug and Output panels. Terminal panel SelectBox closes as expected.
thanks for the nice bug report, forwarding to fyi
Thanks, good bug find!
Fixed With:
thanks. the verified label should not be until our endgame where we verify all the bugs we had during a milestone. I will remove it so that we can have someone else verify the bug.
Thanks
Change:
let occurrences = this.viewModel.searchResult.count(); let fileCount = this.viewModel.searchResult.fileCount(); let replaceValue = this.searchWidget.getReplaceValue() || ''; <del> let afterReplaceAllMessage = replaceValue ? nls.localize('replaceAll.message', "Replaced {0} occurrences across {1} files with {2}.", occurrences, fileCount, replaceValue) : nls.localize('removeAll.message', "Removed {0} occurrences across {1} files.", occurrences, fileCount); </del> <ins> let afterReplaceAllMessage = this.buildAfterReplaceAllMessage(occurrences, fileCount, replaceValue); </ins> let confirmation = { title: nls.localize('replaceAll.confirmation.title', "Replace All"), <del> message: replaceValue ? nls.localize('replaceAll.confirmation.message', "Replace {0} occurrences across {1} files with '{2}'?", occurrences, fileCount, replaceValue) : nls.localize('removeAll.confirmation.message', "Remove {0} occurrences across {1} files?", occurrences, fileCount), </del> <ins> message: this.buildReplaceAllConfirmationMessage(occurrences, fileCount, replaceValue), </ins> primaryButton: nls.localize('replaceAll.confirm.button', "Replace") };

Discussion:
VSCode Version: 1.7.2 OS Version: Windows 10 Steps to Reproduce: a workspace -and-replace a string that exists Screenshot: !
Same for "occurrences".
This is one of those surprisingly hard localization problems... is there anywhere in the UI that we do this correctly?
Why not coming with appropriate messages based on the number of occurrences/files? Feel free to submit a PR for this if you are interested to fix it. Ref -
Because it's different for different languages - example: The only language outside of the norm that we support is Russian though.
I am sorry, I did not get what you mean. Why not having separate strings for each variation and let the translation team does the rest. For eg: Replace occurrences across files with Replace occurrences in with Replace 1 occurrence in with
Just pointing out that other languages don't follow the same pluralization rules as English. But it's already wrong in those languages and we may as well make it better for English :)
Yes, messages cannot be constructed programmatically because of translation. Translation team need to translate these different messages. Hence they need to be string literals. Thanks for the PR
Change:
let lastProgressMessage: string | undefined = undefined; let lastProgressReportedAt = 0; <del> const stableCodeExecutable = await measureAndLog(vscodetest.download({ cachePath: path.join(os.tmpdir(), 'vscode-test'), </del> <ins> const stableCodeDestination = path.join(testDataPath, 's'); const stableCodeExecutable = await retry(() => measureAndLog(vscodetest.download({ cachePath: stableCodeDestination, </ins> version: previousVersion.version, extractSync: true, reporter: {

Discussion:
It looks like the smoke test had a generic startup error caused by a TLS stream (maybe a https request?)
This is from using the module to download VSCode: did you see this before?
One idea would be to wrap is a , similar to this call: But I am not 100% sure that method can be just retried like that.
If we depend on a library and that fails, I suggest the retry logic be in the library itself.
Added retry logic, but would be nice to get this from natively.
Change:
import { Emitter, Event } from 'vs/base/common/event'; import { FileChangeType, IFileChange } from 'vs/platform/files/common/files'; import { URI } from 'vs/base/common/uri'; <del> import { DeferredPromise } from 'vs/base/common/async'; </del> <ins> import { DeferredPromise, ThrottledDelayer } from 'vs/base/common/async'; </ins> export abstract class BaseWatcher extends Disposable implements IWatcher {

Discussion:
With TS 5.5 we are seeing a lot more requests to watch paths such as which in the end makes the file watcher consume 100% CPU for at least a minute on my machine. Need to understand why this is so slow on startup, probably some complexity somewhere trying to handle these requests.
Change:
'editor.codeActionWidget.includeNearbyQuickfixes': { type: 'boolean', scope: ConfigurationScope.LANGUAGE_OVERRIDABLE, <del> description: nls.localize('includeNearbyQuickfixes', "Enable/disable showing nearest quickfix within a line when not currently on a diagnostic."), default: false, </del> <ins> description: nls.localize('includeNearbyQuickfixes', "Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."), default: true, </ins> }, } });

Discussion:
<!-- Do Not Delete This! bugreporttemplate --- VS Code Version: 1.83 Insiders OS Version: Windows 11 The friendly Settings editor name for should be "Editor Code Action Widget: Include Nearby Quick Fixes" not "Quickfixes". Description should also be "...nearest Quick Fix within a line..." to make other mentions of Quick Fix. !
For example: !
Change:
<ins> { "diffs": [ { "innerChanges": [ { "modifiedRange": "[1,13 -> 1,13 EOL]", "originalRange": "[1,13 -> 1,14 EOL]" }, { "modifiedRange": "[2,1 -> 3,1]", "originalRange": "[2,1 -> 2,1]" } ], "modifiedRange": "[1,3)", "originalRange": "[1,2)" } ], "modified": { "content": "hello world;n// new lineny", "fileName": "./2.txt" }, "original": { "content": "hello world; ny", "fileName": "./1.txt" } } </ins>

Discussion:
. To verify the bugfix, check that in the newest version of the monaco editor the alignment is as expected. edit from <!-- 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.89.1 (user setup) Commit: Date: 2024-05-07T05:13:33.891Z Electron: 28.2.8 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Windows_NT x64 10.0. Searched existing issues by "compare vertical alignment" - no relevant results. Steps to Reproduce: files test2 and test1 them Fact wrong vertical alignment of identical rows after delete-add section ! Expected !
Thanks for sharing the input documents and the screenshot! Unfortunately, it is still not clear what this issue is about - I don't see a big difference in the screenshots. Can you add more details?
difference (expected empty range) is shown on this picture !
Ahh, I see. Can you check the dev console?
No. I want fix in my test. Not in dev console. Can you reproduce my simple test in user interface?
No, I cannot reproduce. But I think VS Code might have logged some errors to the VS Code dev console. You could help me fixing this bug, but sharing if there are any error messages in the VS Code dev console.
Show your comparison result. Here is log from dev console: An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing. !
Change:
display: flex; width: 100%; padding: 4px; <ins> border-radius: 2px; </ins> text-align: center; cursor: pointer; justify-content: center;

Discussion:
Looking at ways to make VS Code feel ever so slightly more approachable. A subtle 2px border radius on our common input components could be one way to make the UI feel more inviting and less harsh: <img width="361" alt="CleanShot 2022-04-08 at 14 48 52 src="https://user-"<img width="522" alt="CleanShot 2022-04-08 at 14 55 52 src="https://user-"<img width="494" alt="CleanShot 2022-04-08 at 14 58 01 src="https://user-"<img width="437" alt="CleanShot 2022-04-08 at 14 49 46 src="https://user-"<img width="500" alt="CleanShot 2022-04-08 at 15 01 55 src="https://user-"! FWIW, we already use a border radius on our icon buttons: <img width="300" alt="CleanShot 2022-04-08 at 15 03 36 src="https://user-"cc
I like this idea for buttons. I am not so sure about input/combo boxes.
I'm a +1 on this one, I think the inputs might need a bit of spacing from the side to feel more natural. We should also make sure that our labels are distinguishable as they start looking similar. Maybe we update the labels to be more pill-like?
As in padding L/R? I think they are indeed a bit different from our dropdowns if memory serves. Good call on the labels/tags.
Border-radius on buttons was merged but inputs is still under discussion so I'll keep this one open.
Good job
Change:
disposables.add(tracker.onDidFocus(() => (this.validationHasFocus = true))); disposables.add(tracker.onDidBlur(() => { this.validationHasFocus = false; <ins> this.editorContainer.style.borderBottomLeftRadius = '2px'; this.editorContainer.style.borderBottomRightRadius = '2px'; </ins> this.contextViewService.hideContextView(); }));

Discussion:
Source control warning not aligned on the right hand side with the input field: <img width="473" alt="image" src="https://user-"
Draft PR here but I feel that there is a better way. For whatever reason the editor within SCM input is not as wide as the input it is rendered in—or something like that. Open to ideas!
Here is the updated layout: <img width="567" alt="image" src="https://user-"