enableProposedApi: boolean | undefined;
} = vscode.extensions.getExtension(this.extensionId)!.packageJSON;
- readonly globalStoragePath: string;
+ readonly globalStorageUri: vscode.Uri;
constructor(ctx: vscode.ExtensionContext) {
- this.globalStoragePath = ctx.globalStorageUri.fsPath;
+ this.globalStorageUri = ctx.globalStorageUri;
vscode.workspace.onDidChangeConfiguration(this.onDidChangeConfiguration, this, ctx.subscriptions);
this.refreshLogging();
}
}
async function bootstrap(config: Config, state: PersistentState): Promise<string> {
- await fs.mkdir(config.globalStoragePath, { recursive: true });
+ await vscode.workspace.fs.createDirectory(config.globalStorageUri);
if (!config.currentExtensionIsNightly) {
await state.updateNightlyReleaseId(undefined);
const artifact = latestNightlyRelease.assets.find(artifact => artifact.name === "rust-analyzer.vsix");
assert(!!artifact, `Bad release: ${JSON.stringify(latestNightlyRelease)}`);
- const dest = path.join(config.globalStoragePath, "rust-analyzer.vsix");
+ const dest = path.join(config.globalStorageUri.path, "rust-analyzer.vsix");
await downloadWithRetryDialog(state, async () => {
await download({
platform = "x86_64-unknown-linux-musl";
}
const ext = platform.indexOf("-windows-") !== -1 ? ".exe" : "";
- const dest = path.join(config.globalStoragePath, `rust-analyzer-${platform}${ext}`);
+ const dest = path.join(config.globalStorageUri.path, `rust-analyzer-${platform}${ext}`);
const exists = await fs.stat(dest).then(() => true, () => false);
if (!exists) {
await state.updateServerVersion(undefined);