我正在尝试向 C++ 项目的自定义构建配置添加一个属性。我希望属性组合框显示可以在代码中设置的动态值列表。我认为这应该使用 DynamicEnumProperty 类型来完成,但我不确定它的实现。在此之前有人与此房产合作过可以为我指明正确的方向吗?
Thanks
我知道这是一个有点老的问题......但你可能仍然喜欢这个解决方案;)
除了按照上面 Dmitry 的说明引用程序集并通过 MEF 导出所需类型之外,您还需要将 VSPackage 标记为启用 MEF,以使其扫描您的合同。通过编辑 source.extension.vsixmanifest 来完成此操作:
对于VS2010:
<Content>
<VsPackage>|%CurrentProject%;PkgdefProjectOutputGroup|</VsPackage>
<MefComponent>|%CurrentProject%|</MefComponent>
</Content>
对于 VS2012 / VS2013:
<Assets>
<Asset Type="Microsoft.VisualStudio.MefComponent" d:Source="Project"
d:ProjectName="%CurrentProject%" Path="|%CurrentProject%|" />
</Assets>
这应该可以让您命中导出类中设置的断点。
此外,如果您需要在运行时“手动”创建对象,则可以使用 VisualStudio 的内部组合容器。从任何地方访问它的最简单方法是:
var container = Microsoft.VisualStudio.Shell.Package.GetGlobalService(typeof(SComponentModel)) as IComponentModel;
var service = container.GetService<SVsXYZ>();
我很快就会在这里添加一个示例:https://github.com/phofman/vs-plugin https://github.com/phofman/vs-plugin,所以只需放置链接以供将来参考。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)