如何将现有的编辑器/分类器与新的文件扩展名关联?

时间:2020-11-10 22:40:39

标签: visual-studio mef visual-studio-extensions vsix

我希望对我的Visual Studio扩展使用.customExt的文件突出显示C#语法。理想的效果是可以从VS UI:Tools -> Options -> Text Editor -> File Extension轻松实现的,但是如何从扩展级别实现类似的效果呢? 是否有可能获得现有的VS csharp分类器? 也许有一种方法可以将.customExt关联到现有的Microsoft Visual C#编辑器?

我尝试过:

[Export]
[FileExtension(".customExt")]
[ContentType("CSharp")]
internal static FileExtensionToContentTypeDefinition hiddenFileExtensionDefinition;

但是它显然不能按预期工作。

1 个答案:

答案 0 :(得分:1)

我在这里找到了有关如何将自定义文件类型与现有编辑器关联的解决方案:

New extension: CSS Is Less

这很简单,只需要将.pkgdef文件添加到VSIX项目中即可:

[$RootKey$\Languages\File Extensions\.customExt]
@="{694dd9b6-b865-4c5b-ad85-86356e9c88dc}"

[$RootKey$\Editors\{08467b34-b90f-4d91-bdca-eb8c8cf3033a}\Extensions]
"customExt"=dword:00000027

文件应设置以下属性:

  • 复制到输出目录:始终复制
  • 包含在VSIX中:True
相关问题