Расширение My Visual Studio Code опирается на двоичный файл, зависящий от платформы. В настоящее время пользователи должны вручную установить его и настроить местоположение в своих настройках; Я хотел бы упростить работу пользователей, загрузив расширение и кэшировав этот двоичный файл.
Из документации API я определил 3 места для выбора кеша:
context.globalStoragePath
: почти идеально, но на Windows он находится под профилем "Роуминг" (в ожидании миграция на локальный профиль ), поэтому вряд ли подходит для бинарного файла, зависящего от платформы ~ 30 МБ context.storagePath
: указанная выше рабочая область c версия выше (также в профиле "Роуминг") context.extensionPath
: не сохраняется между обновлениями расширения
Другие варианты, которые я рассматриваю:
- Каталог сестры
context.extensionPath
, например, ${context.extensionPath}/../my-extension-dependencies
- который выглядит некрасиво и может конфликтовать с другими расширениями - Каталог брата каталога
.vscode
, например, ${HOME}/.my-extension/dependencies
- и здесь, хитрость заключается в том, чтобы надежно найти доступный для записи каталог