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


517

Me gustaría que el editor Sublime 2 tratara los archivos * .sbt (para resaltar la sintaxis) como lenguaje Scala, igual que * .scala, pero no puedo encontrar dónde configurar esto. ¿Por casualidad lo sabes?



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 ...


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.


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).


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.


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ú.


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.)


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.