我有一个Visual Studio扩展,可以在项目项的属性网格中添加一个属性。它是通过注册一个扩展提供程序来完成的:
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);
}
这对于C#和VB项目来说很好用,但仅限于这两种类型的项目...
- 是否有可能使其适用于所有项目类型?
- 如果不行,我该在哪里找到其他项目类型的CATID?