Skip to content

Commit 54cee28

Browse files
committed
Refresh workspace state on folder context creation
1 parent b02b77f commit 54cee28

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/PackageWatcher.ts

+12-2
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ export class PackageWatcher {
4646
async install() {
4747
this.packageFileWatcher = this.createPackageFileWatcher();
4848
this.resolvedFileWatcher = this.createResolvedFileWatcher();
49-
this.workspaceStateFileWatcher = this.createWorkspaceStateFileWatcher();
49+
this.workspaceStateFileWatcher = await this.createWorkspaceStateFileWatcher();
5050
this.snippetWatcher = this.createSnippetFileWatcher();
5151
this.swiftVersionFileWatcher = await this.createSwiftVersionFileWatcher();
5252
}
@@ -83,7 +83,7 @@ export class PackageWatcher {
8383
return watcher;
8484
}
8585

86-
private createWorkspaceStateFileWatcher(): vscode.FileSystemWatcher {
86+
private async createWorkspaceStateFileWatcher(): Promise<vscode.FileSystemWatcher> {
8787
const uri = vscode.Uri.joinPath(
8888
vscode.Uri.file(
8989
BuildFlags.buildDirectoryFromWorkspacePath(this.folderContext.folder.fsPath, true)
@@ -94,6 +94,16 @@ export class PackageWatcher {
9494
watcher.onDidCreate(async () => await this.handleWorkspaceStateChange());
9595
watcher.onDidChange(async () => await this.handleWorkspaceStateChange());
9696
watcher.onDidDelete(async () => await this.handleWorkspaceStateChange());
97+
98+
const fileExists = await fs
99+
.access(uri.fsPath)
100+
.then(() => true)
101+
.catch(() => false);
102+
103+
if (fileExists) {
104+
await this.handleWorkspaceStateChange();
105+
}
106+
97107
return watcher;
98108
}
99109

0 commit comments

Comments
 (0)