Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 添加VisualStudio2008上下文菜单项的最简单方法是什么?_Visual Studio_Visual Studio 2008_Visual Studio Addins - Fatal编程技术网

Visual studio 添加VisualStudio2008上下文菜单项的最简单方法是什么?

Visual studio 添加VisualStudio2008上下文菜单项的最简单方法是什么?,visual-studio,visual-studio-2008,visual-studio-addins,Visual Studio,Visual Studio 2008,Visual Studio Addins,我想在VisualStudio中右键单击某个文件扩展名时添加一个自定义菜单项 似乎有一些帮助性的开源项目可以实现这一点,但我想问一下是否有人使用过它们,它们有多容易——您能帮助我并提供一个起点吗 我研究过的一个方法是:是的,最简单的方法是创建自定义宏来处理任务(在VB中) 添加宏 首先选择工具>宏>宏IDE(Alt+F11)。为了让一切变得清晰,请添加一个新模块,例如“ContextMenu”,并在其中输入以下代码: Imports System Imports EnvDTE Imports E

我想在VisualStudio中右键单击某个文件扩展名时添加一个自定义菜单项

似乎有一些帮助性的开源项目可以实现这一点,但我想问一下是否有人使用过它们,它们有多容易——您能帮助我并提供一个起点吗


我研究过的一个方法是:

是的,最简单的方法是创建自定义宏来处理任务(在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文件,则会有所不同

自定义上下文菜单 第二个任务是将自定义宏添加到上下文菜单中;去: 工具>自定义

勾选“工具栏”选项卡列表中的上下文菜单(带有所有上下文菜单的新工具栏应显示在主窗口上),然后切换到“命令”选项卡。现在,从上下文菜单工具栏中选择“项目和解决方案上下文菜单”>项,并从“命令”选项卡将宏拖到该项上。在右键单击菜单下更改其名称/图标/按钮


现在您已经准备好测试和使用它了。新添加的宏应显示在项目关联菜单中。玩得开心

在“命令”选项卡中选择“宏”类别时,我没有将自定义宏视为可用选项。我看到了所有的示例宏,但没有看到我的自定义宏。保存/生成/添加宏是否还有其他步骤?如果宏获得任何参数,它将不会出现在命令菜单中。尝试声明:Public Sub-theMacroName()这里有一个教程,解释如何使用宏来添加上下文菜单,而不是创建Visual Studio加载项。希望有帮助: