Establecer la sintaxis predeterminada para diferentes tipos de archivo en Sublime Text 2

731

¿Cómo configuro un tipo de archivo predeterminado para una determinada extensión de archivo en Sublime Text 2? Específicamente, quiero que los archivos * .cfg tengan el resaltado de sintaxis Ini predeterminado, pero parece que no puedo entender cómo podría crear esta configuración personalizada.

keiththomps
fuente

Respuestas:

1597

En la versión actual de Sublime Text 2 (Build: 2139), puede establecer la sintaxis para todos los archivos de una determinada extensión de archivo utilizando una opción en la barra de menú. Abrir un archivo con la extensión que desea establecer un valor predeterminado para navegar a través de las y los menús siguientes: View -> Syntax -> Open all with current extension as... ->[your syntax choice].

Actualizado el 28/06/2012: las compilaciones recientes de Sublime Text 2 (al menos desde la compilación 2181) han permitido establecer la sintaxis haciendo clic en el tipo de sintaxis actual en la esquina inferior derecha de la ventana. Esto abrirá el menú de selección de sintaxis con la opción Open all with current extension as...en la parte superior del menú.

Actualizado 2016-04-19: a partir de ahora, esto también funciona para Sublime Text 3.

Colin R
fuente
2
¿Intentó Open all with current extension as...o simplemente configuró la sintaxis a través de una opción en el Syntaxmenú?
Colin R
Confirmado. Debe reiniciar Sublime para que los cambios se mantengan. Además, esto no cambia el archivo "activo"; puede verlo mirando en la parte inferior derecha la sintaxis que ha elegido. Sin embargo, el reinicio lo arregla.
dmackerman
8
¿Se puede hacer esto por proyecto? Por ejemplo, para un proyecto, podría querer la sintaxis de Mako para archivos .html; mientras que otro podría usar otra sintaxis.
Ken Kinder
44
Este sigue siendo el método utilizado en ST3 (a partir de la compilación 3010). Parece que no es necesario reiniciar, y todos los archivos activos con la extensión se actualizan automáticamente.
tbeseda
3
@ziyuang: asegúrese de tener el cursor en algún lugar del archivo abierto.
Richard Marskell - Drackir
148

Vaya a Packages/User, cree (o edite) un .sublime-settingsarchivo con el nombre de la sintaxis donde desea agregar las extensiones, Ini.sublime-settingsen su caso, luego escriba algo como esto:

{
    "extensions":["cfg"]
}

Y luego reinicie Sublime Text

kizu
fuente
Nota: la sintaxis que desea utilizar CSS
distingue entre
@Elland Abrí un problema para el problema.
JJD
29
Me resulta más fácil con el texto sublime 2/3 abrir el archivo y luego seleccionar la sintaxis que desea usar. Luego haga clic en Preferencias-> Configuración - Más -> Sintaxis específica - Usuario. Y creará ese archivo para ti. Simplemente pegue el código anterior, guarde y reinicie.
kokorohakai
Utilizado de esta manera porque pude eliminar un archivo de configuración que estaba anulando mi configuración a través de la interfaz de usuario
turbo2oh
¿Hay alguna forma de configurar esto para un proyecto en particular?
steinybot
21

En ST2 hay un paquete que puede instalar llamado Default FileType que hace exactamente eso.

Más información aquí .

trejox
fuente
1
This package sets the default file type of new files to be either the same as the current file, or a predefined default. ¡Exactamente lo que estaba buscando! Gracias
Ricardo Saporta
en ST3, ¡también funciona! solo necesito un poco de trabajo manual (guardar DefaultFileType en la ruta del usuario ST3.
statico
5

Puede activar el resaltado de sintaxis en función del contenido del archivo.

Por ejemplo, mis Makefiles, independientemente de su extensión, son la primera línea de la siguiente manera:

#-*-Makefile-*- vim:syntax=make

Esta es una práctica típica para otros editores como vim.

Sin embargo, para que esto funcione, debe modificar el Makefile.tmLanguagearchivo.

  1. Encuentre el archivo (para Sublime Text 3 en Ubuntu) en:

    /opt/sublime_text/Packages/Makefile.sublime-package
    

Tenga en cuenta que eso es realmente un archivo zip. Cópielo, cambie el nombre con .zip al final y extraiga el archivo Makefile.tmLanguage.

  1. Edite el nuevo Makefile.tmLanguageagregando la clave y la cadena "firstLineMatch" después de la sección "fileTypes". En el ejemplo a continuación, las dos últimas líneas son nuevas (debe agregarlas usted). La <string>sección contiene la expresión regular, que habilitará el resaltado de sintaxis para los archivos que coinciden con la primera línea. Esta expresión reconoce dos patrones: " -*-Makefile-*-" y " vim:syntax=make".

    ...
    <key>fileTypes</key>
    <array>
        <string>GNUmakefile</string>
        <string>makefile</string>
        <string>Makefile</string>
        <string>OCamlMakefile</string>
        <string>make</string>
    </array>
    
    <key>firstLineMatch</key>
    <string>^#\s*-\*-Makefile-\*-|^#.*\s*vim:syntax=make</string>
    
  2. Coloque el modificado Makefile.tmLanguageen el directorio de configuración del usuario:

    ~/.config/sublime-text-3/Packages/User/Makefile.tmLanguage
    

Todos los archivos que coinciden con la regla de la primera línea deben activar el resaltado de sintaxis cuando se abren.

elomage
fuente
Esto fue útil. Es bueno saber que es posible, pero editar cada archivo .sublime-package para cada tipo de archivo que pueda contener dicho patrón no es práctico. Por lo tanto, probablemente no usaré esta función.
Travis Spencer