jiebi/CodeConvo huggingface dataset:
Change:
return (<ContextKeyEqualsExpr>a).cmp(<ContextKeyEqualsExpr>b); case ContextKeyExprType.NotEquals: return (<ContextKeyNotEqualsExpr>a).cmp(<ContextKeyNotEqualsExpr>b); <ins> case ContextKeyExprType.Glob: return (<ContextKeyGlobExpr>a).cmp(<ContextKeyGlobExpr>b); </ins> default: throw new Error('Unknown ContextKeyExpr!'); }

Discussion:
VSCode Version: 1.12.0 OS Version: MacOS Sierra 10.12.4 In , we'd like to be able to provide context menus for all gradle files. The current clause is limited to language types () or a single file name (). It would be helpful if there was support for glob pattern matching, as mentioned in
Hi, Any update on this?
I will push an additional change that expands this to support normal regular expressions instead of just glob-patterns. We figured that's more powerful and closer to ST
Will this be usable in matching any when clause value? Can you give an example?
You write , so will execute this . A sample from my dummy extensions (matches filenames ending in )
This is AWESOME! Should reduce the number of duplicate menu items I need to define
Slight update on this: The value must be enclosed in slashes, so . I have updated above sample
FYI: I tried to apply this feature to the "loaded script view" by following the entry in the release notes: ! But without much success. After looking into the test item and the corresponding feature item, I noticed that the latest syntax uses regular regexp syntax. I've taken the liberty to change the release notes to this: ! I did not attempt to clarify why actually matches "Docker files".
Hmm, I am writing a simple extension, and would like to copy any resourceName. It works without any when clause, but the menu item also shows up, when r-clicking inside the empty space. I would like to prevent it. Is there something like this ?
Ok I found . And its actually what I was looking for. But I did not found it in the docs, but code base.
Change:
import { Disposable, Command, EventEmitter, Event, workspace, Uri } from 'vscode'; import { Repository, Operation } from './repository'; <del> import { anyEvent, dispose } from './util'; </del> <ins> import { anyEvent, dispose, filterEvent } from './util'; </ins> import * as nls from 'vscode-nls'; import { Branch } from './api/git';

