jiebi/CodeConvo huggingface dataset:
Code change:
this.instantiationService.createInstance(InstallingLabelAction), this.instantiationService.createInstance(ActionWithDropDownAction, 'extensions.uninstall', UninstallAction.UninstallLabel, [ [ <ins> this.instantiationService.createInstance(MigrateDeprecatedExtension, false), </ins> this.instantiationService.createInstance(UninstallAction), this.instantiationService.createInstance(InstallAnotherVersionAction), ]

Related discussion:
text: Code, search for "bracket pair colorizer" how it is nicely rendered as deprecated on install -notice dialog The dialog should offer a third button to configure built-in settings instead. Same if an extension had an alternative extension. Example: ! fyi
I assume you want the extra button to replicate this link in the hover tip, right? ! As an aside, any doc yet about how an extension gets tagged as deprecated?
yes, a button that will replicate that behaviour correct. No docs yet written. I plan to add them soon. The process is to write an email to us or to ping us on GitHub. In the future we will have a more straightforward approach when MP adds UI.
I feel, the third option would be a general options like More Information... clicking on this shall open the extension editor. This will be consistent and useful so that user will get enough info before taking an action
"More Information..." might work, but in order to have one less hop we could render: "Install EXTENSION_NAME Instead" "Enable Native Settings Instead" That would just do the action right straight away. I am not sure if those button names are too long. So just a suggestion. Whatever you prefer...
Yah I see your point, but going to extension editor gives user more information and an opportunity to look at the alternative extension before installing. And also I do not like that this button changes with extension. More Information... would be consistent.
That's fair. We can start with your proposal and see how it goes. My only concern with "More Information" is that the user might think it is more information about the deprecation. While we actually want to guide the user to a solution. So it is something like "More about the alternative". I am not sure if there is a good button label to represent this.
<img width="308" alt="image (1)" src="https://user-"
Changed the second button as follows ! !
Awesome!!
Code change:
"tas-client-umd": "0.1.4", "vscode-oniguruma": "1.6.1", "vscode-textmate": "7.0.1", <del> "xterm": "4.19.0-beta.24", "xterm-addon-search": "0.9.0-beta.21", </del> <ins> "xterm": "4.19.0-beta.25", "xterm-addon-search": "0.9.0-beta.22", </ins> "xterm-addon-unicode11": "0.4.0-beta.3", <del> "xterm-addon-webgl": "0.12.0-beta.28" </del> <ins> "xterm-addon-webgl": "0.12.0-beta.29" </ins> } }

Related discussion:
text: <!-- 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 VS Code Version: 1.67.0-insiders OS Version: macOS 12.3.1 Steps to Reproduce: the terminal scrollback to 30'000 for With version 1.65.0 this was not a problem, but there was no highlighting. It would be enough if I can disable the highlighting or disable the highlighting automatically if the history is longer than x lines. https://user-
That doesn't look or feel slow to me - can you elaborate on what the issue you're dealing with is?
Is it Upstream or VSCode Core.
Happens for me too, when you search then type abs quickly and it takes ~5-10 seconds for the letters to appear, same goes with erasing letters.
Search is fast now but matches info is not being shown -
Code change:
} layout(maxHeight?: number): void { <del> this.list.getHTMLElement().style.maxHeight = maxHeight ? `calc(${Math.floor(maxHeight / 44) * 44}px)` : ''; </del> <ins> this.list.getHTMLElement().style.maxHeight = maxHeight ? `${ // Make sure height aligns with list item heights Math.floor(maxHeight / 44) * 44 // Add some extra height so that it's clear there's more to scroll + 6 }px` : ''; </ins> this.list.layout(); }

