diff --git a/core/core.ts b/core/core.ts index b824624a6d3..7bf77a3893b 100644 --- a/core/core.ts +++ b/core/core.ts @@ -770,7 +770,6 @@ export class Core { if (data?.shouldClearIndexes) { await this.codeBaseIndexer.clearIndexes(); } - const dirs = data?.dirs ?? (await this.ide.getWorkspaceDirs()); await this.codeBaseIndexer.refreshCodebaseIndex(dirs); }); diff --git a/extensions/intellij/src/main/kotlin/com/github/continuedev/continueintellijextension/activities/ContinuePluginStartupActivity.kt b/extensions/intellij/src/main/kotlin/com/github/continuedev/continueintellijextension/activities/ContinuePluginStartupActivity.kt index 61cda0c427d..8c28cee36ad 100644 --- a/extensions/intellij/src/main/kotlin/com/github/continuedev/continueintellijextension/activities/ContinuePluginStartupActivity.kt +++ b/extensions/intellij/src/main/kotlin/com/github/continuedev/continueintellijextension/activities/ContinuePluginStartupActivity.kt @@ -193,6 +193,7 @@ class ContinuePluginStartupActivity : StartupActivity, DumbAware { } }) + // TODO add listeners for ModuleListener.TOPIC events connection.subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, object : FileEditorManagerListener { override fun fileClosed(source: FileEditorManager, file: VirtualFile) { diff --git a/extensions/vscode/package-lock.json b/extensions/vscode/package-lock.json index a0fa561309d..59c920859d8 100644 --- a/extensions/vscode/package-lock.json +++ b/extensions/vscode/package-lock.json @@ -1,12 +1,12 @@ { "name": "continue", - "version": "1.3.3", + "version": "1.3.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "continue", - "version": "1.3.3", + "version": "1.3.6", "license": "Apache-2.0", "dependencies": { "@continuedev/config-types": "file:../../packages/config-types", diff --git a/extensions/vscode/src/extension/VsCodeExtension.ts b/extensions/vscode/src/extension/VsCodeExtension.ts index 23ced0cc501..5a9411846c2 100644 --- a/extensions/vscode/src/extension/VsCodeExtension.ts +++ b/extensions/vscode/src/extension/VsCodeExtension.ts @@ -503,6 +503,21 @@ export class VsCodeExtension { }); }); + vscode.workspace.onDidChangeWorkspaceFolders(async (event) => { + const dirs = vscode.workspace.workspaceFolders?.map( + (folder) => folder.uri, + ); + + this.ideUtils.setWokspaceDirectories(dirs); + + this.core.invoke("index/forceReIndex", { + dirs: [ + ...event.added.map((folder) => folder.uri.toString()), + ...event.removed.map((folder) => folder.uri.toString()), + ], + }); + }); + vscode.workspace.onDidOpenTextDocument(async (event) => { console.log("onDidOpenTextDocument"); const ast = await getAst(event.fileName, event.getText()); diff --git a/extensions/vscode/src/util/ideUtils.ts b/extensions/vscode/src/util/ideUtils.ts index d8593f7d051..6dd9a3aa2b6 100644 --- a/extensions/vscode/src/util/ideUtils.ts +++ b/extensions/vscode/src/util/ideUtils.ts @@ -74,6 +74,10 @@ export class VsCodeIdeUtils { return this._workspaceDirectories; } + setWokspaceDirectories(dirs: vscode.Uri[] | undefined): void { + this._workspaceDirectories = dirs; + } + getUniqueId() { return getUniqueId(); }