VisualStudio代码在哪里缓存自动完成的Java依赖项信息?
我正在使用VS代码编写Java,并安装了各种Red Hat和Microsoft扩展 我有两个项目,A和B。我将项目A的快照(使用Gradle)发布到Nexus存储库。项目B(也使用Gradle)引用了该Nexus存储库中项目a的当前快照 如果我使用命令行发布项目A,然后编译项目B,那么一切都可以编译。但当我回到VisualStudio代码时,我添加到项目A中的新方法不会显示在Intellisense中。它们显示为错误 我觉得VS代码必须在某个地方缓存其依赖关系视图,如果我可以删除该缓存,它将被迫重新扫描依赖关系。但是缓存在哪里?或者有没有其他方法强制VS代码更新其Intellisense?(退出VS代码并重新启动不起作用。)VisualStudio代码在哪里缓存自动完成的Java依赖项信息?,java,visual-studio-code,intellisense,Java,Visual Studio Code,Intellisense,我正在使用VS代码编写Java,并安装了各种Red Hat和Microsoft扩展 我有两个项目,A和B。我将项目A的快照(使用Gradle)发布到Nexus存储库。项目B(也使用Gradle)引用了该Nexus存储库中项目a的当前快照 如果我使用命令行发布项目A,然后编译项目B,那么一切都可以编译。但当我回到VisualStudio代码时,我添加到项目A中的新方法不会显示在Intellisense中。它们显示为错误 我觉得VS代码必须在某个地方缓存其依赖关系视图,如果我可以删除该缓存,它将被迫
我尝试在
C:\Users\[myusername]\AppData\Roaming\code
中清除Cache
和CachedData
的内容,但没有任何帮助。我认为Java语言服务器会在Maven和Gradle缓存~/.m2和~/.Gradle中查找您在Java.externalDependencies中指定的依赖项
有一个命令可以自动刷新Java自动完成信息:
java.clean.workspace
您可以使用键盘快捷键将其绑定到一些值得记忆的键。(警告:之后刷新工作区需要一段时间。)
如果出于某种原因需要手动执行此操作:
在这个文件夹中
%USERPROFILE%\AppData\Roaming\code\User\workspaceStorage
…VS代码为您的项目创建了许多带有缓存信息的小型数据库。那里的文件夹都有GUID名称,但每个文件夹根目录中的workspace.json
文件显示了它所属的项目,如下所示:
{
"folder": "file:///c%3A/path/to/my/folderforthisproject"
}
我删除了整个
workspaceStorage
文件夹,但很明显,只删除我的项目的文件夹就足够了。此外,为了让扩展解决您的第三方依赖关系,您需要使用构建工具,如maven或gradle。我们使用这些工具来获取您的外部依赖项,并提供关于它们的信息,而您的intellisense将仅限于单个文件和标准java库。请参考:唯一没有出现的是全新的方法。这些库中的旧方法也存在。Intellisense工作正常,但在我更新了库并重建了主项目后,它并没有保持最新状态。