¿Cómo personalizar el tipo de archivo a las asociaciones de sintaxis en Sublime Text?

Respuestas:

1166

En Sublime Text (confirmado en v2.xy v3.x) hay un comando de menú:

Ver -> Sintaxis -> Abrir todo con la extensión actual como ...

TedG
fuente
18
¿Tienes alguna idea de cómo se refleja esto en los archivos de configuración de texto sublime? Estoy tratando de lograr esto con una receta de chef automatizada y no puedo entender qué establecer en la configuración JSON.
Brad
24
Funciona de manera idéntica en Sublime Text 3 también. Gracias @TedG
fusion27
11
@brad Abra la configuración específica de la sintaxis (Scala.sublime-settings en la carpeta Usuarios) y agréguela: {"extensiones": ["scala", "sbt"]}
omite los tonos del
55
Tampoco funciona como se esperaba para los nombres de archivo con doble extensión. Edición de la *.sublime-settings que hace el trabajo.
MM.
99
¿Cómo se configura una sintaxis predeterminada para los archivos abiertos que no tienen extensión?
Cabalgata
38

He encontrado la respuesta (examinando más a fondo la estructura de los archivos de configuración de Sublime 2):

Yo iba a abrir

~/.config/sublime-text-2/Packages/Scala/Scala.tmLanguage

Y edítelo para agregar sbt(la extensión de archivos que quiero abrir como archivos de código Scala) a la matriz después de la fileTypesclave:

<dict>
  <key>bundleUUID</key>
  <string>452017E8-0065-49EF-AB9D-7849B27D9367</string>
  <key>fileTypes</key>
  <array>
    <string>scala</string>
    <string>sbt</string>
  <array>
  ...

PD: Que haya una mejor manera, algo así como un lugar adecuado para colocar mis personalizaciones (en lugar de modificar los paquetes), aún me gustaría saber.

Ivan
fuente
1
ahora está en/Library/Application Support/Sublime Text 2/Packages/Scala/Scala.tmLanguage
Guillaume Massé
2
Creo que es la biblioteca del usuario en lugar de la biblioteca del sistema:~/Library/Application Support/Sublime Text 2/Packages/Scala/Scala.tmLanguage
seren
44
@Eric, deberías leer con más cuidado. Abre todos los archivos con esa extensión específica con la sintaxis especificada. La mayoría de las veces, esto es lo que quieres.
Vincent Ketelaars el
28

Pongo mis cambios personalizados en el paquete de Usuario:

*nix: ~/.config/sublime-text-2/Packages/User/Scala.tmLanguage
*Windows: %APPDATA%\Sublime Text 2\Packages\User\Scala.tmLanguage

Lo que también significa que está en formato JSON:

{
  "extensions":
  [
    "sbt"
  ]
}

Este es el mismo lugar donde

View -> Syntax -> Open all with current extension as ...

el elemento de menú lo agrega (creando el archivo si no existe).

enjugador de goma
fuente
2
Tenga en cuenta que este es el único método (al menos en ST2) que permite establecer una sintaxis específica para archivos con extensiones dobles (por ejemplo, whatever.twig.html), ¡ya que el método del menú solo toma el último!
MM.
1
Me encontré con esta obra sublime texto 3. Me utilizan View -> Syntax -> Open all with current extension as ...para crear el archivo de idioma Markdown.sublime-settingsen ~/Library/Application Support/Sublime Text 3/Packages/User/, y luego editado este archivo para agregar extensiones de archivo adicionales.
Jake Rayson el
13

Hay un excelente complemento llamado ApplySyntax (anteriormente DetectSyntax) que proporciona otras características para la coincidencia de sintaxis de archivos. permite expresiones regulares, etc.

Kaushik Gopal
fuente
9

Hay un método rápido para establecer la sintaxis: Ctrl+ Shift+ P, luego escriba el cuadro de entrada

ss + (qué tipo desea establecer)

por ejemplo: ss html +Enter

y ss significa "establecer la sintaxis"

es realmente más rápido que marcar la casilla de verificación del menú.

Hola mundo
fuente
7

para ST3

$ language = "idioma que deseas"

si existe

vaya a ~ / .config / sublime-text-3 / Packages / User / $ language .sublime-settings

más

crear ~ / .config / sublime-text-3 / Packages / User / $ language .sublime-settings

y establecer

{"extensiones": ["su extensión "]}

Esta manera le permite habilitar la sintaxis para extensiones compuestas (por ejemplo, sql.mustache, js.php, etc.)

xpeiro
fuente
2
Entonces, para asociar archivos .js.php con JavaScript, ¿debería crear un archivo llamado Javascript.sublime-settings lleno { "extensions": [ "js.php" ] }?
Austin Schmidt
Sí, si el archivo no existe, si ya existe, simplemente agregue la extensión que desee en la matriz "extensiones".
xpeiro