VS 2013 SDK:如何通过编辑器的上下文菜单开发可访问的扩展?

时间:2015-07-01 12:09:53

标签: c# .net vb.net visual-studio visual-studio-extensions

我正在使用 Visual Studio 2013

Visual Studio Package项目的项目向导提供了以下三个选项:

enter image description here

然而,我假装要做的是创建一个非常简单的扩展(修改所选文本),它应该可以通过文本编辑器的上下文菜单中的命令访问,而不是菜单命令既不是工具窗口也不是自定义编辑器(......我认为)。

首先,我应该根据自己的需求选择什么项目? (我正在使用菜单命令)。

其次,修改扩展行为以仅在文本编辑器的上下文菜单中添加它的必要步骤是什么?

1 个答案:

答案 0 :(得分:1)

private void CreateContextMenu()
{
    // Get a reference to the context menu of code windows.
    CommandBars commandBars = (CommandBars)applicationObject.CommandBars;
    CommandBar codeWindowCommandBar = commandBars["Code Window"];

    // Add a popup command bar.
    CommandBarControl myCommandBarControl = codeWindowCommandBar.Controls.Add(MsoControlType.msoControlPopup,
        System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing);

    CommandBarPopup myPopup = (CommandBarPopup)myCommandBarControl;

    // Change its caption
    myPopup.Caption = "My popup";

    // Add controls to the popup command bar
    CommandBarButton myButton = (CommandBarButton)myPopup.Controls.Add(MsoControlType.msoControlButton, Missing.Value, Missing.Value, 1, true);
    myButton.Caption = "Click Me";
    myButton.Click += myButton_Click;
}

void myButton_Click(CommandBarButton Ctrl, ref bool CancelDefault)
{
    MessageBox.Show("What's up?");
}