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

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

TedG
la source
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.

Ivan
la source
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).

raclette
la source
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.

Kaushik Gopal
la source
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.

Bonjour Wor1d
la source
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 ...)

xpeiro
la source
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