В настоящее время я храню настройки для своих пользовательских надстроек в реестре, но это похоже на кучу. Мне было интересно, есть ли официальное место для хранения настроек надстроек. Я бы предпочел хранить их там, где Visual Studio хранит настройки, чтобы их можно было легко экспортировать и импортировать.
Можно ли сохранить настройки надстроек в настройках Visual Studio или есть лучший способ?
РЕДАКТИРОВАТЬ
В моем первоначальном ответе на эту тему было несколько проблем, которые я обнаружил после многих лет его использования. Я включил его ниже для полноты, но вот мои обновленные мысли по этому поводу.
Использование параметров приложения в 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, реализацию схемы настроек и т. Д. Я обычно считаю, что на самом деле не стоит тратить силы на запуск (никогда не получалось)