src/vs/workbench/contrib/notebook/browser/notebookServiceImpl.ts/NotebookService/canResolve
class NotebookService:	async canResolve(viewType: string): Promise<boolean> {
		if (this._notebookProviders.has(viewType)) {
			return true;
		}

		await this._extensionService.whenInstalledExtensionsRegistered();

		const info = this._notebookProviderInfoStore?.get(viewType);
		const waitFor: Promise<any>[] = [Event.toPromise(Event.filter(this.onAddViewType, () => {
			return this._notebookProviders.has(viewType);
		}))];

		if (info && info.extension) {
			const extensionManifest = await this._extensionService.getExtension(info.extension.value);
			if (extensionManifest?.activationEvents && extensionManifest.activationEvents.indexOf(`onNotebook:${viewType}`) >= 0) {
				waitFor.push(this._extensionService._activateById(info.extension, { startup: false, activationEvent: `onNotebook:${viewType}}`, extensionId: info.extension }));
			}
		}

		await Promise.race(waitFor);

		return this._notebookProviders.has(viewType);
	}