WedX - журнал о программировании и компьютерных науках

Получите выбранные вкладки в Visual Studio для расширения Visual Studio (VSIX).

Я хотел бы программно получить массив выбранных объектов вкладки, как показано ниже:

введите здесь описание изображения

Я смог найти только способ получить массив выбранных файлов в обозревателе решений:

введите здесь описание изображения

Но это не тот массив, который мне нужен.

Кто-нибудь знает, как получить массив выбранных вкладок в С#?


  • Проверьте эти два VsBrush. Свойство .ToolWindowTabTextKey и VsBrushes.ToolWindowTabSelectedTabKey. Надеюсь, это поможет вам. 18.11.2019
  • Привет, Джейсон, какие-нибудь обновления по этой проблеме? Пожалуйста, проверьте, помогает ли ответ Matze решить эту проблему. Просто напоминание :) 22.11.2019
  • @ Джейсон, если ты смог решить проблему, не мог бы ты поделиться кодом в качестве ответа. Это было бы очень полезно для других, как я. 28.07.2020

Ответы:


1

Вкладки в Visual Studio представляют собой открытые документы; поэтому вы можете вместо этого перебрать коллекцию документов, доступную через свойство Documents экземпляра DTE. См. https://docs.microsoft.com/en-us/dotnet/api/envdte._dte.documents?view=visualstudiosdk-2017#EnvDTE__DTE_Documents для получения дополнительной информации.

Каждое Document, возвращаемое коллекцией Documents, позволяет нам находить связанные окна (обычно это окна документов, но не окна инструментов); см. https://docs.microsoft.com/en-us/dotnet/api/envdte.document.windows?view=visualstudiosdk-2017 для получения дополнительной информации об объектах, возвращаемых свойством Windows.

Класс Window имеет свойства, которые могут подойти для всего, что вы хотите с ним сделать; например, запросите его заголовок, видимость, тип, дескриптор и т. д., но я не уверен, можно ли определить или получить информацию о том, выбрана ли вкладка окна документа (или сам документ) или нет.

В качестве альтернативы вы также можете использовать службу RunningDocumentTable для повторения открытых документов; см. https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.shell.runningdocumenttable?view=visualstudiosdk-2017

18.11.2019
  • Я приму ваш ответ, потому что обнаружил, что Microsoft не предоставляет такие функции для вкладок, и ваш ответ привел меня в правильном направлении, чтобы найти ответ. Спасибо 18.12.2019
  • Новые материалы

    Как создать диаграмму градиентной кисти с помощью D3.js
    Резюме: Из этого туториала Вы узнаете, как добавить градиентную кисть к диаграмме с областями в D3.js. Мы добавим градиент к значениям SVG и применим градиент в качестве заливки к диаграмме с..

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

    Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
    В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..


    Для любых предложений по сайту: [email protected]