Related discussion:
text: When a quickpick has more items than can fit into the initial list, it's not obvious there are hidden items that need to be scrolled into view. The current visual treatment is a very subtle scrollbar flash when the quickpick is first opened, but thereafter there is no visual indication that there are more items. The current behavior presents issues for the remote indicator menu, which displays actions from all installed remote extensions (connect to host, create new codespace) etc. The remote indicator menu is meant to improve discoverability and ease of access to remote actions, and the current truncation inhibits discoverability of those remote actions. Proposals: a arrow button at the bottom of the quickpick when there are items offscreen which will scroll down to the next 'page' of items when clicked render the scrollbar
Looking at prior art here: Slack ! Spotlight ! GitHub ! Teams ! Alfred ! Docker ! One thing I'm noticing is that some render the height as the middle of an item... which is an indication that there is scroll. Not sure if that is intentional or not, but it would be something that we have control of. While the is a neat idea, I fear that it will be in the way while reading the item it is on top of... My preference is either render the scroll bar... or maybe do nothing since the "command palette" experience can be seen across many products and most if not all allow scrolling.
Oh, I wanted to point out that the scroll bar does flash today: ! and if your mouse is hovering over the list, the scrollbar sticks around. This feels like enough of an indication that there's scroll.
Instead of rendering it atop an item, what if we rendered it below all the items in the quickpick?
Do you not think the flashing scroll bar is enough? The Explorer does this too.
I don't think it's enough, particularly for the remote indicator scenario where you're triggering it by clicking the status bar--there will be a brief flash when it's first opened, and if you then use up/down arrows to navigate through the list, you don't see the scrollbar.
Is this a hunch or based on user feedback? I talked to a bit about how the fading went when we rolled it out everywhere and there were some issues opened: not scoped to quickpick but rather holistically.
Code change:
} layout(maxHeight?: number): void { <del> this.list.getHTMLElement().style.maxHeight = maxHeight ? `calc(${Math.floor(maxHeight / 44) * 44}px)` : ''; </del> <ins> this.list.getHTMLElement().style.maxHeight = maxHeight ? `${ // Make sure height aligns with list item heights Math.floor(maxHeight / 44) * 44 // Add some extra height so that it's clear there's more to scroll + 6 }px` : ''; </ins> this.list.layout(); }

Related discussion:
text: We have settings to control the behavior but only in the editor I guess: ! in terms of proposal 1 for scrollbar visibility, I feel like the issues I linked are a better holistic way forward. As for the ... I'm not sold. Either it makes the quick pick taller (just for a little arrow) or it covers up content.... plus I couldn't find a single quick pick example in the wild that takes this approach.
I think it's fair to consider a global treatment for scrollable content as you say, the linked proposals look promising.
Proposed solution: increase the by a little bit so it renders like: !
steps to verify: open the command palette it should render in the middle of the item (like my last screenshot) to indicate that it does scroll
Code change:
export const suggestMemoryService = define(ISuggestMemoryService, (o) => new SuggestMemoryService(storageService.get(o), configurationService.get(o))); <ins> export const codeLensCacheService = define(ICodeLensCache, (o) => new CodeLensCache(storageService.get(o))); </ins> } export class DynamicStandaloneServices extends Disposable {

Related discussion:
text: <!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: master Ran into this issue while preparing Monaco release in vscode repo open monaco-editor test page switch monaco-editor-core source to not found error in Dev Console is registered through which is only read by workbench We can add the singleton services to standalone but a simple standalone service can also fix the problem <img width="576" alt="image" src="https://user-" let me know if you have time for a quick fix, if not I can push my change to branch first to unblock publishing.
FYI is also made to ensure work at this moment. Unluckily our intermediate typescript files for tree shaking don't apply to yet. The commit will be cherry-picked to master later.
There is no need for , the default implementation is good enough and just needs to be brought into the editor land.
please review
can you clarify the steps for this? I'm not sure where the monaco-editor test page is
I can take this one
Code change:
} // Workspace trust <del> if (typeof config?.security?.workspace?.trust?.enabled === 'boolean' && config.security?.workspace.trust.enabled !== this.workspaceTrustEnabled) { this.workspaceTrustEnabled = config.security.workspace.trust.enabled; changed = true; } </del> <ins> processChanged(this.workspaceTrustEnabled.handleChange(config?.security?.workspace?.trust?.enabled)); </ins> } // Profiles <del> if (this.productService.quality === 'stable' && typeof config.workbench?.experimental?.settingsProfiles?.enabled === 'boolean' && config.workbench.experimental.settingsProfiles.enabled !== this.settingsProfilesEnabled) { this.settingsProfilesEnabled = config.workbench.experimental.settingsProfiles.enabled; changed = true; } </del> <ins> processChanged(this.productService.quality === 'stable' && this.settingsProfilesEnabled.handleChange(config.workbench?.experimental?.settingsProfiles?.enabled)); </ins> // Experiments <del> if (typeof config.workbench?.enableExperiments === 'boolean' && config.workbench.enableExperiments !== this.experimentsEnabled) { this.experimentsEnabled = config.workbench.enableExperiments; changed = true; } </del> <ins> processChanged(this.experimentsEnabled.handleChange(config.workbench?.enableExperiments)); </ins> // Profiles <del> if (this.productService.quality !== 'stable' && typeof config._extensionsGallery?.enablePPE === 'boolean' && config._extensionsGallery?.enablePPE !== this.enablePPEExtensionsGallery) { this.enablePPEExtensionsGallery = config._extensionsGallery?.enablePPE; changed = true; } </del> <ins> processChanged(this.productService.quality !== 'stable' && this.enablePPEExtensionsGallery.handleChange(config._extensionsGallery?.enablePPE)); </ins> // Notify only when changed and we are the focused window (avoids notification spam across windows) if (notify && changed) {

