Actualización 2021 Ene
Si estás ejecutando MacOS Big Sur (11.1) y no puedes obtener vistas previas de QuickLook de ciertos archivos aunque hayas instalado QLStephen y otros plugins, esto es lo que me funcionó.
Antecedentes
En MacOS, a cada archivo se le asigna un UTI . Los UTIs se utilizan para identificar los tipos de archivos (son los tipos que se ven en el Kind
en el Finder o en la columna Kind
entrada en el General
sección del Get Info
ventana). Por ejemplo, un .txt
(un archivo de "texto plano") tiene la siguiente IU: public.plain-text
.
Para comprobar cuál es la UTI de un archivo concreto, puede ejecutar
mdls -name kMDItemContentType ~/my-file.ext
donde ~/my-file.ext
es la ruta del archivo.
QuickLook comprueba la UTI de un archivo para elegir el generador de QuickLook que se utilizará para la visualización. Los generadores QL que se suministran con MacOS pueden encontrarse en /System/Library/QuickLook/
.
Los generadores QL tienen el .qlgenerator
y puede ver su contenido haciendo clic con el botón derecho del ratón sobre ellos y seleccionando Show Package Contents
. Dentro de la carpeta Contents
allí un archivo llamado Info.plist
. Este archivo enumera las UTIs con las que se utilizará el generador.
Por lo tanto, el Info.plist
de la Text.qlgenerator
enumerará, entre otros, el public.plain-text
UTI. Cualquier archivo que tenga esa UTI será previsualizado usando Text.qlgenerator
.
Los generadores encontrados en /System/Library/QuickLook/
están bloqueados, lo que significa que (en principio) no se pueden editar.
Aquí es donde entran los plugins de QuickLook que se pueden encontrar en Internet, como QLStephen. Estos plugins se instalan en ~/Library/QuickLook
(tenga en cuenta que esta ruta comienza con ~/
, lo que significa que es su usuario Library
y no /System/Library/
) y ampliar las capacidades de QuickLook. En otras palabras, proporcionan al sistema nuevos generadores que funcionan con UTIs no cubiertos por los propios generadores del sistema, o los amplían.
Problema
Cuando se reasigna la aplicación con la que se abre un tipo de archivo (por ejemplo, Info > Abrir con > [app] > Cambiar todo`), la aplicación puede asignar a ese tipo de archivo una UTI que no es la predeterminada, lo que significa que QuickLook no reconocerá la UTI y no asignará ningún generador (y sólo verá un icono de archivo en lugar del contenido del mismo).
Por ejemplo, el plugin QLColorCode debería previsualizar el contenido de LaTeX .tex
archivos, pero en mi caso no fue así. Esto se debe a que seleccioné Sublime Text como la aplicación que abre .tex
y ST ha asignado un UTI que es diferente del UTI utilizado en QLColorCode para .tex
archivos.
Solución
La solución al problema es simplemente hacer saber al plugin de QL que también debería funcionar con estas IU "no predeterminadas".
Para ello, basta con editar el archivo Info.plist
del plugin en ~/Library/QuickLook
( no intente editar los generadores del sistema en /System/Library/QuickLook
).
Más concretamente, primero hay que localizar las siguientes líneas en Info.plist
(para abrir y editar este archivo, haga clic con el botón derecho del ratón y seleccione TextEdit
):
...
<key>LSItemContentTypes</key>
<array>
<string>public.source-code</string>
...
</array>
...
Luego, hay que añadir las IU "no estándar" en la matriz, así:
...
<key>LSItemContentTypes</key>
<array>
<string>public.source-code</string>
...
<string>dyn.ah62d4rv4ge80g5dx</string>
<string>dyn.ah62d4rv4ge81e5pe</string>
</array>
...
Como se mencionó anteriormente, para obtener la UTI de un archivo en particular, haga:
mdls -name kMDItemContentType ~/my-file.ext
En la salida, verá algo así:
kMDItemContentType = "dyn.ah62d4rv4ge80g5dx"
La cadena entre comillas dobles es la UTI de ~./my-file
.
Una vez que haya añadido las IU, sólo tiene que guardar el Info.plist
y cerrarlo.
Ahora QuickLook debería funcionar con el generador elegido para los archivos cuyas IU se han añadido en Info.plist
.
Para estar seguro, puedes ejecutar lo siguiente para restablecer QL y su caché:
qlmanage -r
qlmanage -r cache
Fin