diff --git a/src/vs/workbench/api/electron-browser/mainThreadComments.ts b/src/vs/workbench/api/electron-browser/mainThreadComments.ts index 62c62250c8eb292868a7a04e69ad274dfea1965f..18ab18fb5bd387598c24163f6599934a497c9e48 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadComments.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadComments.ts @@ -15,6 +15,7 @@ import { ICommentService } from 'vs/workbench/parts/comments/electron-browser/co import { COMMENTS_PANEL_ID } from 'vs/workbench/parts/comments/electron-browser/commentsPanel'; import { IPanelService } from 'vs/workbench/services/panel/common/panelService'; import { URI } from 'vs/base/common/uri'; +import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; @extHostNamedCustomer(MainContext.MainThreadComments) export class MainThreadComments extends Disposable implements MainThreadCommentsShape { @@ -28,7 +29,8 @@ export class MainThreadComments extends Disposable implements MainThreadComments extHostContext: IExtHostContext, @IEditorService private _editorService: IEditorService, @ICommentService private _commentService: ICommentService, - @IPanelService private _panelService: IPanelService + @IPanelService private _panelService: IPanelService, + @ITelemetryService private _telemetryService: ITelemetryService ) { super(); this._disposables = []; @@ -62,7 +64,7 @@ export class MainThreadComments extends Disposable implements MainThreadComments ); } - $registerWorkspaceCommentProvider(handle: number): void { + $registerWorkspaceCommentProvider(handle: number, extensionId: string): void { this._workspaceProviders.set(handle, undefined); this._panelService.setPanelEnablement(COMMENTS_PANEL_ID, true); if (this._firstSessionStart) { @@ -74,6 +76,15 @@ export class MainThreadComments extends Disposable implements MainThreadComments this._commentService.setWorkspaceComments(handle, commentThreads); } }); + + /* __GDPR__ + "comments:registerWorkspaceCommentProvider" : { + "extensionId" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + } + */ + this._telemetryService.publicLog('comments:registerWorkspaceCommentProvider', { + extensionId: extensionId + }); } $unregisterDocumentCommentProvider(handle: number): void { diff --git a/src/vs/workbench/api/node/extHost.api.impl.ts b/src/vs/workbench/api/node/extHost.api.impl.ts index 0fdef331821363c93ebfee6932902749e150266a..5ab71f4815f1be4d9904b60d566b950cf0ca0f38 100644 --- a/src/vs/workbench/api/node/extHost.api.impl.ts +++ b/src/vs/workbench/api/node/extHost.api.impl.ts @@ -608,7 +608,7 @@ export function createApiFactory( return exthostCommentProviders.registerDocumentCommentProvider(provider); }), registerWorkspaceCommentProvider: proposedApiFunction(extension, (provider: vscode.WorkspaceCommentProvider) => { - return exthostCommentProviders.registerWorkspaceCommentProvider(provider); + return exthostCommentProviders.registerWorkspaceCommentProvider(extension.id, provider); }), onDidRenameFile: proposedApiFunction(extension, (listener, thisArg?, disposables?) => { return extHostFileSystemEvent.onDidRenameFile(listener, thisArg, disposables); diff --git a/src/vs/workbench/api/node/extHost.protocol.ts b/src/vs/workbench/api/node/extHost.protocol.ts index cecfd8c108909cdba7b17625e2550042f2caa033..00f1445d35541788d2187935cd71a343e3bab485 100644 --- a/src/vs/workbench/api/node/extHost.protocol.ts +++ b/src/vs/workbench/api/node/extHost.protocol.ts @@ -102,7 +102,7 @@ export interface MainThreadCommandsShape extends IDisposable { export interface MainThreadCommentsShape extends IDisposable { $registerDocumentCommentProvider(handle: number): void; $unregisterDocumentCommentProvider(handle: number): void; - $registerWorkspaceCommentProvider(handle: number): void; + $registerWorkspaceCommentProvider(handle: number, extensionId: string): void; $unregisterWorkspaceCommentProvider(handle: number): void; $onDidCommentThreadsChange(handle: number, event: modes.CommentThreadChangedEvent): void; } diff --git a/src/vs/workbench/api/node/extHostComments.ts b/src/vs/workbench/api/node/extHostComments.ts index 3970fd566ac44184e03585763bcef53d0947125d..1ab328793c77128df8643ca698032df7c72f605e 100644 --- a/src/vs/workbench/api/node/extHostComments.ts +++ b/src/vs/workbench/api/node/extHostComments.ts @@ -31,11 +31,12 @@ export class ExtHostComments implements ExtHostCommentsShape { } registerWorkspaceCommentProvider( + extensionId: string, provider: vscode.WorkspaceCommentProvider ): vscode.Disposable { const handle = ExtHostComments.handlePool++; this._workspaceProviders.set(handle, provider); - this._proxy.$registerWorkspaceCommentProvider(handle); + this._proxy.$registerWorkspaceCommentProvider(handle, extensionId); this.registerListeners(handle, provider); return {