Где надстройка Visual Studio должна хранить свои настройки?

В настоящее время я храню настройки для своих пользовательских надстроек в реестре, но это похоже на кучу. Мне было интересно, есть ли официальное место для хранения настроек надстроек. Я бы предпочел хранить их там, где Visual Studio хранит настройки, чтобы их можно было легко экспортировать и импортировать.

Можно ли сохранить настройки надстроек в настройках Visual Studio или есть лучший способ?

21
задан JaredPar 20 August 2010 в 20:55
поделиться

1 ответ

РЕДАКТИРОВАТЬ

В моем первоначальном ответе на эту тему было несколько проблем, которые я обнаружил после многих лет его использования. Я включил его ниже для полноты, но вот мои обновленные мысли по этому поводу.

Использование параметров приложения в VSIX небезопасно для версий. Местоположение сохраненного пути к файлу настроек частично включает строку версии и хэши исполняемого файла. Когда Visual Studio устанавливает официальное обновление, эти значения изменяются и, как следствие, меняют путь к файлу настроек. Сама Visual Studio не поддерживает использование настроек приложения, поэтому не пытается перенести этот файл в новое место, и вся информация по существу теряется. Поддерживаемый метод настройки - WritableSettingsStore. Это очень похоже на настройки приложения и достаточно легко получить доступ через SVsServiceProvider

public static WritableSettingsStore GetWritableSettingsStore(this SVsServiceProvider vsServiceProvider)
{
    var shellSettingsManager = new ShellSettingsManager(vsServiceProvider);
    return shellSettingsManager.GetWritableSettingsStore(SettingsScope.UserSettings);
}

Исходный ответ

Самый простой способ - использовать.Инфраструктура Net Application Settings для хранения любых настроек. Это зрелая структура с поддержкой дизайнеров для добавления инфраструктуры настроек в ваш проект.

Однако он не интегрируется с инфраструктурой настроек импорта / экспорта Visual Studio. Получение этой работы - очень сложный процесс, который включает в себя регистрацию себя как VSPackage, реализацию схемы настроек и т. Д. Я обычно считаю, что на самом деле не стоит тратить силы на запуск (никогда не получалось)

8
ответ дан 29 November 2019 в 22:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: