Defina a sintaxe padrão como um tipo de arquivo diferente no Sublime Text 2


731

Como definir um tipo de arquivo padrão para uma determinada extensão de arquivo no Sublime Text 2? Especificamente, quero ter os arquivos * .cfg como padrão, destacando a sintaxe Ini, mas não consigo descobrir como eu poderia criar essa configuração personalizada.

Respostas:


1597

Na versão atual do Sublime Text 2 (Build: 2139), você pode definir a sintaxe para todos os arquivos de uma determinada extensão de arquivo usando uma opção na barra de menus. Abra um arquivo com a extensão que pretende definir um padrão para e navegar através dos seguintes menus: View -> Syntax -> Open all with current extension as... ->[your syntax choice].

Atualizado 28/06/2012: As compilações recentes do Sublime Text 2 (pelo menos desde a Build 2181) permitiram que a sintaxe fosse definida clicando no tipo de sintaxe atual no canto inferior direito da janela. Isso abrirá o menu de seleção de sintaxe com a opção Open all with current extension as...no topo do menu.

Atualizado 19/04/2016: A partir de agora, isso também funciona para o texto sublime 3.


2
Você tentou Open all with current extension as...ou apenas definiu a sintaxe através de uma opção no Syntaxmenu?
— Colin R:

Confirmado. Você precisa reiniciar o Sublime para que as alterações ocorram. Além disso, isso não altera o arquivo "ativo" - você pode ver olhando na parte inferior direita a sintaxe escolhida. A reinicialização corrige isso.
— dmackerman

8
Isso pode ser feito por projeto? Por exemplo, para um projeto, talvez eu queira a sintaxe Mako para arquivos .html; enquanto outro pode usar outra sintaxe.
— Ken Kinder

44
Este ainda é o método usado no ST3 (a partir da versão 3010). Parece não ser necessário reiniciar e todos os arquivos ativos com a extensão são atualizados automaticamente.
— tbeseda 04/02

3
@ ziyuang - Verifique se você tem o cursor em algum lugar do arquivo aberto.
— Richard Marskell - Drackir

148

Vá para a Packages/User, crie (ou edite) um .sublime-settingsarquivo com o nome da sintaxe onde você deseja adicionar as extensões, Ini.sublime-settingsno seu caso, e escreva algo como isto:

{
    "extensions":["cfg"]
}

E, em seguida, reinicie o Sublime Text


NB a sintaxe que você deseja usar é diferencia maiúsculas e minúsculas (por exemplo, CSSpara css) e isso vai substituir defini-lo através da interface do usuário (ver @ post de Colin)
— ForbesLindesay

@ Elland eu abri um problema para o problema.
— perfil completo de JJD

29
Acho mais fácil com o texto sublime 2/3 abrir o arquivo e selecionar a sintaxe que você deseja usar. Em seguida, clique em Preferências-> Configurações - Mais -> Sintaxe específica - Usuário. E criará esse arquivo para você. Basta colar o código acima, salvar e reiniciar.
— Kokorohakai

Usado desta forma, porque eu era capaz de remover um arquivo de configurações que estava substituindo minhas configurações através da interface do usuário
— turbo2oh

Existe alguma maneira de configurar isso para um projeto específico?
— 213156

21

No ST2, há um pacote que você pode instalar chamado Default FileType, que faz exatamente isso.

Mais informações aqui .


1
This package sets the default file type of new files to be either the same as the current file, or a predefined default. Exatamente o que eu estava procurando! Obrigado
— Ricardo Saporta

no ST3, também funciona! só precisa de algum trabalho manual (save DefaultFileType no caminho do usuário ST3.
— staticor

5

Você pode ativar o destaque de sintaxe com base no conteúdo do arquivo.

Por exemplo, meus Makefiles, independentemente de sua extensão, a primeira linha da seguinte maneira:

#-*-Makefile-*- vim:syntax=make

Essa é uma prática típica para outros editores, como o vim.

No entanto, para que isso funcione, é necessário modificar o Makefile.tmLanguagearquivo.

  1. Encontre o arquivo (para Sublime Text 3 no Ubuntu) em:

    /opt/sublime_text/Packages/Makefile.sublime-package
    

Observe que esse é realmente um arquivo zip. Copie-o, renomeie com .zip no final e extraia o arquivo Makefile.tmLanguage.

  1. Edite o novo Makefile.tmLanguageadicionando a chave e a sequência "firstLineMatch" após a seção "fileTypes". No exemplo abaixo, as duas últimas linhas são novas (devem ser adicionadas por você). A <string>seção contém a expressão regular, que permitirá o destaque da sintaxe para os arquivos que correspondem à primeira linha. Esta expressão reconhece dois padrões: " -*-Makefile-*-" e " vim:syntax=make".

    ...
    <key>fileTypes</key>
    <array>
        <string>GNUmakefile</string>
        <string>makefile</string>
        <string>Makefile</string>
        <string>OCamlMakefile</string>
        <string>make</string>
    </array>
    
    <key>firstLineMatch</key>
    <string>^#\s*-\*-Makefile-\*-|^#.*\s*vim:syntax=make</string>
    
  2. Coloque o modificado Makefile.tmLanguageno diretório de configurações do usuário:

    ~/.config/sublime-text-3/Packages/User/Makefile.tmLanguage
    

Todos os arquivos correspondentes à regra da primeira linha devem ativar o destaque da sintaxe quando abertos.


Isso foi útil. É bom saber que é possível, mas editar todos os arquivos .sublime-package para cada tipo de arquivo que possa conter esse padrão não é prático. Portanto, provavelmente não usarei esse recurso.
— Travis Spencer #
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.