jiebi/CodeConvo huggingface dataset:
Change:
export const previousRange = nls.localize('previous', "- Go to Previous Commenting Range{0}.", `<keybinding:${CommentCommandId.PreviousRange}>`); export const nextCommentThread = nls.localize('nextCommentThreadKb', "- Go to Next Comment Thread{0}.", `<keybinding:${CommentCommandId.NextThread}>`); export const previousCommentThread = nls.localize('previousCommentThreadKb', "- Go to Previous Comment Thread{0}.", `<keybinding:${CommentCommandId.PreviousThread}>`); <ins> export const nextCommentedRange = nls.localize('nextCommentedRangeKb', "- Go to Next Commented Range{0}.", `<keybinding:${CommentCommandId.NextCommentedRange}>`); export const previousCommentedRange = nls.localize('previousCommentedRangeKb', "- Go to Previous Commented Range{0}.", `<keybinding:${CommentCommandId.PreviousCommentedRange}>`); </ins> export const addComment = nls.localize('addCommentNoKb', "- Add Comment on Current Selection{0}.", `<keybinding:${CommentCommandId.Add}>`); export const submitComment = nls.localize('submitComment', "- Submit Comment{0}.", `<keybinding:${CommentCommandId.Submit}>`); }

Discussion:
Screen reader users like want to navigate between editor ranges that have comments. I think this makes sense. the recording I will share describes this in more detail.
I just realized that these already exist, and .
I respectfully think that we have miscommunication here. I am requesting a feature going to the next commented area. The commands that you are referring to are moving between commentable range, instead of commented area. The closest commands are alt+F9 () and alt+shift+F9 (). However, these commands directly and automatically opens the comment widget. I just want to jump to the next commented lines and manually open the applied comments manually if I need to review.
Ah, yes makes sense thanks for reminding me!
Change:
} get preview(): boolean { <del> return this.gallery ? this.gallery.preview : false; </del> <ins> return this.local?.manifest.preview ?? this.gallery?.preview ?? false; </ins> } get hasPreReleaseVersion(): boolean {

Discussion:
Steps to Reproduce: an extension on Marketplace. its to add and to increment so it is semantically greater than the version you published in the previous step. this version as a pre-release. VS Code, view the extension's tab. By default you see the earlier version (not the pre-release). It displays the Preview badge even though its doesn't set this. this version. The Preview badge still shows. I would only expect to see the Preview badge when viewing details of a version in which the preview property is set true. For example: ! It looks like the badge uses a boolean fetched from Marketplace (aka gallery). I guess it is taking the preview flag of the newest Marketplace version, not the version actually being displayed.
does this scenario now work as expected for you?
<!-- 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!
I don't currently have any extensions in this state, and I'd rather not pollute my Marketplace to verify it. The code change looks good though, so /verified
Change:
let service = new ConfigurationResolverService(envVariables, new TestEditorService(), TestEnvironmentService, configurationService, mockCommandService); if (platform.isWindows) { <del> assert.strictEqual(service.resolve(workspace, 'abc ${config:editor.fontFamily} ${workspaceFolder} ${env:key1} xyz'), 'abc foo VSCodeworkspaceLocation Value for Key1 xyz'); </del> <ins> assert.strictEqual(service.resolve(workspace, 'abc ${config:editor.fontFamily} ${workspaceFolder} ${env:key1} xyz'), 'abc foo VSCodeworkspaceLocation Value for key1 xyz'); </ins> } else { <del> assert.strictEqual(service.resolve(workspace, 'abc ${config:editor.fontFamily} ${workspaceFolder} ${env:key1} xyz'), 'abc foo /VSCode/workspaceLocation Value for Key1 xyz'); </del> <ins> assert.strictEqual(service.resolve(workspace, 'abc ${config:editor.fontFamily} ${workspaceFolder} ${env:key1} xyz'), 'abc foo /VSCode/workspaceLocation Value for key1 xyz'); </ins> } });

