jiebi/CodeConvo huggingface dataset:
Change:
private _hasHadInput: boolean; <del> messageShown: boolean = false; </del> readonly statusList: ITerminalStatusList = new TerminalStatusList(); disableLayout: boolean = false; get instanceId(): number { return this._instanceId; }

Discussion:
<img width="470" alt="Screen Shot 2021-05-28 at 11 40 58 AM" src="https://user-"This is my only shell/profile setting:
It should also show only once per window reload
Fixed already /duplicate of
Not sure how to get it to only show once per window reload. Custom implementation?
keep a boolean like at the top level of the file to track it.
This still happens because needs to be at the top level, not a member of TerminalInstance in order to be shared.
If we only do this for the first terminal that gets created though, if users change their settings and then create terminals, they won't see this message.
Just tested it and think that's fine
that's fine, they'd eventually hit it again after a restart. The main thing is that we're annoying people as little as possible.
Tried to verify, think this is still unreleased.
I think it should be released already since Alex Dima released a few hours ago an insider's based on release/1.57, which has the changes.
Works after updating
Change:
*  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <del> import { KeyMod, KeyCode } from 'vs/base/common/keyCodes'; </del> <ins> import { KeyMod, KeyCode, KeyChord } from 'vs/base/common/keyCodes'; </ins> import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; import { KeybindingsRegistry, KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry'; import { List } from 'vs/base/browser/ui/list/listWidget';

Discussion:
macOS, VS Code Insiders into explorer focus via keyboard hover does not show. There is no command to trigger the custom hover to show Like the activity bar, we have to make sure that the custom hover can be accessed in the tree/list only with the keyboard.
Would you suggest adding a keybinding to toggle the visibility of the custom hover of the html element which has focus?
Yeah, ideally it is . The same shortcut that we use in the editor for showing the hover. So it is consistent and easy for user to understand that there is one shortcut which does the right thing everywhere.
Isn't this a duplicate of ? Btw we seem to be having this support for extension provided trees at least:
I think it's good to have this one separate to .
Solving this for all trees/lists is pretty hard as the tree/list does not know anything about the underlying elements being rendered. For extension trees it is much easier as they all consist of a label which the creates and controls.
One option could be to utilize the to get the tooltip. Currently it already provides
After further discussions we came to the conclusion that we would use the DOM tree to figure out if there is any custom hovers available and trigger the hover by dispatching a mouse event on the HTMLElement. This might seem rather hacky but it ensures the consumers of the tree only have to support hover once and lets the tree handle keyboard triggers. Handling focus is still tricky and a open problem. Until this focus problem is properly fixed the treeview will keep it's own implementation which directly uses the hover service and moves the focus into the hover. The treeview implementation of this has it's own flaws but will b kept for the meantime to not cause regressions.
Change:
import { localize } from 'vs/nls'; import { Color } from 'vs/base/common/color'; import { CenteredViewLayout } from 'vs/base/browser/ui/centered/centeredViewLayout'; <del> import { IView } from 'vs/base/browser/ui/grid/gridview'; </del> <ins> import { IView, orthogonal } from 'vs/base/browser/ui/grid/gridview'; </ins> interface IEditorPartUIState { serializedGrid: ISerializedGrid;

Discussion:
Steps to Reproduce: 2x2 grid it again =the layout flips (top right editor ends up bottom left)
Change:
updatedText = openedView.updateTextFromFindWidgetOrSelection({ allowUnselectedWord: typeof args.replace !== 'string' }); } openedView.setSearchParameters(args); <ins> if (typeof args.showIncludesExcludes === 'boolean') { openedView.toggleQueryDetails(false, args.showIncludesExcludes); } </ins> openedView.searchAndReplaceWidget.focus(undefined, updatedText, updatedText); }

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.89.0 OS Version: Windows 10.0. Steps to Reproduce: Create a keybinding to with the argument set to . The search sidepanel appears but if the includes and excludes fields were shown from a prior search they are still visible. The same happens even though the includes and excludes are cleared:
Hmm, that isn't currently an option in . But it can be . You can see the existing fields here:
<!-- -96bd-47a8-a0e8- --This feature request is now a candidate for our backlog. The community has 60 days to the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our . Happy Coding!
To verify, try binding a keyboard shortcut like this: And verify that setting to true and false correctly shows the and fields in the search view. !
Change:
constructor(private viewer: ITree, private element: Match, private viewlet: SearchView, @IReplaceService private replaceService: IReplaceService, @IKeybindingService keyBindingService: IKeybindingService, <del> @IEditorService private editorService: IEditorService) { </del> <ins> @IEditorService private editorService: IEditorService, @IConfigurationService private configurationService: IConfigurationService) { </ins> super(Constants.ReplaceActionId, appendKeyBindingLabel(ReplaceAction.LABEL, keyBindingService.lookupKeybinding(Constants.ReplaceActionId), keyBindingService), 'action-replace'); }

