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

问题描述 投票:2回答:2

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

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

如果我使用命令行发布项目A,然后编译项目B,一切都编译好。但是当我返回到Visual Studio Code时,我添加到项目A的新方法未在Intellisense中显示。它们显示为错误。

我觉得VS Code必须在某处缓存其依赖关系的视图,如果我可以删除该缓存,它将被迫重新扫描依赖关系。但那个缓存在哪里?或者是否有另一种方法可以强制VS Code更新其Intellisense? (退出VS代码并重新启动不会这样做。)

我尝试在Cache中清除CachedDataC:\Users\[myusername]\AppData\Roaming\Code的内容,但这没有用。

java visual-studio-code intellisense
2个回答
1
投票

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

java.clean.workspace

您可以使用键盘快捷键将其绑定到一些令人难忘的键。 (警告:之后刷新工作区需要一段时间。)

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

在这个文件夹中......

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

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

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

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


0
投票

我认为Java语言服务器将查找您在Maven和Gradle缓存〜/ .m2和〜/ .gradle中的java.externalDependencies中指定的依赖项。

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

© www.soinside.com 2019 - 2024. All rights reserved.