.net - VS2013 SDK: Initialize extension, how and when to? -


the problem have extension, default visual studio package project of command menu, initialize method call when click on command menu name tools menu, not want, pretend create extension adds menu on contextmenu of code editor window (not on tools menu), then, how can initialize extension properly? when project loads or when right-click in code editor window (i don't know exactlly when should initialize extension neither how initialize it).

this relevant code:

<packageregistration(usemanagedresourcesonly:=true)> <installedproductregistration("#110", "#112", "1.0", iconresourceid:=400)> <providemenuresource("menus.ctmenu", 1)> <guid(guidlist.guidvspackage2pkgstring)> public notinheritable class elektrodocpackage : inherits package  #region " constructors "      ''' <summary>     ''' initializes new instance of <see cref="elektrodocpackage"/> class.     ''' </summary>     public sub new()          ' inside method can place initialization code not require          ' visual studio service because @ point package object created          ' not sited yet inside visual studio environment.       end sub  #end region  #region " overriden methods "      ''' <summary>     ''' called when vspackage loaded visual studio.     ''' place can put initialization code rely on services provided visualstudio.     ''' </summary>     protected overrides sub initialize()          mybase.initialize()          me.createcontextmenu()      end sub  #end region  #region " private methods "      ''' <summary>     ''' creates context menu.     ''' </summary>     private sub createcontextmenu()          dim applicationobject dte2 =             directcast(mybase.getservice(gettype(dte)), dte2)          ' reference context menu of code window.         dim codewindowcommandbar commandbar =             directcast(applicationobject.commandbars, commandbars)("code window")          ' add popup command bar.         dim mainpopup commandbarpopup =             directcast(codewindowcommandbar.controls.add(msocontroltype.msocontrolpopup,                                                          type.missing, type.missing,                                                          type.missing, type.missing), commandbarpopup)          mainpopup.caption = "elektrodoc"          ' add controls popup command bar.         btcodeexample = directcast(mainpopup.controls.add(msocontroltype.msocontrolbutton,                                                           missing.value, missing.value,                                                           1, true), commandbarbutton)          btcodeexample.caption = "code example"         btcodeexample.style = msobuttonstyle.msobuttonicon      end sub  #end region  end class  #end region 

the asnwer question can found here:

howto: autoload visual studio package. carlos j. quintero, mz-tools articles

(...) [provideautoload(vsconstants.uicontext.nosolution_string)] [provideautoload(vsconstants.uicontext.solutionexists_string)] [provideautoload(vsconstants.uicontext.solutionhasmultipleprojects_string)] [provideautoload(vsconstants.uicontext.solutionhassingleproject_string)] [guid(guidlist.guidmyvspackagepkgstring)] public sealed class myvspackagepackage : package {    (...) } 

thanks carlos j. quintero.


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -

How to provide Authorization & Authentication using Asp.net, C#? -