Discussion:
I think it should be possible to disable "Replace Preview" in the settings. Currently, whenever I want to replace a word, the "Replace Preview" opens for every file, because I have file preview disabled.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.546 --- <!-- score: 0.535 --- <!-- score: 0.489 --- <!-- score: 0.473 --- <!-- score: 0.46 --<!-- potentialduplicatescomment --
Are you talking about the diff editor that opens when you click a result? What do you expect to see in that case?
Yes that's what I'm talking about. I would like to see just the file without a diff, maybe with the matches highlighted as I navigate through them in the search sidebar. Then when I click on replacing the text it would just replace it directly.
This seems reasonable and I would take a PR that adds a setting to disable the replace preview. FYI Starting point: and
I'd like to take a look at this.
Change:
if (initialChunk) { this._socketReader.acceptChunk(initialChunk); } <ins> // send a message every 5s this._keepAliveInterval = setInterval(() => { this._sendKeepAlive(); }, 5000); </ins> } dispose(): void {

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. --Background: Modern reverse proxies like nginx or cloudflare use timeouts for dormant websocket connections. For nginx this defaults to 60s and for Cloudflare to 100s. In case of Cloudflare, this is not configurable for non-enterpise users. Due to the fixes in , the management connection is now typically being idle for extended periods of time. If the web-socket connection is being terminated by the reverse proxy, even if it can be reestablished immediately, a modal dialog is being shown, which disturbs the user immensely. For reference see In order to support Cloudflare it is essential, that we either implement a keep-alive ping (my proposal would by every 45s by default), or alternatively, make it so an immediate reconnect does not cause any negative consequences for the user.
any insights here?
<!-- 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!
Version: 1.71.0-insider Commit: Date: 2022-08-26T23:24:52.456Z Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36 /verified I do no longer experience regular reconnects every 100 seconds behind cloudflare with the build above.
Change:
} /** <ins> * A stack frame found in the {@link TestMessage.stackTrace}. */ export class TestMessageStackFrame { /** * The location of this stack frame. This should be provided as a URI if the * location of the call frame can be accessed by the editor. */ uri?: Uri; /** * Position of the stack frame within the file. */ position?: Position; /** * The name of the stack frame, typically a method or function name. */ label: string; /** * @param label The name of the stack frame * @param file The file URI of the stack frame * @param position The position of the stack frame within the file */ constructor(label: string, uri?: Uri, position?: Position); } /** </ins> * Message associated with the test state. Can be linked to a specific * source range -- useful for assertion failures, for example. */

