67

I find Finder's Quick Look feature (launched with Space) very useful, but it works only for a limited number of file extensions. In work I often get .properties, .conf, .ddl and other files which are essentially text, yet in Quick Look their content is never displayed:

alt text

Is there any way I can tell my Mac to treat those files as text?

Thanks!

5 Answers 5

48

QLStephen adds support for both files without a filename extension (like README) and files with arbitrary extensions (like file.xyz).


Quick Installation using Homebrew:

brew install qlstephen

Manual Installation:

  • Download plugin
  • Unzip
  • Move file to ~/Library/QuickLook

(Don't forget to star the repo if this plugin helps you.)

7
  • 3
    The way to do this is to add public.data to any quicklook generator's plist. The downside is that binary files also do not have an extension and so it will try to display them, albiet usually with no negative consequences
    – Brandon
    Nov 24, 2011 at 10:06
  • @Brandon - it appears there is a directories blacklist in QLStephen which prevents files with no extensions from being shown if they are in the bin directory, also there is a whitelist which enables it for README and files of that sort which could work. I'm having trouble getting this to work on ML tho.
    – cwd
    Oct 18, 2012 at 17:43
  • It's not the bin directory that blocks QLStephen; it's the executable file permissions.
    – Elliott B
    Sep 24, 2014 at 7:58
  • 6
    Apparently QLStephen is now available on homebrew as brew cask install qlstephen
    – Pushpendre
    Feb 8, 2016 at 2:42
  • 1
    For those looking for additional Quick Look plugins, check out github.com/sindresorhus/quick-look-plugins for a good list with examples and instructions. Or quick install: brew cask install qlcolorcode qlstephen qlmarkdown quicklook-json qlimagesize suspicious-package quicklookase qlvideo Aug 14, 2020 at 4:22
13

You might also want to have a look at the QLColorCode and QLMarkdown plugins, for syntax highlighting of many languages and markdown rendering respectively.

http://code.google.com/p/qlcolorcode/

http://github.com/toland/qlmarkdown/

_c

9

A search for quicklook on github reveals that there is a large variety of extensions available:

and some (incomplete) collections:

3
5

It's possible, but not really easy.

If you look at /System/Library/QuickLook/Text.qlgenerator/Contents/Info.plist, you'll notice that the "text" preview is for the following UTIs:

public.plain-text
public.rtf
com.apple.rtfd
org.oasis-open.opendocument.text
com.apple.property-list
public.xml

This is how QuickLook knows which Plugin (qlgenerator) to use.


A (hackish) solution now would be to assign the extension properties the UTI public.plain-text. To do this, you could create a dummy application (e.g. created by Automator) that declares these file types like described here, only you'd use public.plain-text as UTI and properties as file extension.

5
  • In the end, I've added custom file types to existing text editor (TextWrangler). Works fine, thanks! Jan 9, 2011 at 0:23
  • 1
    @Nikita It's easier, but be aware that any TextWrangler update will nuke your changes to Info.plist.
    – Daniel Beck
    Jan 9, 2011 at 8:32
  • I want to add a couple of extensions (.scala, .clj, .properties), what should I do?
    – Chiron
    Mar 6, 2011 at 12:28
  • @4bu3li Do what I wrote in my answer and it'll work, I just did it yesterday the same way. Or do you just require a more detailed explanation?
    – Daniel Beck
    Mar 6, 2011 at 12:51
  • I would like i more detailed explanation. Can't i not just add public.pde for example in the plist?
    – clankill3r
    May 11, 2013 at 10:50
3

A solution for 2021...

QLColorCode is an alternative to QLStephen. I have used them both over the years but have had more success with the former. My use case is being able to read my-example.Dockerfile but you should be able to adapt to what you need.

First, let's install QLColorCode:

>brew install qlcolorcode

Now get the metadata name that MacOS uses for your file. To do this we use the mdls command from the Terminal and call it on the path to an example of the filetype you want to configure quicklook for.

>mdls -name kMDItemContentType ~/Documents/my-example.Dockerfile

For me this outputs:

kMDItemContentType = "dyn.ah62d4rv4ge80k55drrw1e3xmrvwu"

Copy the part in quotes as you will need this in a moment. Open the Info.plist for QLColorCode in your favourite text editor. I like vim.

>vim ~/Library/QuickLook/QLColorCode.qlgenerator/Contents/Info.plist

Navigate down to the part that looks like this:

                    <array>
                            <string>public.source-code</string>
                            <string>public.yaml</string>
                            <string>com.apple.xcode.tcsh-script</string>
[...and so on...]
                    </array>

Insert a new element with your copied ContentType code. It should look something like this now:

                    <array>
                            <string>public.source-code</string>
                            <string>public.yaml</string>
                            <string>com.apple.xcode.tcsh-script</string>
[...and so on...]
                            <string>dyn.ah62d4rv4ge80k55drrw1e3xmrvwu</string>
                    </array>

Save your file and relaunch Finder. To restart Finder, click on the Apple icon (top left of screen), select "Force Quit..." and then select Finder. Hit "Relaunch".

Now, when you select a *.Dockerfile in Finder and hit spacebar, you should see the content

1
  • Thanks to the user that pointed out missing "kMDItemContentType" in the mdls command.
    – Robino
    Jul 23, 2021 at 13:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .