visual-studio - 如何将现有的编辑器/分类器与新的文件扩展名相关联?
问题描述
我希望我的 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;
但它显然不能按预期工作。
解决方案
我在这里找到了有关如何将自定义文件类型与现有编辑器相关联的解决方案:
非常简单,只需在 VSIX 项目中添加 .pkgdef 文件即可:
[$RootKey$\Languages\File Extensions\.customExt]
@="{694dd9b6-b865-4c5b-ad85-86356e9c88dc}"
[$RootKey$\Editors\{08467b34-b90f-4d91-bdca-eb8c8cf3033a}\Extensions]
"customExt"=dword:00000027
该文件应具有以下属性集:
- 复制到输出目录:始终复制
- 包含在 VSIX 中:True
推荐阅读
- mysql - mariadb 每天增加磁盘使用量并在停止 mariadb 守护进程时回收空间
- java - 如何从 Firebase 实时数据库 Java 中的子节点检索数组数据?(Firebase 回收器适配器)
- php - 启用 fileinfo 但仍然收到错误 WordPress 插件要求
- c - 如何在 ftrace 中打印 trace_printk 的完整跟踪文件?
- python - 按行连接 3D numpy 数组
- javascript - 我需要在引导多选时触发离开事件,但我也不能点击甚至不工作
- hugo - 如何在 HUGO 中获取 {{.GitInfo}}?
- python - 如何通过机器学习识别句子中的某些单词?
- vb.net - 如何在发送之前在我的 pdf 中设置密码?
- javascript - 三星互联网浏览器上的全屏高度不一致