finalize quickpick API

This commit is contained in:
Tyler Leonhardt
2022-01-21 14:08:01 -08:00
parent 02606cdab2
commit e15397d2bb
8 changed files with 9 additions and 33 deletions

View File

@@ -10,7 +10,6 @@
"enabledApiProposals": [
"inlayHints",
"languageStatus",
"quickPickSeparators",
"resolvers",
"workspaceTrust"
],

View File

@@ -12,7 +12,6 @@
"../../src/vscode-dts/vscode.d.ts",
"../../src/vscode-dts/vscode.proposed.inlayHints.d.ts",
"../../src/vscode-dts/vscode.proposed.languageStatus.d.ts",
"../../src/vscode-dts/vscode.proposed.quickPickSeparators.d.ts",
"../../src/vscode-dts/vscode.proposed.resolvers.d.ts",
"../../src/vscode-dts/vscode.proposed.workspaceTrust.d.ts",
]

View File

@@ -610,10 +610,6 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
return <Thenable<any>>extHostMessageService.showMessage(extension, Severity.Error, message, rest[0], <Array<string | vscode.MessageItem>>rest.slice(1));
},
showQuickPick(items: any, options?: vscode.QuickPickOptions, token?: vscode.CancellationToken): any {
// TODO: remove this once quickPickSeparators has been finalized.
if (Array.isArray(items) && items.some((item) => item.kind === extHostTypes.QuickPickItemKind.Separator)) {
checkProposedApiEnabled(extension, 'quickPickSeparators');
}
return extHostQuickOpen.showQuickPick(items, options, token);
},
showWorkspaceFolderPick(options?: vscode.WorkspaceFolderPickOptions) {

View File

@@ -18,7 +18,6 @@ import { ExtensionIdentifier, IExtensionDescription } from 'vs/platform/extensio
import { coalesce } from 'vs/base/common/arrays';
import Severity from 'vs/base/common/severity';
import { ThemeIcon as ThemeIconUtils } from 'vs/platform/theme/common/themeService';
import { checkProposedApiEnabled } from 'vs/workbench/services/extensions/common/extensions';
export type Item = string | QuickPickItem;
@@ -522,8 +521,7 @@ export function createExtHostQuickOpen(mainContext: IMainContext, workspace: IEx
private readonly _onDidChangeSelectionEmitter = new Emitter<T[]>();
private readonly _onDidTriggerItemButtonEmitter = new Emitter<QuickPickItemButtonEvent<T>>();
// TODO: revert this change once quickPickSeparators has been finalized.
constructor(private readonly extension: IExtensionDescription, onDispose: () => void) {
constructor(extension: IExtensionDescription, onDispose: () => void) {
super(extension.identifier, onDispose);
this._disposables.push(
this._onDidChangeActiveEmitter,
@@ -538,10 +536,6 @@ export function createExtHostQuickOpen(mainContext: IMainContext, workspace: IEx
}
set items(items: T[]) {
if (items.some((item) => item.kind !== undefined)) {
checkProposedApiEnabled(this.extension, 'quickPickSeparators');
}
this._items = items.slice();
this._handlesToItems.clear();
this._itemsToHandles.clear();

View File

@@ -2962,7 +2962,7 @@ export class QuickInputButtons {
export enum QuickPickItemKind {
Separator = -1,
Default = 1,
Default = 0,
}
export enum ExtensionKind {

View File

@@ -41,7 +41,6 @@ export const allApiProposals = Object.freeze({
notebookMessaging: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookMessaging.d.ts',
notebookMime: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookMime.d.ts',
portsAttributes: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.portsAttributes.d.ts',
quickPickSeparators: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickPickSeparators.d.ts',
quickPickSortByLabel: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickPickSortByLabel.d.ts',
resolvers: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.resolvers.d.ts',
scmActionButton: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmActionButton.d.ts',

View File

@@ -1638,6 +1638,11 @@ declare module 'vscode' {
provideTextDocumentContent(uri: Uri, token: CancellationToken): ProviderResult<string>;
}
export enum QuickPickItemKind {
Separator = -1,
Default = 0,
}
/**
* Represents an item that can be selected from
* a list of items.
@@ -1650,6 +1655,8 @@ declare module 'vscode' {
*/
label: string;
kind?: QuickPickItemKind;
/**
* A human-readable string which is rendered less prominent in the same line. Supports rendering of
* {@link ThemeIcon theme icons} via the `$(<name>)`-syntax.

View File

@@ -1,18 +0,0 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
declare module 'vscode' {
// https://github.com/microsoft/vscode/issues/74967
export enum QuickPickItemKind {
Separator = -1,
Default = 1,
}
export interface QuickPickItem {
kind?: QuickPickItemKind
}
}