#visual-studio-2013 #visual-studio-extensions
#visual-studio-2013 #visual-studio-extensions
Вопрос:
Я пишу расширение Visual Studio, и мне нужен список страниц свойств для данной категории.
"TextEditor"
Будет возвращен приведенный ниже список.
- Общая информация
- Все языки
- Базовые модели
- CSharp
- и т.д.
Объект среды vs DTE
упрощает получение свойств страницы, но не предоставляет простого способа получения всех страниц.
vsEnvironment.get_Properties("TextEditor", pageName);
Значения, которые мне нужны, фактически хранятся в реестре, однако Visual Studio также предоставляет хранилище настроек, которое, как я надеялся, поможет мне получить список.
Я настроил его следующим образом:
var settingsManager = new ShellSettingsManager(this); //ServiceProvider.GlobalProvider
var userSettingsStore = settingsManager.GetReadOnlySettingsStore(SettingsScope.UserSettings);
Однако GetReadOnlySettingsStore
всегда выдает следующее исключение.
The type 'Microsoft.VisualStudio.Settings.SettingsScope' exists in both 'Microsoft.VisualStudio.Shell.12.0.dll' and 'Microsoft.VisualStudio.Shell.11.0.dll'
Похоже, Мадс Кристенсен успешно использовал это, однако я все еще не могу сказать, что не так.
Я бы хотел избежать обхода API, предоставляемого Visual Studio. Итак, кто-нибудь успешно использовал SettingsManager
или знает другой метод для получения списка?
Комментарии:
1. Можете ли вы поделиться стеком исключений, который вы видите? Кроме того, существуют другие способы перечисления языков, которые могут быть или не быть более правильными в зависимости от того, что вы пытаетесь сделать.
2. Похоже, я не смог получить трассировку стека, я выполнил команду в немедленном окне, и это все, что я получаю обратно (никакой другой информации об исключении). Каковы другие способы перечисления языков?
3. Существует несколько способов перечисления. Чего вы в конечном итоге пытаетесь достичь?
4. Я разрешаю пользователю выбирать языки, для которых они хотят экспортировать параметры форматирования, и загружать их обратно для каждого решения. Это проект (все еще очень ранний) github.com/Lavinski/VSSolutionSettings . Функция
GetPropertyPages
является связанной функцией.