Discussion:
There doesn't appear to be an option to hide the git sync icon that appears in the status bar. It's not really a big deal but it would be nice to hide the git sync icon. Personally, coming from Vim I prefer working with the VCS outside of the editor, yet I would still like to see the current branch that is being worked on. This is why I'd like to hide just the sync button and not hide both git status bar items or disable the git extension entirely.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.561 --<!-- potentialduplicatescomment --
I believe this is resolved via
No, hard to revert that change.
/duplicate
Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for existing issues . See also our guidelines. Happy Coding!
Change:
children.push(...item.groupItems.map(i => this.render(i))); } <del> const collapsed = this.repositoryCollapseStates?.get(item.element) ?? false; </del> <ins> const collapsed = this.repositoryCollapseStates?.get(item.element); </ins> return { element: item.element, children, incompressible: true, collapsed, collapsible: hasSomeChanges }; } else { const children = this.mode === ViewModelMode.List

Discussion:
Issue Type: <bBug</bMy source control extension creates and deletes its resource groups dynamically, based on the state of the repo it relates to. It implements a Refresh command button to trigger a manual refresh, and also uses a timer for a periodic refresh. When used in a multiroot workspace in which other SourceControl instances (e.g. Git ones) appear in the SCM panel, I observe that if I have collapsed those instances prior to mine refreshing (i.e. deleting and creating its resource groups), this refresh causes all the other SourceControl instances to expand. Deletion of a resource group leads to a splice . That causes . The subsequent render has that uses its repositoryCollapseStates map to determine the state of each tree root. But that map only seems to get populated when the SCM view is hidden (e.g. when switching to Explorer view. This means the correct collapse state is restored when returning to the SCM view, but it doesn't preserve state across the refresh described above. VS Code version: Code - Insiders 1.47.0-insider (, 2020-07-03T10:27:06.804Z) OS version: Windows_NT x64 10.0.
We only need this state when the view is hidden, because the tree widget should take care of preserving collapse states otherwise. Could you give me exact steps so I can repro with your extension? But yeah... this might be better be :
I confirmed this fixes the issue. Please apply it to 1.47
Steps: a workspace with two folders under git a change on a file of one of them the repository in the SCM view <kbdF1</kbd, :bug: The repository gets expanded in the SCM view, it shouldn't.
Change:
*  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <del> import { ILocalProcessExtensionHostDataProvider, LocalProcessExtensionHost } from 'vs/workbench/services/extensions/electron-browser/localProcessExtensionHost'; </del> <ins> import { ILocalProcessExtensionHostDataProvider, ILocalProcessExtensionHostInitData, LocalProcessExtensionHost } from 'vs/workbench/services/extensions/electron-browser/localProcessExtensionHost'; </ins> import { CachedExtensionScanner } from 'vs/workbench/services/extensions/electron-sandbox/cachedExtensionScanner'; import { registerSingleton } from 'vs/platform/instantiation/common/extensions';

Discussion:
When running a web worker extension on vscode desktop, the error appears. To reproduce, you can use the following extension: : :
Change:
private _startPtyHost(): [Client, IPtyService] { const opts: IIPCOptions = { serverName: 'Pty Host', <del> args: ['--type=ptyHost'], </del> <ins> args: ['--type=ptyHost', '--logsPath', this._environmentService.logsPath], </ins> env: { VSCODE_LAST_PTY_ID: lastPtyId, VSCODE_AMD_ENTRYPOINT: 'vs/platform/terminal/node/ptyHostMain',

Discussion:
This doesn't get logged when creating a terminal with trace logging on
I tried to do this like you and Jackson did for the on the branch merogge/remote-inv, but i'm still not seeing the logs anywhere when using remote WSL. Thoughts? Need this to investigate remote terminal reconnection bc when ssh'ing to localhost, I can't repro the issue and don't want to have to setup a vm.
maybe bc it's in platform instead of workbench it's not working? can't be in workbench though for the ptyService
instead of an output channel I think what we're after is something like this: Here: I thought that's what the LogLevelChannel was doing but maybe not? Or maybe that particular log service/channel type doesn't work on the server since it does in the shared process? !
Change:
import { EditorOption, GoToLocationValues } from 'vs/editor/common/config/editorOptions'; import * as corePosition from 'vs/editor/common/core/position'; import { IRange, Range } from 'vs/editor/common/core/range'; <del> import { IEditorAction, ScrollType } from 'vs/editor/common/editorCommon'; </del> <ins> import { ScrollType } from 'vs/editor/common/editorCommon'; </ins> import { EditorContextKeys } from 'vs/editor/common/editorContextKeys'; import { ITextModel } from 'vs/editor/common/model'; import { isLocationLink, Location, LocationLink } from 'vs/editor/common/languages';

Discussion:
Commit: Datum: 2022-09-01T07:22:41.992Z Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/ Firefox/105.0 +left mouse click on a declaration moves the cursor to the reference if only one exists: https://user- +left mouse click on a declaration moves the cursor opens the reference menue if only multiple references exist: https://user- Commit: Datum: 2022-09-07T05:15:40.689Z Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/ Firefox/105.0 (Also doesnt work on the Desktop Electron App.) https://user- install the versions I listed above or use and you may use this example code : Maybe it has something to do with this:
Do you have configured?
Its the default: "editor.gotoLocation.alternativeDefinitionCommand": "" ! I used and without any account. So no custom settings or extensions. :) If I use another setting like "editor.gotoLocation.alternativeDefinitionCommand": "" it also doesnt work.
Does "Peek References" or "Go to References" work when invoked on that symbol? btw - this works for me using Safari or FF
yes https://user-
are you using with your account, or in a "private" window? ctrl+mouse also doesnt bring up the references popup in other chromium based browsers, like brave nightly or the Desktop version (also tried it in a new profile). ctrl+click on a reference brings me to the definition, so my ctrl key isnt broken :D
The bug is also happening if I choose english as a language and or keyboard layout.
The same thing is happening to me, I'm on insiders Version: 1.72.0-insider Commit: Date: 2022-09-07T05:18:06.866Z (1 day ago) Electron: 19.0.12 Chromium: 102.0.5005.167 16.14.2 V8: 10.2.154.15-electron.0 OS: Darwin arm64 21.6.0 Sandboxed: Yes
Same here
Same here. This is no longer working with the latest VSCode Insider version.

For me it's not working with Dart code. If the usage is in the same file and there is only one, it will not jump there either.
I managed to reproduce with the steps in
Change:
]; logService.info(msg.join('n')); <ins> outputService.showChannel(windowLogId, true); </ins> } }

Discussion:
Run the command . Nothing happens Can we show the dev tools or open an output view that gets focus? From describing a user how to help us debugging an issue with storage:
The action also runs in browsers where we cannot open devtools automatically. We cannot use the output view because we actually show a real table: <img width="1394" alt="image" src=""But we can inform the user via dialog.
For the other action "Log working copies" I will reveal the window log where it is logged to.
Change:
.chat-attached-context-hover .chat-attached-context-image { height: auto; max-height: 500px; <ins> max-width: 400px; </ins> width: 100%; display: block; }

Discussion:
Testing a large image () it into chat window freezes for a few seconds Seems we spent in the !
cc. is there a compromise on what we hash for the ID? ie, maybe half of the bytes instead of the full thing, or something of the sort, since ATM we are just hashing the entire received
It looks like the function is trying to hash the Uint8Array naively as an object (hashing each key and value for each element in the array) which is going to be extraordinarily slow. should complete in millisecond(s) :)
should our detect if it's web and if crypto is available and use that if so? I can see this happening again.
Yea, I think having it check for typed arrays and arraybuffers would make sense. Unfortunately is sync and webcrypto is async, however, so it would not be a drop-in replacement.
perhaps we could have a signature like to catch at compile time and redirect that use to the async version in ?
Change:
} } <ins> const branchName = await this.promptForBranchName(repository, defaultName); if (!branchName) { return; } </ins> await repository.branch(branchName, true, target); }

