Где код Visual Studio кэширует информацию о зависимостях Java для автозаполнения? - PullRequest
0 голосов
/ 30 января 2019

Я использую VS Code для написания Java с установленными различными расширениями Red Hat и Microsoft.

У меня есть два проекта, A и B. Я публикую снимки (с Gradle) проекта A наХранилище Nexus.Проект B (также использующий Gradle) имеет ссылку на текущий снимок проекта A в этом хранилище Nexus.

Если я использую командную строку для публикации проекта A, то компилирую проект B, все компилируется нормально.Но когда я возвращаюсь в код Visual Studio, новые методы, добавленные в проект A, не отображаются в Intellisense.Они отображаются как ошибки.

Мне кажется, что VS Code должен кэшировать свое представление о зависимости где-то, и если бы я мог удалить этот кэш, он был бы вынужден повторно просмотреть зависимость.Но где этот кеш?Или есть другой способ заставить VS Code обновить свой Intellisense?(Выход из VS Code и перезапуск не делают этого.)

Я пытался очистить содержимое Cache и CachedData в C:\Users\[myusername]\AppData\Roaming\Code, но это не помогло.

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Существует команда, которая может автоматически обновлять информацию автозаполнения 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 голосов
/ 30 января 2019

Я думаю, что языковой сервер Java будет искать зависимости, которые вы указали в java.externalDependencies в ваших кешах Maven и Gradle ~ / .m2 и ~ / .gradle.

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

...