Related discussion:
text: I think a class like this could be helpful: Usage: Originally posted by in
please let me know if you like this!
This class is primarily owned by Hence assigning to him.
Yes, feel free, I can review a PR, thanks.
Code change:
this.toDispose.push(this.editor.onDidChangeModelContent(() => this.update())); this.toDispose.push(this.inlineChatService.onDidChangeProviders(() => this.update())); this.toDispose.push(this.editor.onDidChangeModelDecorations(() => this.update())); <ins> this.toDispose.push(this.editor.onDidChangeConfiguration((e: ConfigurationChangedEvent) => { if (e.hasChanged(EditorOption.readOnly)) { this.update(); } })); </ins> this.toDispose.push(this.configurationService.onDidChangeConfiguration(e => { if (e.affectsConfiguration(emptyTextEditorHintSetting)) { this.update();

Related discussion:
text: <img width="642" alt="image" src=""
How do you repro this? We don't show the hint for readonly editors:
an file 1 -My guess is we don't re-evaluate the change
Code change:
scrollbar: { alwaysConsumeMouseWheel: false }, <del> ariaLabel: this._configurationService.getValue(AccessibilityVerbositySettingId.Chat) ? localize('chat.codeBlockHelp', 'Code block, to discover ways this can be interacted with, search the command palette for Chat: Insert and Chat: Run.') : localize('chat.codeBlock', 'Code block'), </del> <ins> ariaLabel: localize('chat.codeBlockHelp', 'Code block'), </ins> ...this.getEditorOptionsFromConfig() }, { isSimpleWidget: true,

Related discussion:
text: We should not translate the PHP parser error messages, but we should localize the strings that appear in the Code UI. !
Code change:
"dependencies": { "vscode-css-languageservice": "^6.0.1", "vscode-html-languageservice": "^5.0.0", <del> "vscode-languageserver": "^8.0.1", </del> <ins> "vscode-languageserver": "^8.0.2-next.4", </ins> "vscode-languageserver-textdocument": "^1.0.4", "vscode-nls": "^5.0.1", "vscode-uri": "^3.0.3"

Related discussion:
text: Version: 1.68.0-insider Commit: Date: 2022-06-02T05:17:01.962Z open the Settings JSON editor add some unnecessary commas no problems reported in the problems view. open the JSON Language Server log. Observe that there are no diagnostic requests. Other requests are sent and completed, so the language server is running.
Maybe unrelated: I was expecting "trailing comma" warnings in (we recently changed the schema to not accept them), but they only started showing after I flushed the schema cache (using the UI command) and reloaded the window (I can't completely rule out that a window reload alone would have helped).
I checked that with the fix the trailing commas are reported
Code change:
vertical-align: middle; } <del> .monaco-workbench .part.editor > .content .editor-group-container > .editor-group-watermark > .shortcuts dt, .monaco-workbench .part.editor > .content .editor-group-container > .editor-group-watermark > .shortcuts dl { color: rgba(0,0,0,.68); } .monaco-workbench.vs-dark .part.editor > .content .editor-group-container .editor-group-watermark > .shortcuts dt, .monaco-workbench.vs-dark .part.editor > .content .editor-group-container .editor-group-watermark > .shortcuts dl { color: rgba(255,255,255,.6); } .monaco-workbench.hc-black .part.editor > .content .editor-group-container .editor-group-watermark > .shortcuts dt, .monaco-workbench.hc-light .part.editor > .content .editor-group-container .editor-group-watermark > .shortcuts dt { color: var(--vscode-editor-foreground); } .monaco-workbench.hc-black .part.editor > .content .editor-group-container .editor-group-watermark > .shortcuts dl, .monaco-workbench.hc-light .part.editor > .content .editor-group-container .editor-group-watermark > .shortcuts dl { color: var(--vscode-editor-foreground); opacity: 1; } </del> /* Title */ .monaco-workbench .part.editor > .content .editor-group-container > .title {

Related discussion:
text: <!-- 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'd like to have a theme setting that would allow me to change the foreground of the text in red next to the shortcuts. I've reached out to the dev tools and wasn't able to track the setting. I searched Google, SO, ChatGPT and I've tested a bunch of foregrounds and nothing works. <img width="1012" alt="Screenshot 2024-01-10 at 16 21 18" src=""
I a new color . It is derived from the
Code change:
import electron = require('electron'); import platform = require('vs/base/common/platform'); import env = require('vs/workbench/electron-main/env'); <del> import storage = require('vs/workbench/electron-main/storage'); </del> import settings = require('vs/workbench/electron-main/settings'); import {Win32AutoUpdaterImpl} from 'vs/workbench/electron-main/win32/auto-updater.win32'; import {manager as Lifecycle} from 'vs/workbench/electron-main/lifecycle';

Related discussion:
text: Users that don't want automatic updates should still be given the opportunity to stay in the same version. ping
Code change:
: importAction; const secondaryAction = isWeb ? importAction <del> : new BarrierAction(barrier, new Action('close', localize('close', "Close"))); </del> <ins> : new BarrierAction(barrier, new Action('close', localize('close', "Close")), this.notificationService); </ins> const view = await this.showProfilePreviewView(IMPORT_PROFILE_PREVIEW_VIEW, importedProfile.name, primaryAction, secondaryAction, false, userDataProfileImportState); const message = new MarkdownString();

Related discussion:
text: <!-- 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.76.0 OS Version: macOS 11.6.2 Version: 1.76.0 Commit: Date: 2023-03-01T10:23:45.993Z Electron: 19.1.11 Chromium: 102.0.5005.196 16.14.2 V8: 10.2.154.26-electron.0 OS: Darwin x64 20.6.0 Sandboxed: No Summary When creating a profile with a name such as "Typescript / Javascript", the following happens: When exporting as a Gist, no result dialog shows ("there was trouble" / "created profile successfully") and a validation error is outputted in the logs When exporting to a local file, the text after the last forward slash is set as the filename. With the above example, it'd be " " To reproduce: a profile: Settings cog -"Profile ([...])" the profile: Select "Export Profile..." -"Export" the "name the profile" step, enter a name with a forward slash in like so: "Typescript / Javascript" either method for exporting: gist or local Expected results: If you select local: a system save prompt with the name you entered pre-set in the filename field If you select gist: A success dialog with a link to the website prefilled with your config Actual results: If you select local: only the text after the last forward slash is in the filename field If you select gist: No dialog shows.
Code change:
: importAction; const secondaryAction = isWeb ? importAction <del> : new BarrierAction(barrier, new Action('close', localize('close', "Close"))); </del> <ins> : new BarrierAction(barrier, new Action('close', localize('close', "Close")), this.notificationService); </ins> const view = await this.showProfilePreviewView(IMPORT_PROFILE_PREVIEW_VIEW, importedProfile.name, primaryAction, secondaryAction, false, userDataProfileImportState); const message = new MarkdownString();

Related discussion:
text: The following error is in the "output" window, under "Window": I can only test this on a macOS device, I haven't tried this on a Windows or other Linux device and I feel like (with the area in mind - filesystems etc) these issues could manifest differently or not even be an issue there. I'm assuming validation on the inputbox for the name will be required because filesystems (and Gist? not sure) don't typically support forward slashes in file names. Thanks and if you're reading this, have a great weekend :)
Gists do no accept in the name. Replaced with .
Code change:
if (_sticky) { return; } <del> this._hideWidgets(); </del> <ins> if (this._mouseWasOverWidget) { // The mouse just left the content widget and a timeout is trigerred to hide the widget // This timeout will be cancelled if the mouse re-enters the content widget this._hideWidgetsTimeout = setTimeout(() => { this._hideWidgets(); this._hideWidgetsTimeout = undefined; }, this._hidingDelay); this._mouseWasOverWidget = false; } else { this._hideWidgets(); } </ins> } private _onKeyDown(e: IKeyboardEvent): void {

Related discussion:
text: Currently the hover disappear as soon as the mouse leaves the content hover. Sometimes the user leaves briefly the content hover. The ask is to wait until some times (ex. 500 ms) has passed before measuring whether the mouse is within the hover or not, then make the hover disappear or not.
This would be quite helpful in resizing the hover (because it's easy to go out of the hover when aiming for the angle to hover with a mouse). But I would think 500 ms is too much for that use case
Code change:
*  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <del> .monaco-workbench .part > .title > .title-actions .switch-output  { </del> <ins> .monaco-workbench .part.sidebar > .title > .title-actions .switch-output, .monaco-pane-view .pane > .pane-header .monaco-action-bar .switch-output { border-width: 1px; border-style: solid; } .part.panel > .title > .title-actions .switch-output > .monaco-select-box { border-width: 1px; border-style: solid; } .monaco-workbench .part.sidebar > .title > .title-actions .switch-output  { </ins> display: flex; align-items: center; font-size: 11px;

Related discussion:
text: The select box in the panel header should have a white background: ! This is similar to the recent breakage with the simple editor widget background color in SCM and extensions views.
To Verify: to an obvious color. that terminal and output select boxes are using these when they are in their default locations in panel.
Code change:
this.findInput.inputBox.setPlaceHolder(mode === TreeFindMode.Filter ? localize('type to filter', "Type to filter") : localize('type to search', "Type to search")); } <ins> get value(): string { return this.findInput.inputBox.value; } set value(value: string) { this.findInput.inputBox.value = value; } </ins> private readonly modeToggle: ModeToggle; private readonly findInput: FindInput; private readonly actionbar: ActionBar;

Related discussion:
text: Testing When find box is not visible and I just type but there are multiple results, then maybe allow me via keybindings (F3?) to go to next/prev result?
You mean using the type navigation feature? I think this would be too implicit. I don't know of any other native widget doing something like this.
I think the editor has a way to navigate in find results even without showing find. i think in that mode it only puts the search toggles up in a little overlay.
The editor opens up the widget once again, when pressing <kbdF3</kbd. Yeah we can do that.
I think the tree does the same, I had tried and it showed the input box, but it was empty though.
Yeah. Renamed this to remember the input across usages, which is what the editor does.
Code change:
template.onChange = undefined; template.inputBox.value = typeof dataElement.value === 'number' ? <del> dataElement.value.toLocaleString(language) : ''; </del> <ins> dataElement.value.toString() : ''; </ins> template.inputBox.step = dataElement.valueType.includes('integer') ? '1' : 'any'; template.inputBox.setAriaLabel(dataElement.setting.key); template.onChange = value => {

Related discussion:
text: <img width="285" alt="image" src="https://user-"
strange as 1000 is a number <img width="1060" alt="Screenshot 2023-01-20 at 3 28 32 PM" src="https://user-"
value is here, not sure why <img width="1246" alt="Screenshot 2023-01-20 at 3 34 09 PM" src="https://user-"
Oh, changed the default value to 10 and it worked. I think 1000 is viewed as too high somewhere so it gets set to '' <img width="1052" alt="Screenshot 2023-01-20 at 3 39 55 PM" src="https://user-"
also tried because some other settings w high default values use that and it still didn't work
I some logging and it's because converts it to , and then the inputbox doesn't know how to handle the comma