Discussion:
VSCode Version:0.10.13 alpha OS Version:Windows 10 Steps to Reproduce: an variable to your ex. ${env.PATH} "command": "echo", "isShellCommand": true, "args": ["${env.PATH}"], the task. This will expand correctly on Linux and OS X but not Windows since the expansion is case sensitive and PATH on Windows is "Path". Env Var expansion shouldn't be case sensitive so that the same task can run on all platform. This bug was requested by in vscode-docs issue
this is done by the resolver service. IMO env variables on all OSes are case insensitive. Should we address this.
Let's keep it open and if some user is passionate he can tackle it
On linux and macOS environment variables are case sensitive, so "Path" and "PATH" are different variables on linux and macOS (but not on Windows). So your statement from above "IMO env variables on all OSes are case insensitive." is not correct, right? so you are asking for making env var lookup case insensitive on Windows only, correct?
I thought they are always case insensitive. So it should be case insensitive then on Windows only
I'm actually about done with a change for this if you want to take a look.
thanks, I will review the PR.
did you want me to squash it or anything (fixed a broken test because I forgot the existing code returned an empty string for missing environment variables)? Different projects have different requirements and I didn't see anything about squashing in your contrib docs.
no need to squash, I will add the comments to the PR directly if something is needed. Thanks
Change:
this._editor.focus(); this.dispose(); } <del> options: IAccessibleViewOptions = { type: AccessibleViewType.HelpMenu, ariaLabel: localize('terminal-help-label', "terminal accessibility help") }; </del> <ins> options: IAccessibleViewOptions = { type: AccessibleViewType.HelpMenu, ariaLabel: localize('editor-help', "editor accessibility help"), readMoreUrl: 'https://go.microsoft.com/fwlink/?linkid=851010' }; </ins> id: string = 'editor'; constructor( private readonly _editor: ICodeEditor, @IKeybindingService private readonly _keybindingService: IKeybindingService ) { super(); <del> let url = (this._editor.getRawOptions() as any).accessibilityHelpUrl; if (typeof url === 'undefined') { url = 'https://go.microsoft.com/fwlink/?linkid=852450'; } this.options.readMoreUrl = url; </del> } private _descriptionForCommand(commandId: string, msg: string, noKbMsg: string): string {

Discussion:
Previously this went to VS Code's a11y help - ! Now it goes to monaco's? -
Hm, I thought I was using the same link as the original help menu
Also forgot to remove the and , which are no longer used
Change:
*--------------------------------------------------------------------------------------------*/ import { Event } from 'vs/base/common/event'; <ins> import { Lazy } from 'vs/base/common/lazy'; </ins> import { IDisposable } from 'vs/base/common/lifecycle'; import { ICodeEditor } from 'vs/editor/browser/editorBrowser'; import { IBulkEditService } from 'vs/editor/browser/services/bulkEditService';

Discussion:
Steps to Reproduce: Copilot Chat the file in VS Code +i It takes like 2s for the UI to show up. One time when I was doing a lot with VS Code it took so long (like 10s) that I thought I didn't have the extension installed. Not sure if this is on the UI side or the extension side, but even still, I think the UI should be instant (even if it's perceived fastness) since all I'm seeing is an input box that I will type in.
I have done a bunch of tricks, most importantly to showing the UI while asking the extension to create a session. Also the UI is more lazily created which helps. However, once there are changes the bottleneck is setting up the embedded diff editor. There isn't much I can do about it <img width="726" alt="Screenshot 2023-06-15 at 16 10 35" src=""
Change:
] }); <del> if (response === 0 /* OK */) { try { const command = `osascript -e "do shell script "rm '${source}'" with administrator privileges"`; await promisify(exec)(command); } catch (error) { throw new Error(localize('cantUninstall', "Unable to uninstall the shell command '{0}'.", source)); } </del> <ins> if (response === 1 /* Cancel */) { throw new CancellationError(); } try { const command = `osascript -e "do shell script "rm '${source}'" with administrator privileges"`; await promisify(exec)(command); } catch (error) { throw new Error(localize('cantUninstall', "Unable to uninstall the shell command '{0}'.", source)); </ins> } break; }

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 (It's happening for fresh installation) <!-- 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.85.1 OS Version: Macbook M1 Pro - Sonoma 14.2.1 Steps to Reproduce: VSCode Darwin build from downloads page - (Mac .zip Apple Silicon) Shell command: Install 'code' command in PATH cancel for the below prompt <img width="1136" alt="Screenshot 2024-01-02 at 7 35 58 PM" src=""It should display that shell command was not completed successfully. Instead it shows command successfully <img width="1136" alt="Screenshot 2024-01-02 at 7 38 19 PM" src=""
Change:
} private updateStatusBar(): void { <ins> const activeInput = this.editorService.activeEditor; </ins> const activeControl = this.editorService.activeControl; const activeCodeEditor = activeControl ? withNullAsUndefined(getCodeEditor(activeControl.getControl())) : undefined; // Update all states this.onScreenReaderModeChange(activeCodeEditor); this.onSelectionChange(activeCodeEditor); <del> this.onModeChange(activeCodeEditor); </del> <ins> this.onModeChange(activeCodeEditor, activeInput); </ins> this.onEOLChange(activeCodeEditor); this.onEncodingChange(activeControl, activeCodeEditor); this.onIndentationChange(activeCodeEditor);

Discussion:
Refs: ! vs ! We probably need some generic way (via ?) to have the classes detect the editor that is opened. Currently that one is probably probing for file editor and untitled editor inputs.
What all should be present? Position makes sense, possibly tab size. I'm not sure if encoding or line ending make sense, and mode probably doesn't make sense (one wouldn't change the mode).
Yeah, likely only a subset - those that make sense.
Added the status bar entries, but no clean way to configure which entries show for a given editor. Currently the "Search Result" mode will show and be clickable, but choosing results doesn't actually do anything. (aborts out at ) put up to fix that.
Change:
border-left: 3px solid rgba(255, 255, 255, 0.60); } <ins> .vscode-dark.showEditorSelection .code-line .code-line:hover:before { border-left: none; } </ins> .vscode-high-contrast.showEditorSelection .code-active-line:before { border-left: 3px solid rgba(255, 160, 0, 0.7); }

Discussion:
! Note the extra bar the right of the blue block quote bar
I hope my fix will work for you. :smile:
Change:
container.classList.add(this._className); } } <ins> protected override updateTooltip(): void { // NOOP, disable tooltip } </ins> } class StatusBarViewItem extends MenuEntryActionViewItem {

Discussion:
Testing We shouldn't have tooltips here: !
what do you think? Currently, all toolbar actions have tooltips.
Yeah, unsure. All toolbars/actionbars have it but most have an icon and not the same text as the tooltip
Both options are fine for me. Whatever you prefer. I am slightly leaning towards no title. So we do not have hover in a hover (feels IDE-ish and heavy).
Change:
} ctx.log.result(listening); <del> Server::bind(&addr) </del> <ins> builder </ins> .serve(make_service_fn(|_| make_svc())) .with_graceful_shutdown(async { let _ = shutdown.wait().await;

Discussion:
Probably should print an error message instead of panicking, and maybe do that before printing the URL to connect to.
If I use port 8000 in another process, then run , it still says but it's not actually available on that port. I would expect it to pick 8001 or something.
Make sure you're binding to the same interface. serve-web always binds to 127.0.0.1. Depending on your OS and network, that may not conflict with a service listening on if localhost is ipv6.
Change:
'enable-proposed-api', // Log level to use. Default is 'info'. Allowed values are 'error', 'warn', 'info', 'debug', 'trace', 'off'. <del> 'log-level' </del> <ins> 'log-level', // Use an in-memory storage for secrets 'use-inmemory-secretstorage' </ins> ]; // Read argv config

Discussion:
Originally posted by in This was mostly an oversight on my part.
Fixed in In the (Configure Runtime Arguments) we have two improvements: both and now show up in completions (they no longer say "not allowed") in is plumbed through properly
Friendly ping! Looks like this issue requires some further steps to be verified. Please provide us with the steps necessary to verify this issue.
verification: run: make sure and show up in completions make sure you are currently logged in to any account and have an extension that asks for auth now set to restart VS Code you should be asked to log in because you are now using the inmemory store remote the setting from your now restart VS Code you should be logged in again because you are no longer using the inmemory store
Sorry the completion should only be seen on Linux
Change:
return; // do not indicate dirty of working copies that are auto saved after short delay } <del> this.updateDocumentEdited(gotDirty); </del> <ins> this.updateDocumentEdited(gotDirty ? true : undefined); </ins> })); <del> this.updateDocumentEdited(); </del> <ins> this.updateDocumentEdited(undefined); </ins> // Detect minimize / maximize this._register(Event.any(

Discussion:
Steps: open a text file and dirty it change a setting from settings editor dirty window indicator goes away
Wow, anytime an editor is saved, the document edited indicator would go away even if other editors are still dirty
Change:
max-height: 500px; } <del> .monaco-editor .debug-hover-widget .monaco-tl-contents .value { white-space: nowrap; } </del> .monaco-editor .debug-hover-widget .error { color: #E51400; }

Discussion:
Issue Type: <bBug</bHi. I am assigning trade.occId = occId; i.e. to a property (in this case it contains 4 spaces. In the JavaScript hover view however, the property on 'trade' reads (only one space) [btw, I copied both these values right out of the IDE view]. I've just been chasing ghosts for some time because of this discrepancy and not expecting the IDE altering assigned values when viewing objects. Update ---Alright, sorry. I am not sure how to submit the first value on GitHub with the 4 spaces between GS and 1 preserved, even when using 'code' quotes (same as the VSC issue...). So the first value is "GD....190517P00155000" when replacing spaces with dots... Thanks for VS Code otherwise :-) VS Code version: Code 1.33.1 (, 2019-04-11T08:27:14.102Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (4)</summaryExtensionVersion ------ vscode-scss0.6.2 debugger-for-chrome4.11.3 vscode-scss-formatter1.4.1 vscodeintellicode1.1.5 </details<!-- generated by issue reporter --
Can you please provide a screenshot of what you see? Also try disabling all extensions. I am not sure if such an hover is provided by out of the box typescript/javascript extension.
Hi. Please see below. I disabled all extensions besides Debugger for Chrome, which I need to set a break-point to be able to inspect values. The issue is in most obvious in the field 'occId', which in fact has 4 spaces after 'GD' and not just one as displayed. Thanks for following up. [image: ] !
Ah I see.. its an hover while debugging.
You did not attach an image. So please attach an image and some reproducable steps so we can investigate more. Thanks
It did, (please check below the quote). Anyway, your question made me come up with a better/simpler example that should make things clear. Here you go: ! Btw, Gruetzi to all you guys in Zuerich.

I'm originally from Basel :)
Thanks for the image. Cheers back to Basel :)
VSCode insiders will have the fix for this on monday. Try it out and let us know if it is ok for you. Though I verified and the fix from looks good
Thanks for the work and update. Unfortunately I can't switch from VSCode stable, so I'll take your word for it until this hits release :-)
Change:
* Uses Fisher-Yates shuffle to shuffle the given array * @param array */ <del> export function shuffle<T>(array: T[]): void { var i = 0 , j = 0 , temp = null; for (i = array.length - 1; i > 0; i -= 1) { j = Math.floor(Math.random() * (i + 1)); temp = array[i]; </del> <ins> export function shuffle<T>(array: T[], seed?: number): void { // Seeded random number generator in JS. Modified from: // https://stackoverflow.com/questions/521295/seeding-the-random-number-generator-in-javascript const random = () => { var x = Math.sin(seed++) * 179426549; // throw away most significant digits and reduce any potential bias return x - Math.floor(x); }; const rand = typeof seed === 'number' ? random : Math.random; for (let i = array.length - 1; i > 0; i -= 1) { let j = Math.floor(rand() * (i + 1)); let temp = array[i]; </ins> array[i] = array[j]; array[j] = temp; }

Discussion:
Testing When I open the Extensions Viewlet and choose from the overflow menu, I get a new/different list every time I execute the command. From a user's perspective, I don't understand why I keep getting a new list. I expect that when I issue the command VS Code shows me all of the recommended extensions. Otherwise, I keep clicking the menu to see what else might be recommended.
The ones that change are the tool based recommendations and the one we infer from telemetry. There is no ranking mechanism for these, and so are shuffled to give all a chance to be shown. What we can do is do the shuffle only once for each VS Code session. Sound ok?
yes, for each session sounds good. i can imagine that if we have not yet done the more costly recommendations then the 2nd or 3rd time i invoke that more are to the list.
I didnt follow that. Are you saying that we should keep adding to the list every time is invoked? Why?
Change:
display: block; } <ins> .timeline-tree-view .monaco-list .monaco-list-row .custom-view-tree-node-item > .custom-view-tree-node-item-icon, </ins> .customview-tree .monaco-list .monaco-list-row .custom-view-tree-node-item > .custom-view-tree-node-item-resourceLabel > .custom-view-tree-node-item-icon { background-size: 16px; background-position: left center;

Discussion:
<img width="584" alt="image" src="https://user-"//cc for views
I assume this is nothing to do with the views instead its about how entires are rendered in list/tree. CC
Tree row contents are outside of the tree's jurisdiction, but are in fact responsibility of the widget user.
Timeline doesn't use the extension tree view and instead does it's own thing. I think works on timeline.
curious, do we have an understanding what caused this? it seems relatively recent?
Might be related to . any ideas here?
It was caused by , can you check? I see a visual difference not only with the alignment but also the spacing: Before <img width="254" alt="image" src="https://user-"After <img width="269" alt="image" src="https://user-"
it looks like timeline relies on the custom tree view css. I made a change in the nesting/ordering of elements in the tree view recently and I updated the css to reflect that. Because timeline relies on the css but doesn't actually use the custom tree view, this broke the timeline. I've opened a PR with a timeline specific css fix.
<!-- UNABLETOLOCATECOMMITMESSAGE issue --Issue marked as unreleased but unable to locate closing commit in issue timeline. You can manually reference a commit by commenting , or directly add the label if you know this has already been releaased
Change:
return undefined; } <del> return model.getDecorationRange(decoration.id) || undefined; </del> <ins> // decoration is collapsed, so the range is meaningless; only position matters. return model.getDecorationRange(decoration.id)?.getStartPosition(); </ins> } private invalidate() {

Discussion:
Using the test-provider-sample, adding newlines on a line marked as a test duplicates the test icon: ! It sorts itself out on the next update (at least in the sample, I'm still investigating to figure out if there's another issue, or that's in my extension). But it still looks bad - especially if a language is debouncing edits and/or discovery may be slow.. You can make the issue more pronounced (as I did for the GIF) by updating the test-provider-sample to have a delay in its updates:
I was able to repro the full issue I'm seeing in Dart (where the icons never disappear) using the sample too: ! My changes to the sample are here: I changed it so that tests can span multiple lines (since the original code split on lines then searched each line) and use the full range as the for the test. Now when pressing in the test, the original issue (VS Code duplicate the icons) still occurs, but also after the updates, since the range computed by the provider doesn't change from the range VS Code currently has (at least that's my guess), there's no update to the gutter icons so they no longer get cleaned up.
That's correct, we let the editor do its default decoration tracking until an update is received from the extension. for testing decorations, I already set , but is there a similar option to avoid extending the range over lines when edited? Or, alternatively, a way to only apply the glyphMarginClassName to the first line of the range. Reference:
You can create two decorations per test. One which has a range, a hover message, etc. And another one which renders the glyph margin with a collapsed range (perhaps the start position of the range). If you use for the second one, given it begins as a collapsed range, it will never grow, it will always remain a collapsed range.
Change:
import { IStringDictionary } from 'vs/base/common/collections'; import { RawContextKey, ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; <del> export { ITaskSummary, Task, ITaskTerminateResponse as TaskTerminateResponse }; </del> <ins> export type { ITaskSummary, Task, ITaskTerminateResponse as TaskTerminateResponse }; </ins> export const CustomExecutionSupportedContext = new RawContextKey<boolean>('customExecutionSupported', false, nls.localize('tasks.customExecutionSupported', "Whether CustomExecution tasks are supported. Consider using in the when clause of a 'taskDefinition' contribution.")); export const ShellExecutionSupportedContext = new RawContextKey<boolean>('shellExecutionSupported', false, nls.localize('tasks.shellExecutionSupported', "Whether ShellExecution tasks are supported. Consider using in the when clause of a 'taskDefinition' contribution."));

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. --Related For migrating towards ESM in VSCode, it seems the tsconfig option could be useful, ensuring that imports are compatible with ESM. For example, this typescript code transpiled to javascript would cause a runtime error because of the export: The rule would enforce a type only import for : Enabling the tsconfig option in VSCode, it seems these files would need to adjusted:
We reverted this because we learnt, albeit very late, that it has disabled inlining of const enums. See