Comment personnaliser le type de fichier aux associations de syntaxe dans Sublime Text?


517

J'aimerais que l'éditeur Sublime 2 traite les fichiers * .sbt (pour mettre en évidence la syntaxe) en langage Scala, comme * .scala, mais je ne trouve pas où configurer cela. Est-ce que vous savez?



Réponses:


1166

Dans Sublime Text (confirmé à la fois dans v2.x et v3.x), il y a une commande de menu:

Affichage -> Syntaxe -> Tout ouvrir avec l'extension actuelle en tant que ...


18
avez-vous une idée de comment cela se reflète dans les sublimes fichiers de configuration de texte? J'essaie d'y parvenir avec une recette de chef automatisée et je ne sais pas quoi définir dans les paramètres JSON.
brad

24
Fonctionne également de manière identique dans Sublime Text 3. Merci @TedG
fusion27

11
@brad Ouvrez les paramètres spécifiques à la syntaxe (Scala.sublime-settings dans le dossier Users) et ajoutez-y: {"extensions": ["scala", "sbt"]}
omittones

5
Ne fonctionne pas non plus comme prévu pour les noms de fichiers avec double extension. L'édition du *.sublime-settings ne fonctionne.
MM.

9
Comment définissez-vous une syntaxe par défaut pour les fichiers ouverts sans extension?
cavalcade

38

J'ai trouvé la réponse (en examinant plus en détail la structure des fichiers de configuration de Sublime 2):

Je devais ouvrir

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

Et modifiez-le pour ajouter sbt(l'extension des fichiers que je veux ouvrir en tant que fichiers de code Scala) au tableau après la fileTypesclé:

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

PS: Peut-il y avoir une meilleure façon, quelque chose comme un bon endroit pour mettre mes personnalisations (au lieu de modifier les paquets eux-mêmes), je voudrais quand même savoir.


1
c'est maintenant/Library/Application Support/Sublime Text 2/Packages/Scala/Scala.tmLanguage
Guillaume Massé

2
Je pense que c'est la bibliothèque utilisateur plutôt que la bibliothèque système:~/Library/Application Support/Sublime Text 2/Packages/Scala/Scala.tmLanguage
seren

4
@Eric, vous devriez lire plus attentivement .. Il ouvre tous les fichiers avec cette extension spécifique avec la syntaxe spécifiée. La plupart du temps, c'est ce que vous voulez.
Vincent Ketelaars

28

J'ai mis mes modifications personnalisées dans le package utilisateur:

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

Ce qui signifie également qu'il est au format JSON:

{
  "extensions":
  [
    "sbt"
  ]
}

C'est le même endroit où

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

l'élément de menu l'ajoute (création du fichier s'il n'existe pas).


2
Notez que c'est la seule méthode (au moins dans ST2) qui permet de définir une syntaxe spécifique pour les fichiers avec des extensions doubles (par exemple, whatever.twig.html), car la méthode de menu ne prend que la dernière!
MM.

1
J'ai trouvé que cela fonctionne avec Sublime Text 3. J'ai utilisé View -> Syntax -> Open all with current extension as ...pour créer le fichier de langue Markdown.sublime-settingsdans ~/Library/Application Support/Sublime Text 3/Packages/User/, puis j'ai édité ce fichier pour ajouter des extensions de fichier supplémentaires.
Jake Rayson du

13

Il existe un excellent plugin appelé ApplySyntax (anciennement DetectSyntax) qui fournit certaines autres subtilités pour la correspondance de syntaxe de fichier. autorise les expressions regex, etc.


9

Il existe une méthode rapide pour définir la syntaxe: Ctrl+ Shift+ P, puis tapez dans la zone de saisie

ss + (quel type vous voulez définir)

par exemple: ss html +Enter

et ss signifie "définir la syntaxe"

c'est vraiment plus rapide que de cocher la case du menu.


7

pour ST3

$ language = "language u wish"

s'il existe,

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

autre

créer ~ / .config / sublime-text-3 / Packages / User / $ language .sublime-settings

Et mettre

{"extensions": ["votre extension "]}

De cette façon, vous pouvez activer la syntaxe des extensions composites (par exemple sql.mustache, js.php, etc ...)


2
Donc, pour associer des fichiers .js.php à JavaScript, je devrais créer un fichier appelé Javascript.sublime-settings rempli de { "extensions": [ "js.php" ] }?
Austin Schmidt

Oui si le fichier n'existe pas, s'il existe déjà il suffit d'ajouter l'extension que vous désirez sur le tableau "extensions".
xpeiro
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.