Какой самый простой способ добавить элемент контекстного меню Visual Studio 2008? - PullRequest
4 голосов
/ 17 октября 2008

Я хотел бы добавить пользовательский элемент меню, если щелкнуть правой кнопкой мыши определенное расширение файла в Visual Studio.

Похоже, что есть несколько проектов с открытым исходным кодом, помогающих выполнить эту задачу, но я хотел бы спросить, использовали ли они когда-либо кого-нибудь и насколько легко они были - и можете ли вы помочь мне и предоставить отправную точку?

Я исследовал: http://www.codeplex.com/ManagedMenuExtension

Ответы [ 2 ]

10 голосов
/ 29 апреля 2009

Да, самый простой способ - создать собственный макрос для обработки вашей задачи (в VB).

Добавление макроса

Прежде всего выберите Инструменты> Макросы> Макросы IDE (Alt + F11). Чтобы все было понятно, добавьте новый модуль, например «ContextMenu», и вставьте в него следующий код:

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics

Public Module ContextMenu

Public Sub DoSomething()
    'Few declarations'
    Dim SolutionExplorer As UIHierarchy
    Dim Item As UIHierarchyItem
    Dim SelectedItem As EnvDTE.ProjectItem

    'Getting the solution explorer'
    SolutionExplorer = DTE.Windows.Item(Constants.vsext_wk_SProjectWindow).Object()

    'Iterating through all selected items'
    For Each Item In SolutionExplorer.SelectedItems
        'Getting the item'
        SelectedItem = CType(Item.Object, EnvDTE.ProjectItem)

        'Do some stuff here'
        If SelectedItem.FileNames(1).EndsWith("txt") Then
            MsgBox("We got the text file!", , SelectedItem.FileNames(1))
        Else
            MsgBox("We got something else...", , SelectedItem.FileNames(1))
        End If
    Next
End Sub
End Module

Конечно, вы должны настроить способ обработки выбранных имен файлов. На данный момент для каждого файла будет отображаться всплывающее окно, отличающееся, если это будет текстовый файл.

Настройка контекстного меню

Вторая задача, которую нужно сделать, - добавить свой собственный макрос в контекстное меню; идти к: Инструменты> Настройка

Отметьте контекстные меню из списка на вкладке «Панели инструментов» (новая панель инструментов со всеми контекстными меню должна появиться в главном окне) и переключитесь на вкладку «Команды». Теперь из панели инструментов контекстных меню выберите: «Контекстные меню проекта и решения»> Элемент и перетащите на него свой макрос со вкладки «Команды». Измените его имя / значок / кнопку под контекстным меню.

Теперь вы готовы протестировать и использовать его. Ваш недавно добавленный макрос должен появиться в контекстном меню элемента. Веселитесь!

5 голосов
/ 28 апреля 2009

Вот учебник, который объясняет, как добавить контекстное меню с помощью макроса вместо создания надстройки Visual Studio. Надеюсь, это поможет:

Расширение контекстных меню Visual Studio

...