552 votes

Comment personnaliser les associations entre type de fichier et syntaxe dans Sublime Text ?

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

6 votes

0 votes

1239voto

TedG Points 4078

Dans Sublime Text (confirmé dans les versions 2.x et 3.x), il existe une commande de menu :

Affichage -> Syntaxe -> Ouvrir tout avec l'extension actuelle comme ...

21 votes

Avez-vous une idée de la manière dont cela se reflète dans les fichiers de configuration de sublime text ? J'essaie de réaliser ceci avec une recette chef automatisée et je n'arrive pas à trouver ce qu'il faut mettre dans le JSON des paramètres.

12 votes

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

1 votes

Encore une autre commande mystérieusement absente de la palette de commande (ctrl/cmd-shift-P)

41voto

Ivan Points 12891

J'ai trouvé la réponse (en examinant de plus près 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 souhaite voir ouverts en tant que fichiers de code Scala) dans le tableau situé après la balise fileTypes clé :

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

PS : S'il y a une meilleure façon, quelque chose comme un bon endroit pour mettre mes personnalisations (au lieu de modifier les paquets eux-mêmes), j'aimerais le savoir.

1 votes

C'est maintenant dans /Library/Application Support/Sublime Text 2/Packages/Scala/Scala.tmLanguage

2 votes

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

4 votes

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

29voto

squeegee Points 356

J'ai mis mes changements personnalisés dans le paquet de l'utilisateur :

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

Ce qui signifie aussi que c'est au format JSON :

{
  "extensions":
  [
    "sbt"
  ]
}

C'est le même endroit où le

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

l'ajoute (en créant le fichier s'il n'existe pas).

2 votes

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 du menu ne prend que le dernier !

1 votes

J'ai constaté 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-settings en ~/Library/Application Support/Sublime Text 3/Packages/User/ et a ensuite modifié ce fichier pour ajouter des extensions de fichiers supplémentaires.

16voto

xpeiro Points 169

Pour ST3

$language = "language u wish"

S'il existe, ouvrez ~/.config/sublime-text-3/Packages/User/*$language*.sublime-settings

sinon, il suffit de le créer.

Et mettre

{
    "extensions":
    [
        "*yourextension*"
    ]
}

Cette méthode permet d'activer la syntaxe des extensions composites (par exemple sql.mustache, js.php, etc...).

14voto

Kaushik Gopal Points 1681

Il existe un excellent plugin appelé Appliquer la syntaxe (précédemment DetectSyntax) qui fournit certaines autres subtilités pour la correspondance de la syntaxe des fichiers. permet les expressions regex, etc.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X