Хранение пользовательских настроек плагина для Revit
Вопрос: Я ищу подходящий способ как сохранить пользовательские настройки для моего плагина.
В моем случае мне нужно сохранить пути к файлам, настройки импорта и т.п., чтобы при следующем запуске плагина, все данные, введённые пользователем ранее, оставались такими же, без необходимости забивать их заново.
Есть какая-нибудь инструкция, или может быть в Revit API существует подобная функциональность?
Ответ: Если настройки зависят от конкретного проекта, то их можно сохранить прямо в файле проекта используя API для работы с расширяемой областью хранения. Такой способ будет оптимальным, если пользователю хочет хранить различные настройки для различных проектов.
Если же настройки содержат общую информацию, связанную с вашим плагином, то будет лучше использовать встроенную возможность Visual Studio, предназначенную как раз для таких целей: Использование настроек в C# (на англ.). Похожее на русском языке.
Эта возможность довольно проста в использовании и достаточно надежна для хранения данных для вашей надстройки.
Некоторые разработчики правда используют собственные наработки для хранения настроек приложения, но я все же рекомендую вам начать с того что есть.
Ответ: Использование пользовательских настроек в Visual Studio, предложенное выше, работает прекрасно.
В моем случае использование настроек Visual Studio оказалось даже легче чем я предполагал, так как я храню пользовательские настройки для элементов Windows Forms.
Можно легко сопоставить пользовательские настройки для компонентов Windows Form прямо в конструкторе форм: Практическое руководство. Создание параметров приложения с помощью конструктора. А значит – меньше код для сохранения и чтения настроек.
Единственная проблемка, с которой я столкнулся, то что нужно вызывать метод сохранения настроек перед закрытием формы, иначе они будут потеряны:
- Properties.Settings.Default.Save();
Источник: http://thebuildingcoder.typepad.com/blog/2014/03/storing-revit-add-in-settings.html
Обсуждение: http://adn-cis.org/forum/index.php?topic=630
Опубликовано 24.03.2014