Discussion:
Currently, messages that are shown when tests fail can only be shown at a single . Often (, , among others) folks want to see the full call stack of the test failure. I propose some API to add this information:
does this track that not only the stack but stack + any stdout would show in same UX? /cc
Yes, output is already trackable and associable to a test case via the API
We are using to record all stdout written by tests. In addition, the is used to record the failure message and stack for each test failure.
UI:
Just check with Joh and this looks good to move into finalized!
do we want to bundle this with any of the other testing proposals (, )?
Change:
"support.type.property-name" ], "settings": { <del> "foreground": "#AB6526" </del> <ins> "foreground": "#9C5D27" </ins> } }, {

Discussion:
Environment Details: VSCode Version : 1.24.0 OS Version : Win10 Additional Details: MAS Violated : MAS 1.4.3 Tools Used : Color Contrast Analyzer Repro Steps: 1)Navigate to Settings--Select color theme --Select Quiet light. 2)Check color contrast ratio for the Explorer content on the screen. Actual: Color contrast ratio is less than 4.5:1 for the black colored content when focused. Similar issue is observed in following themes: Abyss Kimbie dark Monokai Dimmed High contrast Install additional color theme Expected: Color contrast ratio should be more than 4.5:1 for the content on a screen. Recommendations: Refer below link which is repository of bug fixes code snippets:   User Impact: The low vision/visually impaired users will not be able to view the content properly. MAS Reference: MAS 1.4.3 - {-765f-489c-b18f-}  Attachment For Reference: ! Does this issue occur when all extensions are disabled?: Yes
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.981 --- <!-- score: 0.924 --- <!-- score: 0.875 --- <!-- score: 0.869 --- <!-- score: 0.867 --<!-- potentialduplicates_comment --
Per our agreement, we will not be fixing color contrast issues with third party themes. cc
just a note that we are the authors of this theme (actually I am the original author) Does this mean that we only fix for the Light+ and Dark+?
we're supposed to fix any issues for themes that we own and ship with out of the box (except for third party themes we don't own). I didn't know we own QuietLight so I'll re-open.
Checked and verified in below version i.e 1.27.0-Insiders. The issue still exist in Quite Light theme. Similar issue is observed in following themes: 1)Solarized light:All the text in the page fail in color contrast ratio i.e 4.5:1 2)Light visual studio: Black coloured text fail in color contrast ratio i.e 4.5:1
please see for the unused variable color issues
Change:
this.updateStatus(statusLabel, { classes, keepMessage: true }); }, ops.resetAfter); } <del> reset(this._elements.statusLabel, message); </del> <ins> const renderedMessage = renderLabelWithIcons(message); reset(this._elements.statusLabel, ...renderedMessage); </ins> this._elements.statusLabel.className = `label status ${(ops.classes ?? []).join(' ')}`; this._elements.statusLabel.classList.toggle('hidden', !message); if (isTempMessage) {

Discussion:
When inline chat changes more than one hunk it just shows "N changes". We should make that more explicit, e.g that it is todo-list-like and something that we need to accept explicit per change
I made the message more explicit, the info icon, and a hover message. This is how it now looks <img width="1136" alt="image" src=""
Change:
return i; } <del> function minimizeInlineCompletion(model: ITextModel, inlineCompletion: NormalizedInlineCompletion | undefined): NormalizedInlineCompletion | undefined { </del> <ins> export function minimizeInlineCompletion(model: ITextModel, inlineCompletion: NormalizedInlineCompletion | undefined): NormalizedInlineCompletion | undefined { </ins> if (!inlineCompletion) { return inlineCompletion; }

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.60.0-insider (user setup) OS Version: Windows_NT x64 10.0. List of extensions: None, all are disabled Steps to Reproduce: a new typescript file. , the suggestions widget opens and the first suggestion is . gray text however, only shows , it's missing the last character. 've attached a gif. Notice how when I type , the gray text displays but when I type , it shows . !
can you please verify todays insider build fixes this?
Yes, it has been fixed!
Change:
} ], cancelButton: { <del> label: nls.localize('abort', "Abort"), </del> <ins> label: ABORT_LABEL, </ins> run: () => DebugChoice.Cancel }, checkbox: {

Discussion:
Clone and npm install. Hit F5, it never starts: <img width="484" alt="image" src=""I am on macOS.
This is probably because a prelaunch task is still running / your problem matchers haven't matched anything. Please make sure you have the right problem matchers installed, otherwise I suggest opening issues for them if they don't match correctly.
Would be great if debug could give me a hint.
Will keep open to track it, it's not a rare problem
We should also keep the terminal open if the task fails, currently it closes immediately which can be confusing
Would also be nice if we could cancel the pending launch attempt, e.g. by showing the debug toolbar immediately and disabling all buttons except the stop button. Right now when I get into this state I end up just reloading the whole window and incurring the pain of all extensions reactivating, which takes several seconds on my machine (git, TS etc)
After 10 seconds we'll show !
<!-- 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 .
<!-- UNABLETOLOCATECOMMITMESSAGE --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:
if (action instanceof MenuItemAction && action.menuKeybinding) { primaryActions.push(action.menuKeybinding); } else if (!(action instanceof SubmenuItemAction || action instanceof ToggleMenuAction)) { <del> const isDisabled = action.id.startsWith('statusbaraction'); // We can't support keybinding configuration for scm statusbar actions primaryActions.push(createConfigureKeybindingAction(this._commandService, this._keybindingService, action.id, undefined, !isDisabled)); </del> <ins> // only enable the configure keybinding action for actions that support keybindings const supportsKeybindings = !!this._keybindingService.lookupKeybinding(action.id); primaryActions.push(createConfigureKeybindingAction(this._commandService, this._keybindingService, action.id, undefined, supportsKeybindings)); </ins> } // -- Hide Actions --

Discussion:
Move out of workbench contribution would allow the toolbar to do an check instead of checking the action id. If we move it out we should consider renaming the to or similar.
The "check" in question has been introduced with would love to get your thoughts on this as it is not clear to me where we could move .
I've actually found a much better and more general solution to this. Initially I feared using the keybinding service would be slow, however, this is not the case. I changed it such that the keybinding service tells me if an action can be configured.
Change:
| '${' var transform '}' transform   ::= '/' regex '/' (format | text)+ '/' options format      ::= '$' int | '${' int '}' <del> | '${' int ':' '/upcase' | '/downcase' | '/capitalize' '}' </del> <ins> | '${' int ':' '/upcase' | '/downcase' | '/capitalize' | '/camelcase' | '/pascalcase' '}' </ins> | '${' int ':+' if '}' | '${' int ':?' if ':' else '}' | '${' int ':-' else '}' | '${' int ':' else '}'

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 see the grammar at only supports , , and for format options. can there be a option that would transform the match text into camelCase? Thanks for the awesome work!
Just FYI, I believe pascalcase is also supported but undocumented.
The docs were updated to include in
To verify: insert a snippet like below type 'Hello_World' press the second line should become
Change:
public readonly viewModel: DocumentDiffItemViewModel, private readonly _objectPool: ObjectPool<TemplateData, DiffEditorItemTemplate>, private readonly _scrollLeft: IObservable<number>, <ins> private readonly _deltaScrollVertical: (delta: number) => void, </ins> ) { super();

Discussion:
Multi diff editor issue while expanding the hidden lines VS Code Version: 1.86 insider OS Version: Windows 11 //cc Steps to Reproduce: the multi diff editor on the hidden lines at the bottom ( the blue line) now it will expand the 10 lines now scrolling top doesn't show me the '5 hidden lines' text until I scroll down and then scroll up again
Change:
import { ITASExperimentService } from 'vs/workbench/services/experiment/common/experimentService'; import { IAuthenticationService } from 'vs/workbench/services/authentication/browser/authenticationService'; import { registerMainProcessRemoteService } from 'vs/platform/ipc/electron-sandbox/services'; <ins> import { IWorkspaceTrustManagementService } from 'vs/platform/workspace/common/workspaceTrust'; </ins> export class WorkbenchIssueService implements IWorkbenchIssueService { declare readonly _serviceBrand: undefined;

Discussion:
When I report an issue from our issue reporter from an untrusted workspace, there is no info about this in the GH issue.
Marking as important to make sure we care about this before enabling trust by default to not make our life harder for triaging issues than it needs to be.
Two examples: in an effort to make the smallest change this late in the game, I’ve put it in System Info however when you report a performance issue, we also have a section called “Workspace Info” that shows up that gives details on the workspace (like number of files, etc). I think it should eventually go there
lol jk sent a PR putting it next to the OS which I don't love... but the change is small and it means the user can't not tell us their WT situation which is good.
Change:
}); }); }); <del> }); </del>  No newline at end of file <ins> test('lookup with null', (done: () => void) => { const configurationRegistry = <IConfigurationRegistry>Registry.as(ConfigurationExtensions.Configuration); configurationRegistry.registerConfiguration({ 'id': '_testNull', 'type': 'object', 'properties': { 'lookup.service.testNullSetting': { 'type': 'null', } } }); testFile((testFile, cleanUp) => { const service = new ConfigurationService(new SettingsTestEnvironmentService(parseArgs(process.argv), process.execPath, testFile)); let res = service.lookup('lookup.service.testNullSetting'); assert.strictEqual(res.default, null); assert.strictEqual(res.value, null); assert.strictEqual(res.user, void 0); fs.writeFileSync(testFile, '{ "lookup.service.testNullSetting": null }'); return service.reloadConfiguration().then(() => { res = service.lookup('lookup.service.testNullSetting'); assert.strictEqual(res.default, null); assert.strictEqual(res.value, null); assert.strictEqual(res.user, null); service.dispose(); cleanUp(done); }); }); }); }); </ins>

Discussion:
'null' is a valid value for a setting, but turns it into 'undefined'. have the following workspace settings:set a breakpoint in '' at the value is 'undefined' should indicate that the setting has not been set in the workspace (luckily it is not a valid configuration value as we only support valid JSON data types)
Same problem with the default and user value. It's always 'undefined' instead of 'null'. The bug is in
I created a PR with a