Skip to content

Commit defa802

Browse files
authored
Finalize view badge proposal (#159679)
* Finalize view badge proposal Fixes #62783 * Fix compile errors
1 parent 2335d95 commit defa802

File tree

5 files changed

+29
-51
lines changed

5 files changed

+29
-51
lines changed

src/vs/workbench/api/common/extHostTreeViews.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import { MarkdownString, ViewBadge, DataTransfer } from 'vs/workbench/api/common
2323
import { IMarkdownString } from 'vs/base/common/htmlContent';
2424
import { CancellationToken, CancellationTokenSource } from 'vs/base/common/cancellation';
2525
import { ITreeViewsService, TreeviewsService } from 'vs/workbench/services/views/common/treeViewsService';
26-
import { checkProposedApiEnabled } from 'vs/workbench/services/extensions/common/extensions';
2726

2827
type TreeItemHandle = string;
2928

@@ -115,11 +114,9 @@ export class ExtHostTreeViews implements ExtHostTreeViewsShape {
115114
treeView.description = description;
116115
},
117116
get badge() {
118-
checkProposedApiEnabled(extension, 'badges');
119117
return treeView.badge;
120118
},
121119
set badge(badge: vscode.ViewBadge | undefined) {
122-
checkProposedApiEnabled(extension, 'badges');
123120
treeView.badge = badge;
124121
},
125122
reveal: (element: T, options?: IRevealOptions): Promise<void> => {

src/vs/workbench/api/common/extHostWebviewView.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import { Emitter } from 'vs/base/common/event';
88
import { Disposable } from 'vs/base/common/lifecycle';
99
import { IExtensionDescription } from 'vs/platform/extensions/common/extensions';
1010
import { ExtHostWebview, ExtHostWebviews, toExtensionData, shouldSerializeBuffersForPostMessage } from 'vs/workbench/api/common/extHostWebview';
11-
import { checkProposedApiEnabled } from 'vs/workbench/services/extensions/common/extensions';
1211
import { ViewBadge } from 'vs/workbench/api/common/extHostTypeConverters';
1312
import type * as vscode from 'vscode';
1413
import * as extHostProtocol from './extHost.protocol';
@@ -21,7 +20,6 @@ class ExtHostWebviewView extends Disposable implements vscode.WebviewView {
2120

2221
readonly #viewType: string;
2322
readonly #webview: ExtHostWebview;
24-
readonly #extension: IExtensionDescription;
2523

2624
#isDisposed = false;
2725
#isVisible: boolean;
@@ -35,7 +33,7 @@ class ExtHostWebviewView extends Disposable implements vscode.WebviewView {
3533
viewType: string,
3634
title: string | undefined,
3735
webview: ExtHostWebview,
38-
extension: IExtensionDescription,
36+
_extension: IExtensionDescription,
3937
isVisible: boolean,
4038
) {
4139
super();
@@ -45,7 +43,6 @@ class ExtHostWebviewView extends Disposable implements vscode.WebviewView {
4543
this.#handle = handle;
4644
this.#proxy = proxy;
4745
this.#webview = webview;
48-
this.#extension = extension;
4946
this.#isVisible = isVisible;
5047
}
5148

@@ -111,13 +108,11 @@ class ExtHostWebviewView extends Disposable implements vscode.WebviewView {
111108

112109
public get badge(): vscode.ViewBadge | undefined {
113110
this.assertNotDisposed();
114-
checkProposedApiEnabled(this.#extension, 'badges');
115111
return this.#badge;
116112
}
117113

118114
public set badge(badge: vscode.ViewBadge | undefined) {
119115
this.assertNotDisposed();
120-
checkProposedApiEnabled(this.#extension, 'badges');
121116

122117
if (badge?.value === this.#badge?.value &&
123118
badge?.tooltip === this.#badge?.tooltip) {

src/vs/workbench/services/extensions/common/extensionsApiProposals.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
export const allApiProposals = Object.freeze({
99
authSession: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authSession.d.ts',
10-
badges: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.badges.d.ts',
1110
commentsResolvedState: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentsResolvedState.d.ts',
1211
contribCommentPeekContext: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentPeekContext.d.ts',
1312
contribEditSessions: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribEditSessions.d.ts',

src/vscode-dts/vscode.d.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8636,6 +8636,12 @@ declare module 'vscode' {
86368636
*/
86378637
description?: string;
86388638

8639+
/**
8640+
* The badge to display for this webview view.
8641+
* To remove the badge, set to undefined.
8642+
*/
8643+
badge?: ViewBadge | undefined;
8644+
86398645
/**
86408646
* Event fired when the view is disposed.
86418647
*
@@ -10322,6 +10328,22 @@ declare module 'vscode' {
1032210328
handleDrop?(target: T | undefined, dataTransfer: DataTransfer, token: CancellationToken): Thenable<void> | void;
1032310329
}
1032410330

10331+
/**
10332+
* A badge presenting a value for a view
10333+
*/
10334+
export interface ViewBadge {
10335+
10336+
/**
10337+
* A label to present in tooltip for the badge.
10338+
*/
10339+
readonly tooltip: string;
10340+
10341+
/**
10342+
* The value to present in the badge.
10343+
*/
10344+
readonly value: number;
10345+
}
10346+
1032510347
/**
1032610348
* Represents a Tree view
1032710349
*/
@@ -10375,6 +10397,12 @@ declare module 'vscode' {
1037510397
*/
1037610398
description?: string;
1037710399

10400+
/**
10401+
* The badge to display for this TreeView.
10402+
* To remove the badge, set to undefined.
10403+
*/
10404+
badge?: ViewBadge | undefined;
10405+
1037810406
/**
1037910407
* Reveals the given element in the tree view.
1038010408
* If the tree view is not visible then the tree view is shown and element is revealed.

src/vscode-dts/vscode.proposed.badges.d.ts

Lines changed: 0 additions & 41 deletions
This file was deleted.

0 commit comments

Comments
 (0)