vs2005 插件开发的变态过程


搞一个command就花了4个小时,可以看出这个垃圾IDE的继承真是超级垃圾。

有时候command不见了、有时候点击一次消失了。有时候click没有反应。简直恶心。

先解决第一个问题,button灰色不可用。源代码:

代码
                IVisualStudio vs = VisualStudioManager.CreateVisualStudio(_applicationObject, _addInInstance);
                vs.GetCommandBar(CommandBarType.MenuBar).Get(
"工具").AddButton("Pixysoft""Pixysoft");

之后发现button没有出现。如果打开vs,button是灰色的。原因在:

代码
        public void QueryStatus(string commandName, vsCommandStatusTextWanted neededText, ref vsCommandStatus status, ref object commandText)
        {
            
if (neededText == vsCommandStatusTextWanted.vsCommandStatusTextWantedNone)
            {
                
if (commandName == "Pixysoft.Applications.TestDrivens.Connect.Pixysoft.Applications.TestDrivens")
                {
                    status 
= (vsCommandStatus)vsCommandStatus.vsCommandStatusSupported | vsCommandStatus.vsCommandStatusEnabled;
                    
return;
                }
            }
        }

 这里竟然他妈的用了字符串判断button是否可用。只要改成我定义的button名字。

原文地址:https://www.cnblogs.com/zc22/p/1687655.html