jiebi/CodeConvo huggingface dataset:
Change:
}); } <ins> export function existsWithResult<T>(path: string, successResult: T): TPromise<T> { return exists(path).then((exists) => { return exists ? successResult : null; }, (err) => { return TPromise.wrapError(err); }); } </ins> function removeNull<T>(arr: T[]): T[] { return arr.filter(item => (item !== null));

Discussion:
I'm currently creating an extension for Meteor. I only want to activate it if the workspace contains a Meteor project. For that I would like to check for the presence of a directory.
In around: should accept folders not only files
This will be very helpful. Been stuck playing with with no luck whatsoever. All the commands are activated even when the dont match. E.g. I've put only in there and the commands still got activated. Not sure how this works. If none of the criteria matches, then the commands shouldn't be activated, right?
Change:
}; }; <ins> const createNotebookCodeActionsAutoSave = (description: string): IJSONSchema => { return { type: ['string', 'boolean'], enum: ['explicit', 'never', true, false], enumDescriptions: [ nls.localize('explicit', 'Triggers Code Actions only when explicitly saved.'), nls.localize('never', 'Never triggers Code Actions on save.'), nls.localize('explicitBoolean', 'Triggers Code Actions only when explicitly saved. This value will be deprecated in favor of "explicit".'), nls.localize('neverBoolean', 'Triggers Code Actions only when explicitly saved. This value will be deprecated in favor of "never".') ], default: 'explicit', description: description }; }; </ins> const codeActionsOnSaveSchema: IConfigurationPropertySchema = { oneOf: [

Discussion:
Testing I have the following set: When using the sample extension at I expect this to not trigger the code action on save but it does do it. Because there is no auto-complete I tried a bunch of other things also to no avail.
Change:
justify-content: flex-start; } <ins> .default-preferences-editor-container > .preferences-header-container > .default-preferences-header, </ins> .settings-tabs-widget > .monaco-action-bar .action-item { padding: 3px 0px; }

Discussion:
Issue Type: <bBug</bOpen settings in JSON view. ! VS Code version: Code 1.27.2 (, 2018-09-12T16:17:45.060Z) OS version: Windows_NT x64 10.0. <!-- generated by issue reporter --
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.546 --<!-- potentialduplicatescomment --
Change:
import { ContributedEditorInfo, ContributedEditorPriority, ContributionPointOptions, DEFAULT_EDITOR_ASSOCIATION, DiffEditorInputFactoryFunction, EditorAssociation, EditorAssociations, EditorInputFactoryFunction, editorsAssociationsSettingId, globMatchesResource, IEditorOverrideService, priorityToRank } from 'vs/workbench/services/editor/common/editorOverrideService'; import { IKeyMods, IQuickInputService, IQuickPickItem, IQuickPickSeparator } from 'vs/platform/quickinput/common/quickInput'; import { localize } from 'vs/nls'; <del> import { Codicon } from 'vs/base/common/codicons'; </del> import { INotificationService, Severity } from 'vs/platform/notification/common/notification'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { registerSingleton } from 'vs/platform/instantiation/common/extensions';

Discussion:
When changing the default editor we show a in the quick pick to change this. The gear action by itself is not clear that it will immediately change the default and assume there would be another screen to confirm. ! Change the flow to match how you select different formatters to make it clearer/explicit. In the formatter case, there is a "Configure Default Formatter..." that is clear and indicates that user input is required on the next step. The same can be applied to default editors. ! cc
Change:
set isTrusted(value: boolean | undefined) { this._mementoObject[this._isTrustedKey] = value; <del> if (!value) { this._mementoObject[this._acceptsOutOfWorkspaceFilesKey] = value; } </del> this._memento.saveMemento(); } }

