当您在 Visual Studio 中右键单击某个文件扩展名时,我想添加一个自定义菜单项。
似乎有一些帮助性的开源项目可以实现这一点,但我想问一下是否有人曾经使用过它们,它们有多容易——你能帮助我并提供一个起点吗?
我研究过的一个是: http: //www.codeplex.com/ManagedMenuExtension
当您在 Visual Studio 中右键单击某个文件扩展名时,我想添加一个自定义菜单项。
似乎有一些帮助性的开源项目可以实现这一点,但我想问一下是否有人曾经使用过它们,它们有多容易——你能帮助我并提供一个起点吗?
我研究过的一个是: http: //www.codeplex.com/ManagedMenuExtension
是的,最简单的方法是创建自定义宏来处理您的任务(在 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
当然,您必须自定义处理选定文件名的方式。目前,它只会为每个文件显示一个弹出窗口,如果它是 txt 文件则不同。
第二个任务是将您的自定义宏添加到上下文菜单中;转到: 工具>自定义
从“工具栏”选项卡上的列表中勾选上下文菜单(带有所有上下文菜单的新工具栏应出现在主窗口上)并切换到“命令”选项卡。现在,从上下文菜单工具栏中选择:“项目和解决方案上下文菜单”>项目,然后从“命令”选项卡将宏拖到它上面。在右键菜单下更改其名称/图标/按钮。
现在您可以测试和使用它了。您新添加的宏应出现在项目上下文菜单中。玩得开心!