Discussion:
create new branch from... from ref picker on desktop git repo :bug: I'm asked to provide a branch name, I would expect to first be asked to pick a ref to create my branch from since the suggests additional prompts that are contextual to that action
Change:
return; } <ins> const hoverPointerOffset = (this._hoverPointer ? Constants.PointerSize : 0); </ins> // When force position is enabled, restrict max width if (this._forcePosition) { <del> const padding = (this._hoverPointer ? Constants.PointerSize : 0) + Constants.HoverBorderWidth; </del> <ins> const padding = hoverPointerOffset + Constants.HoverBorderWidth; </ins> if (this._hoverPosition === HoverPosition.RIGHT) { this._hover.containerDomNode.style.maxWidth = `${this._targetDocumentElement.clientWidth - target.right - padding}px`; } else if (this._hoverPosition === HoverPosition.LEFT) {

Discussion:
a project with some kind of debugging and make sure the Breakpoints view is near the bottom of the screen over the pencil icon on the second-to-bottom list item. It works over the bottom list icon. The tooltip seems to appear and disappear very quickly causing the mouse to flicker (the FPS on the gif doesn't capture it very well but you can see that it doesn't render correctly) !
cc , this might have always been a bug but is probably now more exposed given its a custom hover now.
I haven't made any changes to the computation of where the hover should be placed in relation to the target, so a bug that we have had for a while, but should definitely look into. After testing a bit it seems to me that this only happens for ().
This also definitely used to work on language features and recently regressed (works fine in 1.87 stable): ! Reported the styling problem in
Change:
let message = typeof this._shellLaunchConfig.waitOnExit === 'string' ? this._shellLaunchConfig.waitOnExit : nls.localize('terminal.integrated.waitOnExit', 'Press any key to close the terminal'); <ins> // Bold the message and add an extra new line to make it stand out from the rest of the output message = `nx1b[1m${message}x1b[0m`; </ins> this._xterm.writeln(message); // Disable all input if the terminal is exiting and listen for next keypress this._xterm.setOption('disableStdin', true);

