我正在尝试注册自定义内容类型,类似于MSDN 论坛上的这个问题:我想注册一个本质上是 HTML 文件的自定义扩展,例如:
[Export]
[DisplayName("My Custom Markup")]
[Name("mycustom")
[BaseDefinition("html")]
internal static ContentTypeDefinition MyCustomContentType;
[Export]
[FileExtension(".mycustom")]
[ContentType("mycustom")]
internal static FileExtensionToContentTypeDefinition MyCustomFileExtensionDefinition;
因此,通过指定BaseDefinition
as html
,我可以在.mycustom
文件中突出显示 HTML,不幸的是,我什么也得不到,特别是 HTML 智能感知。从上面的链接看来,让 Visual Studio 将自定义扩展识别为特定编辑器类型的唯一方法,但我必须破解注册表(或者更具体地说,通过ProvideEditorExtension
属性提供它,但它仅适用于 VSPackage )。
所以我的问题是,基本上,是否有另一种方法可以以编程方式向编辑器注册自定义扩展,但不为其创建自定义 VSPackage?当然,除了入侵注册表之外?
(我的方法可能完全错误,在这种情况下,非常感谢您的帮助!)