relax uniqueness requirement for controller ids, must only be unique per extension, not globally, https://github.com/microsoft/vscode/issues/121902

This commit is contained in:
Johannes Rieken
2021-04-26 14:38:04 +02:00
parent dcd5eaa0b5
commit 42754baf3a
2 changed files with 5 additions and 5 deletions

View File

@@ -39,7 +39,7 @@ export class ExtHostNotebookKernels implements ExtHostNotebookKernelsShape {
createNotebookController(extension: IExtensionDescription, id: string, viewType: string, label: string, handler?: vscode.NotebookExecuteHandler, preloads?: vscode.NotebookKernelPreload[]): vscode.NotebookController {
for (let data of this._kernelData.values()) {
if (data.controller.id === id) {
if (data.controller.id === id && ExtensionIdentifier.equals(extension.identifier, data.extensionId)) {
throw new Error(`notebook controller with id '${id}' ALREADY exist`);
}
}
@@ -56,7 +56,7 @@ export class ExtHostNotebookKernels implements ExtHostNotebookKernelsShape {
const onDidReceiveMessage = new Emitter<{ editor: vscode.NotebookEditor, message: any }>();
const data: INotebookKernelDto2 = {
id,
id: `${extension.identifier.value}/${id}`,
viewType,
extensionId: extension.identifier,
extensionLocation: extension.extensionLocation,
@@ -92,7 +92,7 @@ export class ExtHostNotebookKernels implements ExtHostNotebookKernelsShape {
};
const controller: vscode.NotebookController = {
get id() { return data.id; },
get id() { return id; },
get viewType() { return data.viewType; },
onDidChangeNotebookAssociation: onDidChangeSelection.event,
get label() {