當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript vscode.Memento類代碼示例

本文整理匯總了TypeScript中vscode.Memento的典型用法代碼示例。如果您正苦於以下問題:TypeScript Memento類的具體用法?TypeScript Memento怎麽用?TypeScript Memento使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Memento類的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: constructor

	public constructor(
		private readonly versionProvider: TypeScriptVersionProvider,
		private readonly workspaceState: Memento
	) {
		this._currentVersion = this.versionProvider.defaultVersion;

		if (workspaceState.get<boolean>(useWorkspaceTsdkStorageKey, false)) {
			const localVersion = this.versionProvider.localTsdkVersion;
			if (localVersion) {
				this._currentVersion = localVersion;
			}
		}
	}
開發者ID:,項目名稱:,代碼行數:13,代碼來源:

示例2:

			.then(selected => {
				if (!selected) {
					return { oldVersion: this.currentVersion };
				}
				switch (selected.id) {
					case MessageAction.useLocal:
						return this.workspaceState.update(useWorkspaceTsdkStorageKey, true)
							.then(_ => {
								if (localVersion) {
									const previousVersion = this.currentVersion;

									this._currentVersion = localVersion;
									return { oldVersion: previousVersion, newVersion: localVersion };
								}
								return { oldVersion: this.currentVersion };
							});

					case MessageAction.useBundled:
						return this.workspaceState.update(useWorkspaceTsdkStorageKey, false)
							.then(_ => {
								const previousVersion = this.currentVersion;
								this._currentVersion = shippedVersion;
								return { oldVersion: previousVersion, newVersion: shippedVersion };
							});

					case MessageAction.learnMore:
						commands.executeCommand('vscode.open', Uri.parse('https://go.microsoft.com/fwlink/?linkid=839919'));
						return { oldVersion: this.currentVersion };

					default:
						return { oldVersion: this.currentVersion };
				}
			});
開發者ID:naturtle,項目名稱:vscode,代碼行數:33,代碼來源:versionPicker.ts

示例3: show

	public async show(firstRun?: boolean): Promise<{ oldVersion?: TypeScriptVersion, newVersion?: TypeScriptVersion }> {
		const pickOptions: MyQuickPickItem[] = [];

		const shippedVersion = this.versionProvider.defaultVersion;
		pickOptions.push({
			label: (this.currentVersion.path === shippedVersion.path
				? '• '
				: '') + localize('useVSCodeVersionOption', 'Use VSCode\'s Version'),
			description: shippedVersion.version.versionString,
			detail: shippedVersion.label,
			id: MessageAction.useBundled
		});

		for (const version of this.versionProvider.localVersions) {
			pickOptions.push({
				label: (this.currentVersion.path === version.path
					? '• '
					: '') + localize('useWorkspaceVersionOption', 'Use Workspace Version'),
				description: version.version.versionString,
				detail: version.label,
				id: MessageAction.useLocal,
				version: version
			});
		}

		pickOptions.push({
			label: localize('learnMore', 'Learn More'),
			description: '',
			id: MessageAction.learnMore
		});

		const selected = await window.showQuickPick<MyQuickPickItem>(pickOptions, {
			placeHolder: localize(
				'selectTsVersion',
				'Select the TypeScript version used for JavaScript and TypeScript language features'),
			ignoreFocusOut: firstRun
		});

		if (!selected) {
			return { oldVersion: this.currentVersion };
		}

		switch (selected.id) {
			case MessageAction.useLocal:
				await this.workspaceState.update(useWorkspaceTsdkStorageKey, true);
				if (selected.version) {
					const tsConfig = workspace.getConfiguration('typescript');
					await tsConfig.update('tsdk', selected.version.label, false);

					const previousVersion = this.currentVersion;
					this._currentVersion = selected.version;
					return { oldVersion: previousVersion, newVersion: selected.version };
				}
				return { oldVersion: this.currentVersion };

			case MessageAction.useBundled:
				await this.workspaceState.update(useWorkspaceTsdkStorageKey, false);
				const previousVersion = this.currentVersion;
				this._currentVersion = shippedVersion;
				return { oldVersion: previousVersion, newVersion: shippedVersion };


			case MessageAction.learnMore:
				commands.executeCommand('vscode.open', Uri.parse('https://go.microsoft.com/fwlink/?linkid=839919'));
				return { oldVersion: this.currentVersion };

			default:
				return { oldVersion: this.currentVersion };
		}
	}
開發者ID:,項目名稱:,代碼行數:70,代碼來源:

示例4: show

	public show(firstRun?: boolean): Thenable<{ oldVersion?: TypeScriptVersion, newVersion?: TypeScriptVersion }> {
		const useWorkspaceVersionSetting = this.workspaceState.get<boolean>(useWorkspaceTsdkStorageKey, false);
		const shippedVersion = this.versionProvider.defaultVersion;
		const localVersion = this.versionProvider.localVersion;

		const pickOptions: MyQuickPickItem[] = [];

		pickOptions.push({
			label: localize('useVSCodeVersionOption', 'Use VSCode\'s Version'),
			description: shippedVersion.version.versionString,
			detail: this.currentVersion.path === shippedVersion.path && (this.currentVersion.path !== (localVersion && localVersion.path) || !useWorkspaceVersionSetting) ? localize('activeVersion', 'Currently active') : '',
			id: MessageAction.useBundled
		});

		if (localVersion) {
			pickOptions.push({
				label: localize('useWorkspaceVersionOption', 'Use Workspace Version'),
				description: localVersion.version.versionString,
				detail: this.currentVersion.path === localVersion.path && (this.currentVersion.path !== shippedVersion.path || useWorkspaceVersionSetting) ? localize('activeVersion', 'Currently active') : '',
				id: MessageAction.useLocal
			});
		}

		pickOptions.push({
			label: localize('learnMore', 'Learn More'),
			description: '',
			id: MessageAction.learnMore
		});

		return window.showQuickPick<MyQuickPickItem>(pickOptions, {
			placeHolder: localize(
				'selectTsVersion',
				'Select the TypeScript version used for JavaScript and TypeScript language features'),
			ignoreFocusOut: firstRun
		})
			.then(selected => {
				if (!selected) {
					return { oldVersion: this.currentVersion };
				}
				switch (selected.id) {
					case MessageAction.useLocal:
						return this.workspaceState.update(useWorkspaceTsdkStorageKey, true)
							.then(_ => {
								if (localVersion) {
									const previousVersion = this.currentVersion;

									this._currentVersion = localVersion;
									return { oldVersion: previousVersion, newVersion: localVersion };
								}
								return { oldVersion: this.currentVersion };
							});

					case MessageAction.useBundled:
						return this.workspaceState.update(useWorkspaceTsdkStorageKey, false)
							.then(_ => {
								const previousVersion = this.currentVersion;
								this._currentVersion = shippedVersion;
								return { oldVersion: previousVersion, newVersion: shippedVersion };
							});

					case MessageAction.learnMore:
						commands.executeCommand('vscode.open', Uri.parse('https://go.microsoft.com/fwlink/?linkid=839919'));
						return { oldVersion: this.currentVersion };

					default:
						return { oldVersion: this.currentVersion };
				}
			});

	}
開發者ID:naturtle,項目名稱:vscode,代碼行數:70,代碼來源:versionPicker.ts

示例5: useWorkspaceTsdkSetting

	public get useWorkspaceTsdkSetting(): boolean {
		return this.workspaceState.get<boolean>(useWorkspaceTsdkStorageKey, false);
	}
開發者ID:AllureFer,項目名稱:vscode,代碼行數:3,代碼來源:versionPicker.ts


注:本文中的vscode.Memento類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。