本文整理匯總了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;
}
}
}
示例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 };
}
});
示例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 };
}
}
示例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 };
}
});
}
示例5: useWorkspaceTsdkSetting
public get useWorkspaceTsdkSetting(): boolean {
return this.workspaceState.get<boolean>(useWorkspaceTsdkStorageKey, false);
}