提交 36dc10c9 编写于 作者: R Rachel Macfarlane

Add log for registering workspace comment provider

上级 70b2d7b0
...@@ -15,6 +15,7 @@ import { ICommentService } from 'vs/workbench/parts/comments/electron-browser/co ...@@ -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 { COMMENTS_PANEL_ID } from 'vs/workbench/parts/comments/electron-browser/commentsPanel';
import { IPanelService } from 'vs/workbench/services/panel/common/panelService'; import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
@extHostNamedCustomer(MainContext.MainThreadComments) @extHostNamedCustomer(MainContext.MainThreadComments)
export class MainThreadComments extends Disposable implements MainThreadCommentsShape { export class MainThreadComments extends Disposable implements MainThreadCommentsShape {
...@@ -28,7 +29,8 @@ export class MainThreadComments extends Disposable implements MainThreadComments ...@@ -28,7 +29,8 @@ export class MainThreadComments extends Disposable implements MainThreadComments
extHostContext: IExtHostContext, extHostContext: IExtHostContext,
@IEditorService private _editorService: IEditorService, @IEditorService private _editorService: IEditorService,
@ICommentService private _commentService: ICommentService, @ICommentService private _commentService: ICommentService,
@IPanelService private _panelService: IPanelService @IPanelService private _panelService: IPanelService,
@ITelemetryService private _telemetryService: ITelemetryService
) { ) {
super(); super();
this._disposables = []; this._disposables = [];
...@@ -62,7 +64,7 @@ export class MainThreadComments extends Disposable implements MainThreadComments ...@@ -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._workspaceProviders.set(handle, undefined);
this._panelService.setPanelEnablement(COMMENTS_PANEL_ID, true); this._panelService.setPanelEnablement(COMMENTS_PANEL_ID, true);
if (this._firstSessionStart) { if (this._firstSessionStart) {
...@@ -74,6 +76,15 @@ export class MainThreadComments extends Disposable implements MainThreadComments ...@@ -74,6 +76,15 @@ export class MainThreadComments extends Disposable implements MainThreadComments
this._commentService.setWorkspaceComments(handle, commentThreads); this._commentService.setWorkspaceComments(handle, commentThreads);
} }
}); });
/* __GDPR__
"comments:registerWorkspaceCommentProvider" : {
"extensionId" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" },
}
*/
this._telemetryService.publicLog('comments:registerWorkspaceCommentProvider', {
extensionId: extensionId
});
} }
$unregisterDocumentCommentProvider(handle: number): void { $unregisterDocumentCommentProvider(handle: number): void {
......
...@@ -608,7 +608,7 @@ export function createApiFactory( ...@@ -608,7 +608,7 @@ export function createApiFactory(
return exthostCommentProviders.registerDocumentCommentProvider(provider); return exthostCommentProviders.registerDocumentCommentProvider(provider);
}), }),
registerWorkspaceCommentProvider: proposedApiFunction(extension, (provider: vscode.WorkspaceCommentProvider) => { registerWorkspaceCommentProvider: proposedApiFunction(extension, (provider: vscode.WorkspaceCommentProvider) => {
return exthostCommentProviders.registerWorkspaceCommentProvider(provider); return exthostCommentProviders.registerWorkspaceCommentProvider(extension.id, provider);
}), }),
onDidRenameFile: proposedApiFunction(extension, (listener, thisArg?, disposables?) => { onDidRenameFile: proposedApiFunction(extension, (listener, thisArg?, disposables?) => {
return extHostFileSystemEvent.onDidRenameFile(listener, thisArg, disposables); return extHostFileSystemEvent.onDidRenameFile(listener, thisArg, disposables);
......
...@@ -102,7 +102,7 @@ export interface MainThreadCommandsShape extends IDisposable { ...@@ -102,7 +102,7 @@ export interface MainThreadCommandsShape extends IDisposable {
export interface MainThreadCommentsShape extends IDisposable { export interface MainThreadCommentsShape extends IDisposable {
$registerDocumentCommentProvider(handle: number): void; $registerDocumentCommentProvider(handle: number): void;
$unregisterDocumentCommentProvider(handle: number): void; $unregisterDocumentCommentProvider(handle: number): void;
$registerWorkspaceCommentProvider(handle: number): void; $registerWorkspaceCommentProvider(handle: number, extensionId: string): void;
$unregisterWorkspaceCommentProvider(handle: number): void; $unregisterWorkspaceCommentProvider(handle: number): void;
$onDidCommentThreadsChange(handle: number, event: modes.CommentThreadChangedEvent): void; $onDidCommentThreadsChange(handle: number, event: modes.CommentThreadChangedEvent): void;
} }
......
...@@ -31,11 +31,12 @@ export class ExtHostComments implements ExtHostCommentsShape { ...@@ -31,11 +31,12 @@ export class ExtHostComments implements ExtHostCommentsShape {
} }
registerWorkspaceCommentProvider( registerWorkspaceCommentProvider(
extensionId: string,
provider: vscode.WorkspaceCommentProvider provider: vscode.WorkspaceCommentProvider
): vscode.Disposable { ): vscode.Disposable {
const handle = ExtHostComments.handlePool++; const handle = ExtHostComments.handlePool++;
this._workspaceProviders.set(handle, provider); this._workspaceProviders.set(handle, provider);
this._proxy.$registerWorkspaceCommentProvider(handle); this._proxy.$registerWorkspaceCommentProvider(handle, extensionId);
this.registerListeners(handle, provider); this.registerListeners(handle, provider);
return { return {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册