代码之家  ›  专栏  ›  技术社区  ›  Ryan Lundy

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

  •  2
  • Ryan Lundy  · 技术社区  · 7 年前

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

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

    如果我使用命令行发布项目A,然后编译项目B,那么一切都可以编译。但当我回到VisualStudio代码时,我添加到项目A中的新方法不会显示在Intellisense中。它们显示为错误。

    我觉得VS代码必须在某个地方缓存其依赖关系视图,如果我可以删除该缓存,它将被迫重新扫描依赖关系。但是缓存在哪里?或者有没有其他方法强制VS代码更新其Intellisense?(退出VS代码并重新启动不起作用。)

    Cache 和 CachedData 在里面 C:\Users\[myusername]\AppData\Roaming\Code

    2 回复  |  直到 7 年前
        1
  •  8
  •   Ryan Lundy    7 年前

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

    java.clean.workspace

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

    在这个文件夹中。。。

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

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

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

    workspaceStorage

        2
  •  0
  •   Mebin Joe Parvez Khan Pathan    7 年前

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

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