Discussion:
Steps to Reproduce: Workspace and trust it code-insiders from a folder that is not trusted. -Shows the dialog code-insiders from a folder that is not trusted. -No warning dialog the window code-insiders from a folder that is not trusted. Expected: No warning dialog should be shown Actual: A warning dialog is being shown
Pushed a fix for this to main. Fix is low risk so we can take it as a candidate.
Change:
readonly instances: readonly ITerminalInstance[]; openEditor(instance: ITerminalInstance, sideGroup?: boolean): Promise<void>; <del> getOrCreateEditorInput(instance: ITerminalInstance | DeserializedTerminalEditorInput | URI): TerminalEditorInput; </del> detachActiveEditorInstance(): ITerminalInstance; detachInstance(instance: ITerminalInstance): void; splitInstance(instanceToSplit: ITerminalInstance, shellLaunchConfig?: IShellLaunchConfig): ITerminalInstance; <del> revealActiveEditor(preserveFocus?: boolean): void </del> <ins> revealActiveEditor(preserveFocus?: boolean): void; resolveResource(instance: ITerminalInstance | URI): URI; reviveInput(deserializedInput: DeserializedTerminalEditorInput): TerminalEditorInput; getInputFromResource(resource: URI): TerminalEditorInput; </ins> } export interface ICreateTerminalOptions {

Discussion:
Context: Essentially instead of creating s we will assign URIs to the shell launch configs and only create the terminals when the input is created.
This should also include the fix for splitCwd support in terminal editors:
Change:
const model = editor.getModel(); const provider = getRealAndSyntheticDocumentFormattersOrdered(model); const pick = await instaService.invokeFunction(showFormatterPick, model, provider); <del> if (pick) { </del> <ins> if (typeof pick === 'number') { </ins> await instaService.invokeFunction(formatDocumentWithProvider, provider[pick], editor, FormattingMode.Explicit, CancellationToken.None); } logFormatterTelemetry(telemetryService, 'document', provider, typeof pick === 'number' && provider[pick] || undefined);

Discussion:
install open a json document open the context menu, and pick the first entry in the list. Nothing happens.
this is 0 being falsy...
JFR: setting first formatter as default and running "Format Document" works as a workaround.
fix for next insiders and for 1.33.1
wt., 9 kwi 2019, 17:57 użytkownik Johannes Rieken <notifications
verified in Version: 1.34.0-insider Commit:
Change:
} const optionsRef = options.limit.id; <ins> const historyItemGroupIdRef = await this.repository.revParse(historyItemGroupId) ?? ''; </ins> const [commits, summary] = await Promise.all([ <del> this.repository.log({ range: `${optionsRef}..${historyItemGroupId}`, sortByAuthorDate: true }), this.getSummaryHistoryItem(optionsRef, historyItemGroupId) </del> <ins> this.repository.log({ range: `${optionsRef}..${historyItemGroupIdRef}`, sortByAuthorDate: true }), this.getSummaryHistoryItem(optionsRef, historyItemGroupIdRef) </ins> ]); const historyItems = commits.length === 0 ? [] : [summary];

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: OS Version: Steps to Reproduce: on a file from the "All Changes" node that the diff editor does not have the commit for the right hand side !
Change:
this.state = { ...this.state, HEAD: this.repository.HEAD, <ins> isMergeInProgress: this.repository.mergeGroup.resourceStates.length !== 0, </ins> repositoryHasChanges: this.repository.indexGroup.resourceStates.length !== 0 || <del> this.repository.mergeGroup.resourceStates.length !== 0 || </del> this.repository.untrackedGroup.resourceStates.length !== 0 || this.repository.workingTreeGroup.resourceStates.length !== 0 };

Discussion:
a folder/workspace that contains a git repository a topic branch changes to main and the topic branch that would result in a merge conflict main into the topic branch to get a conflict Expected: commit action button is disabled Actual: commit action button is enabled
The button is now disabled while merging is in progress, but the button and the dropdown both take on a background color when clicked, which was confusing to me: !
Also, while the commit action button is disabled, the commit button above the input box is not: !
That is expected. At the moment the enablement is only toggled for the commit action button and not the commit action in the toolbar.
This is currently being tracked as
Change:
public registerColor(id: string, defaults: ColorDefaults | ColorValue | null, description: string, needsTransparency = false, deprecationMessage?: string): ColorIdentifier { const colorContribution: ColorContribution = { id, description, defaults, needsTransparency, deprecationMessage }; this.colorsById[id] = colorContribution; <del> const propertySchema: IJSONSchemaWithSnippets = { type: 'string', description, format: 'color-hex', defaultSnippets: [{ body: '${1:#ff0000}' }] }; </del> <ins> const propertySchema: IJSONSchemaWithSnippets = { type: 'string', format: 'color-hex', defaultSnippets: [{ body: '${1:#ff0000}' }] }; </ins> if (deprecationMessage) { propertySchema.deprecationMessage = deprecationMessage; }

Discussion:
Testing See detail should be showing here but it's not: <img width="637" alt="Screenshot 2024-08-27 at 9 51 25 AM" src=""
Change:
export class PortAttributes { private _autoForwardAction: PortAutoForwardAction; <del> constructor(autoForwardAction: PortAutoForwardAction); constructor(port: number, autoForwardAction: PortAutoForwardAction); constructor(portOrAction: number | PortAutoForwardAction, autoForwardAction?: PortAutoForwardAction) { if (typeof portOrAction === 'number') { this._autoForwardAction = autoForwardAction!; } else { this._autoForwardAction = portOrAction; } </del> <ins> constructor(autoForwardAction: PortAutoForwardAction) { this._autoForwardAction = autoForwardAction; </ins> } get autoForwardAction(): PortAutoForwardAction {

Discussion:
Testing When I try to return , , and aren't working for me. an extension as described in and create a ports attribute provider. the following to return one of the above actions: running the command, we just get a notification. :bug: I'm not sure whether this is happening because I'm in a devcontainer.
Hmm, I'm still seeing this in an alpine devcontainer. The previews/browsers should open immediately upon detection, right?
Verified using different verif steps than above.
Change:
constructor( readonly xterm: Terminal, @IConfigurationService private readonly _configurationService: IConfigurationService, <ins> @IProductService private readonly _productService: IProductService, </ins> ) { }

Discussion:
Type: <bBug</bContext I want to use vscode-URLs to directly drop into a debugging session. My script can be found at Expected behavior When cmd-clicking this link from inside VSCode, I would expect to be dropped into the debugging session <img width="1287" alt="Screenshot 2022-08-22 at 10 25 59" src="https://user-"Actual behavior Instead, the link gets opened in VS Code's search bar <img width="904" alt="Screenshot 2022-08-22 at 10 27 17" src="https://user-"Additional information I am sure the link itself is fine, because when I copy it from the console and paste it into Chrome's address bar, then VSCode opens my debugging session as expected. Also see VS Code version: Code 1.70.2 (, 2022-08-16T05:36:37.829Z) OS version: Darwin x64 21.6.0 Modes: Remote OS version: Linux x64 5.15.0-30-generic Remote OS version: Linux x64 5.15.0-30-generic <details<summarySystem Info</summary </details<details<summaryExtensions (7)</summaryExtensionVersion ------ better-cpp-syntax1.15.19 jupyter-keymap1.0.0 remote-ssh0.84.0 remote-ssh-edit0.80.0 llvm0.1.1 vscode-clangd0.1.21 vscode-lldb1.7.4 </details<!-- generated by issue reporter --
since the url would need to open a JS/browser debug session, would the JavaScript Debugger Companion Extension be of help here?
This is debugging with lldb, so it's not in the domain of js-debug
This is a request to essentially hook up the terminal link detector to whatever handles external custom protocol links. We may be able to just add vscode:// and vscode-insiders:// to the uri detection? This may need changes in the editor's link detector
Change:
const last = this.userDataSyncService.lastSyncTime; let label: string; if (typeof last === 'number') { <del> const d = fromNow(last, true); </del> <ins> const d = fromNow(last, true, undefined, true); </ins> label = localize('lastSyncedLabel', "Last synced: {0}", d); } else { label = '';

Discussion:
Version: 1.44.0-insider (user setup) Commit: Date: 2020-03-31T08:23:56.446Z Electron: 7.1.11 Chrome: 78.0.3904.130 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0. This: ! Reminds me of this in onenote: ! The latter of which drives me crazy as it always lies to me and a restart to re-sync onenote is needed sometimes. Can we get the local time down to the second when you hover the last synced text?
what are the current setup steps for Sync in OSS? I have the setting set to whatever I tested it with a couple months ago but I don't see any Sync commands in the command palette. I can't remember where this is written down.
Could just put the real time in a tooltip, if that helps
I think just the change is needed to get it going in Code OSS. would solve my problem.
Change:
"explorer/context": [ { "command": "markdown.showPreview", <del> "when": "resourceLangId == markdown", </del> <ins> "when": "resourceLangId == markdown && !hasCustomMarkdownPreview", </ins> "group": "navigation" } ], "editor/title/context": [ { "command": "markdown.showPreview", <del> "when": "resourceLangId == markdown", </del> <ins> "when": "resourceLangId == markdown && !hasCustomMarkdownPreview", </ins> "group": "1_open" } ],

Discussion:
allows extensions to disable the "Open Preview" button in markdown files. This option should also disable the "Open Preview" button in the context menus. ! Originally posted by in
/verified In stable: ! In insiders: !
Change:
import { IExtensionDescription } from 'vs/platform/extensions/common/extensions'; import { LogLevel, createHttpPatch, createProxyResolver, createTlsPatch, ProxySupportSetting, ProxyAgentParams, createNetPatch } from '@vscode/proxy-agent'; <del> const systemCertificatesV2Default = true; </del> <ins> const systemCertificatesV2Default = false; </ins> export function connectProxyResolver( extHostWorkspace: IExtHostWorkspaceProvider,

Discussion:
Still investigating two issues: It will be safest to revert to the old certificate loading for now until we get more time for investigating and testing fixes for these issues.
Closing for verification.
To verify: Set log level to trace. Reload window. Check that the Extension Host output channel does not contain any entries. (To cross-check you can re-enable the reverted behavior with the user setting: )
Change:
pendingChanges.push(e); }); <del> const styling = this._semanticStyling.get(provider); </del> request.then((res) => { this._currentDocumentRequestCancellationTokenSource = null; <ins> const styling = this._semanticStyling.get(provider); // Do this after the provider gets results to ensure legend matches </ins> contentChangeListener.dispose(); this._setDocumentSemanticTokens(provider, res || null, styling, pendingChanges); }, (err) => {

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. --This request is to allow semantic tokens to not just pick the first most provider in the list of providers. But instead pick the provider that actually has tokens to return. The use case for this is to support jupyter notebook token colorization. Right now there are at least 2 language servers returning tokens for python notebooks: 1) Python extension has a language server registered for all 'python' files. There's no way to 'exclude' files from a DocumentFilter so it has a piece that excludes all notebook cells. 2) Jupyter extension has one ore more language servers registered for all notebook cells. One or more is because the language server in use can only support one python interpreter at a time, so one language server is created per python interpreter in use for any notebook (multiple interpreters can be in use in one VS code session). When semantic tokens are requested the middleware piece in the juptyer extension will skip sending token requests to if they're not for the appropriate document. This creates a problem with the current implementation because the first registered language server wins. This can randomly be python's (where no tokens are returned) or one of the jupyter one's (where it might return tokens if the interpreter for the document matches). I believe this could all be accomplished by making a compositing token provider in the VS code source. Something like so:
I'm going to try out the composite idea and submit a PR if it works.
Verified it works with a notebook !
hey, uhh, I opened an feature-request about semantic tokens the other day, just right after 4 hours from you.... I was trying to make a SemanticTokensProvider that overrides or works on top of already registered another one.... 't it be better if there could be multiple SemanticTokensProvider to work alongside, maybe override one another by User-Specified priority levels? I was struggling to override some of SemanticTokens that the C/C++ extension provides, but then I found out its not really possible to have multiple running Provider for SemanticTokens....
This is a different use case than what I had envisioned. My use case was there were multiple providers but only one was actually returning anything.

Combining them sounds like an even better way to handle it. It would handle it for my case and your case. I upvoted your request.
Thank you.... 19 More people and I really dont have any idea how to get there tho, haha.
Change:
if (e.ctrlKey || e.shiftKey) { return; } <del> if (e.code === 'ArrowDown' || e.code === 'End' || e.code === 'ArrowUp' || e.code === 'Home') { </del> <ins> if (e.code === 'ArrowDown' || e.code === 'ArrowUp' || e.code === 'End' || e.code === 'Home' || e.code === 'PageUp' || e.code === 'PageDown') { </ins> // These should change the scroll position, not adjust the selected cell in the notebook e.stopPropagation(); }

Discussion:
Testing Up / down, go to top / bottom always targets the editor's scroll position, not the cell's scroll position. (Related: )
It actually only navigates the input cells. I can then tab into the input cell, but not the output cell. I think for accessibility there would have to be a way to focus the output cell, so that can be scrolled too?
I also see this, page up/down, ctrl+home/end act strangely
We didn't update when clauses for arrow keys and page down/ups so when the focus is inside the scrollable output, it scrolls both the output and the editor.
Change:
* has changed. *Note* that the event also fires when the active editor changes * to `undefined`. */ <del> export const onDidChangeActiveTextEditor: Event<TextEditor>; </del> <ins> export const onDidChangeActiveTextEditor: Event<TextEditor | undefined>; </ins> /** * An [event](#Event) which fires when the array of [visible editors](#window.visibleTextEditors)

Discussion:
I just had "preview" enabled and clicked on many typescript files rapidly so that they changed a lot. The console shows:
Change:
"license": "MIT", "description": "Dependencies shared by all extensions", "dependencies": { <del> "typescript": "4.2.2" </del> <ins> "typescript": "4.2.3" </ins> }, "scripts": { "postinstall": "node ./postinstall"

Discussion:
Tracks bundling TS 4.2.3 with VS Code. This includes a
Should be in recovery and in main now
Change:
get onDidChangeSelection(): Event<ITreeEvent<T>> { return Event.map(this.tree.onDidChangeSelection, asTreeEvent); } get onKeyDown(): Event<KeyboardEvent> { return this.tree.onKeyDown; } <ins> get onMouseOver(): Event<ITreeMouseEvent<T>> { return Event.map(this.tree.onMouseOver, asTreeMouseEvent); } </ins> get onMouseClick(): Event<ITreeMouseEvent<T>> { return Event.map(this.tree.onMouseClick, asTreeMouseEvent); } get onMouseDblClick(): Event<ITreeMouseEvent<T>> { return Event.map(this.tree.onMouseDblClick, asTreeMouseEvent); } get onContextMenu(): Event<ITreeContextMenuEvent<T>> { return Event.map(this.tree.onContextMenu, asTreeContextMenuEvent); }

Discussion:
It looks like everything is getting disposed properly and I haven't been able to find a way to repro. It looks like this has only been seen on builds that are 12 days old. Let's see if we see it again.
I can repro if I have a tree with ~145 elements visible, as each one has a listener for whether the inline menu items change base on context key value changes. This listener is also apparently listening for whether a menu item's "hidden state" also changes, which is where the problem occurs. It seems that every menu in the workbench listens for the same "hidden state" event.
The error telemetry should be fixed, but we're still going to listen on tree menus.
Change:
*  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <del> import * as instantiation from './instantiation'; </del> export class SyncDescriptor<T> { readonly ctor: any;

Discussion:
I a service injection dependency to some class and ended up with a very confusing TS error from a line that called . It turns out that you can't call it for a service with more than 8 dependencies because of how is defined. It's not a problem for me anymore because that function is barely used anywhere and I just changed to using the SyncDescriptor constructor directly. I wonder whether we should delete it or fix the definition of to have a definition that takes arbitrary #s of arguments, but I don't know what the intent of this code is. You touched this at some point maybe you know something about it.
This should be more or less adding one more of those. Tho, maybe there is newer, fancier ways in TS nowadays
That helper is only used in 1 place though. And we call directly in 200+ places. Just pointing that out too.
Assigning to who is that one user of 
What am I supposed to do?
Read this issue?
tldr; you are the only user of , either remove your usage or take ownership, e.g keep in line with its base class
I do not recall adding this method and it is outside of the history of GH, but it seems it so I let him decide to "either remove your usage or take ownership". The easiest is probably to inline it.