Discussion:
The 'meta' output 'Press any key to close the terminal' should be visually distinct from the process output (see image below). I suggest to use a grey foreground color for the text, try a grey background color, or decorate the text with a prefix/suffix character . ! // fyi
You should be able to change the string that's send to to include a background escape sequence like this: . It needs to use one of the terminal colors though, maybe a black background with white foreground? <img width="328" alt="screen shot 2017-05-28 at 11 33 47 am" src=""
It needs to use one of the terminal colors though, maybe a black background with white foreground? this would work for me, is there a way to make this sensitive to the theme? Below is another example when using a dark theme? Also an empty line to separate the message would help to make the message more distinct. !
An empty line is easy, and terminal colors are based on the theme so it should work fine doing that.
what do you think? Could also just do bold text and the newline? ! ! !
I would only do bold text with a newline and not change the background.
:+1: merging ! !
nice
Change:
show(provider: IAccessibleContentProvider): void { const delegate: IContextViewDelegate = { <del> getAnchor: () => { return { x: (window.innerWidth / 2) - (DIMENSION_DEFAULT.WIDTH / 2), y: (window.innerHeight / 2) - (this.editorWidget.getContentHeight() / 2) }; }, </del> <ins> getAnchor: () => { return { x: (window.innerWidth / 2) - (DEFAULT.WIDTH / 2), y: DEFAULT.TOP }; }, </ins> render: (container) => { return this._render(provider, container); },

Discussion:
Repro: Alt+F1 ! If should be in the center as that's the most obvious location Version: 1.80.0-insider (user setup) Commit: Date: 2023-06-28T08:01:04.380Z Electron: 22.3.14 ElectronBuildId: Chromium: 108.0.5359.215 16.17.1 V8: 10.8.168.25-electron.0 OS: Windows_NT x64 10.0.
Putting it here makes the most sense to me because that's where we put other components - like the quick pick. I want to get feedback from low vision users
That's fine, but if you're styling like the command palette we should position it in a similar way ! So below the title bar and not quite and maybe a little less wide
Re , we should also size the height similar to quick pick
But shouldn't the height be determined by the contents?
yes, but have a similar height cap to the quick pick
We should also use the same font as the quick pick
I think you've convinced me - this should be in the center.
Personally I preferred the top position, I'd just render it as the quick pick: Same position and same style. VS Code does not have many vertically centered dialogs. If you want to make it vertically centered, I'd suggest to align it with other vertically centered dialogs, like the trust dialog (notice the background shadow): ! ! Generally, I think, if there is no particular reason to be different, we should try to have a consistent UI throughout the entire product. I'm still in favor of the top position, as the workspace trust dialog is the only vertically centered dialog I know of and it is strongly modal (you have to click one of the buttons to make it disappear). FYI
Fading the background like the trust dialog is good imo, I like centered as it's a very special mode and it's modal as in clicking outside will always dismiss it, unlike the quick pick which may not dismiss when clicking outside. In the end the visual appearance isn't that important really, I just want it to be very obvious when the accessible view is up.
I agree that we should try to align with existing design. My personal preference is to have it positioned like the quick pick.

But in the end, it is not super important as pointed out.
One issue with doing it as the quick pick is it would look wrong being so narrow, and making is narrow would make it less accessible, say if a low vision user was using it.
Not sure it needs to be as narrow as quick pick. I just think the positioning of the quick pick is fitting. So the top and center. It could be wider or longer.
Now that we have the focus border, it is more obvious, so fine to be at the top IMO.
This is still not fixed imo, it should follow quick pick and look like this (native title bar): ! Not this (custom title bar): !
Verified off main :+1:
Change:
/** * Parses original message bundle, returns null if the original message bundle is null. */ <del> private async resolveOriginalMessageBundle(originalMessageBundle: URI | null, errors: ParseError[]): Promise<{ [key: string]: string } | null> { </del> <ins> private async resolveOriginalMessageBundle(originalMessageBundle: URI | null, errors: ParseError[]): Promise<{ [key: string]: string } | undefined> { </ins> if (originalMessageBundle) { try { const originalBundleContent = (await this.fileService.readFile(originalMessageBundle)).value.toString(); return parse(originalBundleContent, errors); } catch (error) { /* Ignore Error */ <del> return null; </del> } <del> } else { return null; </del> } <ins> return; </ins> } /**

Discussion:
Testing in Firefox with de-ch (Swiss German) set. Open command palette and search for Remote Repositories commands :bug: The first command has a partly English, partly de-ch line under it ( and in English, seems to be de-ch translated) !
Hmm yeah it should look like this (Desktop screenshot) with the English strings next to the German strings. I think this is a bug in how I'm applying the translations... !
Just found out about these functions on the desktop side: Which seems to go through the manifest and turn some s into s. I followed up with to understand how this works.
This code was originally written by so I would ask him to know how this works.
Not quite, it was originally written by , but I'm happy to try and help. My understanding is that the code is taking a JSON object that looks like this: Together with another JSON object that looks like this: And produces a JSON object that looks like this by substituting all string values of the shape with their corresponding value:
I still see this on firefox: ! The first option's english translation still looks wrong? (tested on )
The first one is still wrong because of so we'll track that there. However, the rest now have the English string underneath which they use to not have, which means this is fixed and verified
Change:
async updateResultCount(): Promise<void> { if (!this._matchesCount) { <ins> this.updateButtons(this._foundMatch); </ins> return; }

Discussion:
vscode project run open find widget and search for "RawSearchService" at one point there is a match "1 of 1" :bug: arrow keys stay disabled, arrow keys work https://user-
I can't reproduce. What theme is that and does inspecting the buttons show something off?
It's unrelated to the theme - I do see them enabled at times
I cannot reproduce either
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
I have given precise steps, did you follow them the exact way? https://user-
It's not researching on Windows <img width="1578" alt="image" src="https://user-"But I think the part I was missing was doing the search before the term exists, bug is likely not re-evaluating button state after a research triggered by buffer change
I still managed to get into this state after messing around with the find widget for a little while: ! Here's what seemed to repo it for me: a large folder, run for a common character like should see a find widget that shows arrows but doesn't have a find result count on the arrows in the find widget :bug: Now the arrows are disabled but still clickable
I also have if that's relevant
I can see this too, also it shows before disappearing if you do the search before running ls -lr
<img width="289" alt="image" src="https://user-"<img width="356" alt="image" src="https://user-"
This is happening because we behave a little differently when there are more than 1000 results: We can improve this but it's a separate problem, opened To verify this just verify the steps above, with either a specific term like "RawSearchService" or with a small scrollback value.
I can verify this works, however given the fact that was unable to repro at some point, its possible that I too am running into the same situtation Probably best if and/or also tested this. Either way, marking as verified
Change:
private readonly _rootDomNode: HTMLElement; private _previousState: StickyScrollState<T, TFilterData, TRef> | undefined; <ins> private _previousElements: HTMLElement[] = []; private _previousStateDisposables: DisposableStore = new DisposableStore(); </ins> private stickyScrollFocus: StickyScrollFocus<T, TFilterData, TRef>; readonly onDidChangeHasFocus: Event<boolean>;

Discussion:
Tree Sticky Scroll uses caching to make sure that it does not have to rerender often. During the animation each frame/scroll has to be rerendered, which causes DOM elements to be removed and reconstructed. This could be improved by reusing the DOM elements and just adapting their heights.
Change:
defaultValue?: any; /** <ins> * The source of the default value to display. * This value also accounts for extension-contributed language-specific default value overrides. */ defaultValueSource: string | IExtensionInfo | undefined; /** </ins> * Whether the setting is configured in the selected scope. */ isConfigured = false;

Discussion:
On Insiders, for in the Settings editor. an HTML language filter to that setting. A default override indicator shows up for the setting that indicates that the default setting value of the extension has been overridden by the HTML Languages extension. remove the language filter from the search query in the search bar. :bug: The default override indicator still remains, even though we are back to the non-language-specific scope.