Я разрабатываю расширение Visual Studio с VS2019.
Я успешно создал несколько страниц свойств в диалоге настроек tools -> options
:
[ProvideOptionPage(typeof(DoxygenToolsOptionsFunction), "Doxygen", "Function", 0, 0, true)]
[ProvideOptionPage(typeof(DoxygenToolsOptionsHeader), "Doxygen", "Header", 0, 0, true)]
[ProvideOptionPage(typeof(DoxygenToolsOptionsGeneral), "Doxygen", "General", 0, 0, true)]
public sealed class DoxygenCommentsPackage : AsyncPackage
{
И это работает, как и ожидалось:
Все свойства успешно сохранены. Но теперь я хочу использовать свойства в моем компоненте MEF IVsTextViewCreationListener
. Я попробовал это с помощью следующего кода:
Properties propertiesList = m_dte.get_Properties("Doxygen", "Function");
string format = (string)propertiesList.Item("Format").Value;
Но в первой строке выдает System.InvalidCastException
.
Со страницами по умолчанию, такими как
Properties propertiesList = m_dte.get_Properties("FontsAndColors", "TextEditor");
int fontSize = (short)propertiesList.Item("FontSize").Value;
все работает нормально.
Я что-то забыл? Нужно ли регистрировать страницу каким-либо образом?
Спасибо за помощь,
Финн Г.