美文网首页
VS插件开发(5)-逻辑处理

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

作者: 最怕认真 | 来源:发表于2016-04-25 17:24 被阅读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上去找对应的资料了,诸天气荡荡,我道日欣荣,道友加油。

    相关文章

      网友评论

          本文标题:VS插件开发(5)-逻辑处理

          本文链接:https://www.haomeiwen.com/subject/oncqrttx.html