src/vs/workbench/electron-sandbox/desktop.main.ts/DesktopMain/resolveWorkspaceInitializationPayload
class DesktopMain:	private resolveWorkspaceInitializationPayload(environmentService: INativeWorkbenchEnvironmentService): IAnyWorkspaceIdentifier {
		let workspaceInitializationPayload: IAnyWorkspaceIdentifier | undefined = this.configuration.workspace;

		// Fallback to empty workspace if we have no payload yet.
		if (!workspaceInitializationPayload) {
			let id: string;
			if (this.configuration.backupPath) {
				// we know the backupPath must be a unique path so we leverage its name as workspace ID
				id = basename(this.configuration.backupPath);
			} else if (environmentService.isExtensionDevelopment) {
				// fallback to a reserved identifier when in extension development where backups are not stored
				id = 'ext-dev';
			} else {
				throw new Error('Unexpected window configuration without backupPath');
			}

			workspaceInitializationPayload = { id };
		}

		return workspaceInitializationPayload;
	}