VS插件开发(5)-逻辑处理

2016-04-25  本文已影响179人  最怕认真

之前的文章我们已经可以在指定位置添加自己的命令了,那点击对应的按钮时,我们要在哪里写逻辑呢。
还是拿之前的例子,我们点击TestButton的时候,在哪里响应?
找到VSPackage2Package.cs文件

 protected override void Initialize()
        {
            Debug.WriteLine (string.Format(CultureInfo.CurrentCulture, "Entering Initialize() of: {0}", this.ToString()));
            base.Initialize();

            // Add our command handlers for menu (commands must exist in the .vsct file)
            OleMenuCommandService mcs = GetService(typeof(IMenuCommandService)) as OleMenuCommandService;
            if ( null != mcs )
            {
                // Create the command for the menu item.
                CommandID menuCommandID = new CommandID(GuidList.guidVSPackage2CmdSet, (int)PkgCmdIDList.cmdidMyCommand);
                MenuCommand menuItem = new MenuCommand(MenuItemCallback, menuCommandID );
                mcs.AddCommand( menuItem );
            }
        }

其中
PkgCmdIDList.cmdidMyCommand
便是按钮的ID了,这个ID在两个地方存在,要保证这两个地方的值是一样的
分别在PkgCmdIDList.cs已经vsct文件中
public const uint cmdidMyCommand = 0x1003;
<IDSymbol name="TestButton" value="0x1003"/>
而对于点击的相应,则在
MenuCommand menuItem = new MenuCommand(MenuItemCallback, menuCommandID );
中定义,第一个参数就是点击按钮的回调
private void MenuItemCallback(object sender, EventArgs e)
我们的逻辑既写在这里。
到此,我们就可以根据这段时间的学习,来开发自己的插件了,而对于你要开发什么插件,对应的知识,就要去msdn上去找对应的资料了,诸天气荡荡,我道日欣荣,道友加油。

上一篇下一篇

猜你喜欢

热点阅读