Edit MIME types
Qt Creator uses the MIME type of a file to determine what type of a file it is, so it can:
- Choose a mode and editor to open the file in. For example, Qt Creator opens C++ source and header files in the C++ editor, and Qt widget based UI files (.ui) in Qt Widgets Designer.
- Offer code editing services, such as code formatting and highlighting.
- Feed files to the correct language server.
- Sort files into headers and sources in Projects.
For some MIME types, you can change the editor that Qt Creator uses to open the files of that type by default.
To identify the MIME type of a file, Qt Creator uses matching by pattern and matching by contents. First, Qt Creator looks at the filename to check whether it matches the patterns specified for any MIME type. If it does not find a match, it checks the contents of the file for magic headers specified for the file.
Qt Creator searches for the value within a specified range in the files and takes the priority of the magic header into account. If you specify wide search ranges, opening files in Qt Creator might take a long time. Therefore, you should use the recommended values for the range and priority of the magic header.
If your files do not match the predefined MIME types, you can edit the MIME types to add filename extensions and magic headers. You cannot add new MIME types, however.
Change predefined MIME types
To add file name extensions to MIME types:
- Go to Preferences > Environment > MIME Types.
- In MIME Type, select a MIME type.
- In Handler, double-click the editor name to display a context-menu where you can select another editor to open the file in by default. The menu is available only if alternative suitable editors are available. Select System Editor to use the system's default editor for files of this type by default.
- In Patterns, add the filename extension for the type of files that you want to identify as having this MIME type.
Change default editor for a file type
Even if an alternative editor is not listed for a MIME type, you can still change the editor that is used to open the files of a particular type. Remove the filename extension from the current MIME type and add it to a MIME type that is handled by the editor you want to use.
For example, to edit Linux kernel device tree source (.dts) files with the text editor, delete the pattern *.dts
from the MIME type audio/vnd.dts
(where it represents the digital surround audio file format), and add it to the text/plain
MIME type.
Use the Filter field to find the MIME type that currently has a filename extension.
Add magic headers
Magic headers can have the following types of values: string, host, big-endian, little-endian, and byte. Qt Creator interprets the values according to the Shared MIME-info Database specification.
- In Mime Types, select Add to add Magic Headers.
- In Value, specify a text string or bytes that appear in the files.
- In Type, select the type of the value.
- In Mask, specify the number to combine the value in the file with using the AND operator before comparing it to the specified value. You can specify any numbers as masks for numerical types, whereas masks for strings must be in base 16, and start with 0x.
Note: Changing the range and priority might cause problems when opening files in Qt Creator.
- Select OK to return to the MIME Types tab.
Reset MIME types
To revert the changes you made to MIME type definitions, select Reset MIME Types in MIME Types.
To revert the changes you made to the default editors, select Reset Handlers.
Note: If you select OK or Apply after reverting changes, you permanently lose all your own patterns and magic headers. They are removed the next time you start Qt Creator.
See also Clang Code Model and Language Servers.
© 2024 The Qt Company Ltd. 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.