Да, самый простой способ - создать собственный макрос для обработки вашей задачи (в 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
Конечно, вы должны настроить способ обработки выбранных имен файлов. На данный момент для каждого файла будет отображаться всплывающее окно, отличающееся, если это будет текстовый файл.
Настройка контекстного меню
Вторая задача, которую нужно сделать, - добавить свой собственный макрос в контекстное меню; идти к:
Инструменты> Настройка
Отметьте контекстные меню из списка на вкладке «Панели инструментов» (новая панель инструментов со всеми контекстными меню должна появиться в главном окне) и переключитесь на вкладку «Команды». Теперь из панели инструментов контекстных меню выберите: «Контекстные меню проекта и решения»> Элемент и перетащите на него свой макрос со вкладки «Команды». Измените его имя / значок / кнопку под контекстным меню.
Теперь вы готовы протестировать и использовать его. Ваш недавно добавленный макрос должен появиться в контекстном меню элемента. Веселитесь!