本文整理汇总了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);
}