I have a Visual Studio extension that adds an property to the property grid of a project item. It is done by registering an extender provider like this:
void RegisterExtenderProvider()
{
var provider = new PropertyExtenderProvider(_dte, this);
string name = PropertyExtenderProvider.ExtenderName;
RegisterExtenderProvider(VSConstants.CATID.CSharpFileProperties_string, name, provider);
RegisterExtenderProvider(VSConstants.CATID.VBFileProperties_string, name, provider);
}
void RegisterExtenderProvider(string extenderCatId, string name, IExtenderProvider extenderProvider)
{
int cookie = _dte.ObjectExtenders.RegisterExtenderProvider(extenderCatId, name, extenderProvider);
_registerExtenderProviders.Add(cookie, extenderProvider);
}
It works fine for C# and VB projects, but only for those...
It doesn't make sense to register the extender provider for all project types.
Rather, you need to register your extender provider for the project systems you know it supports.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With