Como personalizar o tipo de arquivo para associações de sintaxe no Sublime Text?


Respostas:


1166

No Sublime Text (confirmado nas v2.xe v3.x), existe um comando de menu:

Ver -> Sintaxe -> Abrir tudo com a extensão atual como ...


18
você tem alguma idéia de como isso se reflete nos arquivos de configuração de texto sublime? Estou tentando conseguir isso com uma receita automatizada de chef e não consigo descobrir o que definir nas configurações JSON.
brad

24
Funciona de forma idêntica no Sublime Text 3 também. Graças @TedG
fusion27

11
@brad Abra configurações específicas de sintaxe (configurações Scala.sublime na pasta Usuários) e adicione a elas: {"extensions": ["scala", "sbt"]}
omittones

5
Também não funciona como esperado para nomes de arquivos com extensão dupla. Editando o *.sublime-settings faz trabalho.
MM.

9
Como você define uma sintaxe padrão para arquivos abertos que não têm extensão?
cavalcade 27/02

38

Encontrei a resposta (examinando melhor a estrutura dos arquivos de configuração do Sublime 2):

Eu deveria abrir

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

E edite-o para adicionar sbt(a extensão dos arquivos que eu quero que sejam abertos como arquivos de código Scala) à matriz após a fileTypeschave:

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

PS: Pode haver uma maneira melhor, algo como um lugar certo para colocar minhas personalizações (em vez de modificar os próprios pacotes), eu ainda gostaria de saber.


1
está agora em/Library/Application Support/Sublime Text 2/Packages/Scala/Scala.tmLanguage
Guillaume Massé

2
Eu acho que é a biblioteca de usuário ao invés da biblioteca do sistema:~/Library/Application Support/Sublime Text 2/Packages/Scala/Scala.tmLanguage
seren

4
@ Eric, você deve ler com mais cuidado. Ele abre todos os arquivos com essa extensão específica com a sintaxe especificada. Na maioria das vezes, é isso que você deseja.
Vincent Ketelaars

28

Coloquei minhas alterações personalizadas no pacote do usuário:

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

O que também significa que está no formato JSON:

{
  "extensions":
  [
    "sbt"
  ]
}

Este é o mesmo lugar que

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

o item de menu o adiciona (criando o arquivo se ele não existir).


2
Observe que este é o único método (pelo menos no ST2) que permite definir sintaxe específica para arquivos com extensões duplas (por exemplo, whatever.twig.html), pois o método de menu leva apenas o último!
MM.

1
Eu achei isso funciona com Sublime Texto 3. I utilizado View -> Syntax -> Open all with current extension as ...para criar o arquivo de idioma Markdown.sublime-settingsem ~/Library/Application Support/Sublime Text 3/Packages/User/e, em seguida, editado este arquivo para adicionar extensões de arquivo extra.
Jake Rayson

13

Existe um excelente plug-in chamado ApplySyntax (anteriormente DetectSyntax) que fornece outras outras informações para a correspondência de sintaxe de arquivo. permite expressões regex etc.


9

Existe um método rápido para definir a sintaxe: Ctrl+ Shift+ Pe digite na caixa de entrada

ss + (qual o tipo que você deseja definir)

por exemplo: ss html +Enter

e ss significa "definir sintaxe"

é realmente mais rápido que marcar na caixa de seleção do menu.


7

para ST3

$ language = "idioma que você deseja"

se existir,

vá para ~ / .config / sublime-text-3 / Pacotes / Usuário / $ language .sublime-settings

outro

crie ~ / .config / sublime-text-3 / Pacotes / Usuário / $ language .sublime-settings

E definir

{"extensions": [" yourextension "]}

Dessa maneira, você pode habilitar a sintaxe para extensões compostas (por exemplo, sql.mustache, js.php, etc ...)


2
Então, para associar arquivos .js.php ao JavaScript, devo criar um arquivo chamado Javascript.sublime-settings preenchido { "extensions": [ "js.php" ] }?
Austin Schmidt

Sim, se o arquivo não existir, se já existir, basta adicionar a extensão desejada na matriz "extensions".
Xpeiro
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.