Visual Studio代码缓存Java自动完成的依赖信息在哪里?

Where does Visual Studio Code cache Java dependency information for autocomplete?

我正在使用 VS Code 编写 Java,安装了各种 Red Hat 和 Microsoft 扩展。

我有两个项目,A 和 B。我将项目 A 的快照(Gradle)发布到 Nexus 存储库。项目 B(也使用 Gradle)引用了该 Nexus 存储库中项目 A 的当前快照。

如果我用命令行发布项目A,然后编译项目B,一切编译OK。但是当我 return 到 Visual Studio 代码时,我添加到项目 A 的新方法没有在 Intellisense 中显示。它们显示为错误。

我觉得 VS Code 一定是在某个地方缓存了它的依赖项视图,如果我可以删除那个缓存,它将被迫重新扫描依赖项。但是那个缓存在哪里?还是有另一种方法可以强制 VS Code 更新其 Intellisense? (退出 VS Code 并重新启动不会这样做。)

我尝试清除 C:\Users\[myusername]\AppData\Roaming\CodeCacheCachedData 的内容,但没有帮助。

我认为 Java 语言服务器会在 Maven 和 Gradle 缓存 ~/.m2 和 ~/.[=17= 中查找你在 java.externalDependencies 中指定的依赖项].

https://marketplace.visualstudio.com/items?itemName=georgewfraser.vscode-javac

有一个命令可以自动刷新Java自动完成信息:

java.clean.workspace

您可以使用键盘快捷键将其绑定到一些容易记住的键上。 (警告:之后刷新工作区需要一段时间。)

如果您出于某种原因需要手动执行:

在此文件夹中...

%USERPROFILE%\AppData\Roaming\Code\User\workspaceStorage

...VS Code 创建了许多小型数据库,其中包含项目的缓存信息。那里的文件夹都有 GUID 名称,但是每个文件夹根目录中的 workspace.json 文件显示它属于哪个项目,如下所示:

{
  "folder": "file:///c%3A/path/to/my/folderforthisproject"
}

我删除了整个 workspaceStorage 文件夹,但很明显只删除我项目的文件夹就足够了。