编辑 MIME 类型
Qt Creator 在打开一个文件时,电脑会使用文件的MIME 类型来确定它是什么类型的文件:
- 选择打开文件的模式和编辑器。例如,Qt Creator 在 C++ 编辑器中打开 C++ 源文件和头文件,在Qt Widgets Designer 中打开基于 Qt Widgets 的 UI 文件 (.ui) 。
- 提供代码编辑服务,如代码格式化和高亮显示。
- 将文件发送到正确的语言服务器。
- 在项目中将文件排序为头文件和源文件。
对于某些 MIME 类型,可以更改Qt Creator 默认用于打开该类型文件的编辑器。
要识别文件的 MIME 类型,Qt Creator 会使用模式匹配和内容匹配。首先,Qt Creator 会查看文件名,检查它是否与为任何 MIME 类型指定的模式匹配。如果找不到匹配,它就会检查文件内容中为文件指定的魔术头。
Qt Creator 在文件的指定范围内搜索值,并将魔法头的优先级考虑在内。如果指定的搜索范围过大,在 中打开文件可能需要很长时间。因此,您应该使用推荐的范围值和魔术头的优先级。Qt Creator
如果您的文件与预定义的 MIME 类型不匹配,您可以编辑 MIME 类型以添加文件名扩展名和魔术头。但不能添加新的 MIME 类型。
更改预定义的 MIME 类型
为 MIME 类型添加文件名扩展名:
- 转到首选项>Environment >MIME Types 。
- 在MIME Type 中,选择一种 MIME 类型。
- 在Handler 中,双击编辑器名称可显示一个上下文菜单,在该菜单中选择另一个编辑器作为默认打开文件的编辑器。只有在有其他合适编辑器的情况下,该菜单才可用。选择System Editor 默认使用系统的默认编辑器打开此类文件。
- 在Patterns 中,添加要识别为具有此 MIME 类型的文件类型的文件扩展名。
更改文件类型的默认编辑器
即使未列出 MIME 类型的替代编辑器,也可以更改用于打开特定类型文件的编辑器。将文件名扩展名从当前 MIME 类型中移除,并将其添加到要使用的编辑器可处理的 MIME 类型中。
例如,要使用文本编辑器编辑 Linux 内核设备树源代码(.dts)文件,请从 MIME 类型audio/vnd.dts
(它代表数字环绕声文件格式)中删除模式*.dts
,并将其添加到text/plain
MIME 类型中。
使用Filter 字段查找当前具有文件扩展名的 MIME 类型。
添加魔术头
Magic headers 可以有以下类型的值:string、host、big-endian、little-endian 和 byte。Qt Creator 会根据共享 MIME-info 数据库规范解释这些值。
- 在MIME Types 中,选择Add 添加魔术头。
- 在Value 中,指定文件中出现的文本字符串或字节。
- 在Type 中,选择值的类型。
- 在Mask 中,指定要使用 AND 运算符将文件中的值与指定值进行比较的数字。数字类型的掩码可以指定任何数字,而字符串类型的掩码必须以 16 为基数,并以 0x 开始。
注意: 更改范围和优先级可能会导致在Qt Creator 中打开文件时出现问题。
- 选择OK 返回MIME Types 选项卡。
重置 MIME 类型
要恢复对 MIME 类型定义所做的更改,请在MIME Types 中选择Reset MIME Types 。
要恢复对默认编辑器所做的更改,请选择Reset Handlers 。
注意: 如果在还原更改后选择OK 或Apply ,则会永久丢失所有自己的模式和魔法头。下次启动Qt Creator 时,它们将被删除。
另请参阅 Clang 代码模型和语言服务器。
Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.