Atribuindo extensões personalizadas ao realce da sintaxe de um idioma no Notepad ++

280

Na versão atual do Notepad ++, a abertura de arquivos .sql faz com que o Notepad aplique o destaque da sintaxe SQL. Gostaria que o Notepad ++ fizesse o mesmo para outras extensões também. Existe alguma configuração em que eu possa definir isso?

Sathyajith Bhat
fonte
Já não? Deve fazê-lo por padrão.
D'Arvit 14/09/09
2
Ele faz para arquivos .sql, e não para outros arquivos
Sathyajith Bhat
4
Desejo que o Notepad ++ tenha apenas lembrado o idioma selecionado no menu para cada arquivo ou oferecido a adição de sua extensão ao configurador de estilo desse idioma na segunda vez em que você associou a extensão a um idioma.
Matthew Bloqueio
Observe que você também pode modificar as cores de idioma da sua extensão no menu Idioma / Definir seu idioma ....
WIP

Respostas:

347

Quando você abre um arquivo no bloco de notas ++, ele tenta carregar a sintaxe destacada para o conteúdo com base na extensão do arquivo.

Se você usar a extensão personalizada para um dos idiomas existentes, poderá adicioná-la em Configurações -> Styler Configurator. Selecione o idioma e adicione a extensão na caixa de edição "Extensão do usuário". Para adicionar várias extensões, separe-as usando Space.

Você precisa reabrir seu arquivo para ver o destaque da sintaxe aplicado.

Você também pode alterar o estilo de destaque da sintaxe selecionando um idioma diferente no menu de idiomas.

T. Kaltnekar
fonte
Eu tentei isso, mas ele atribui apenas a 1 extensão, quero atribuir várias extensões.
Sathyajith Bhat
24
você pode adicionar várias extensões, separando-os com o espaço, acrescentou que no meu post
T. Kaltnekar
20
Observe que essa alteração não afetará os arquivos atualmente abertos no Notepad ++. Além disso, o fechamento e a reabertura do Notepad ++ ainda não afetarão os arquivos que permanecem abertos entre as sessões. Os arquivos individuais devem ser fechados e reabertos para que o efeito seja visto.
Mwolfe02
Este método também não funciona para idiomas definidos pelo usuário. Para aqueles, veja a resposta abaixo, mas em vez do langs.xml, edite o userDefineLang.xml
Perseguição Sandmann
2
Esse método parece estar funcionando apenas ao abrir o Notepad ++ como administrador. Veja esta edição: github.com/notepad-plus-plus/notepad-plus-plus/issues/67 Também parece persistir as alterações nos arquivos de programa (por isso a questão da permissão) em C: \ Arquivos de Programas (x86) \ Notepad ++ \ themes \ SelectedTheme.xml, o que significa que essa configuração não é usada quando você alterna os temas.
Daniel Bogdan
67

Localize o arquivo langs.xml (geralmente em C: \ Users [nome de usuário] \ AppData \ Roaming \ Notepad ++), abra-o com o Notepad ++, encontre a linha que começa com <Language name="sql" ext="sql"e adicione as extensões desejadas no campo ext , separando-as com um espaço.

Para fazer isso em um idioma definido pelo usuário, procure userDefineLang.xml e edite ext="".

Se você instalou o notepad ++ no modo "portable", o langs.xml e o userDefineLangs.xml estarão diretamente na pasta em que o notepad ++ está localizado.

alex
fonte
6
Essa abordagem também funciona bem, mas a abordagem de T. Kaltnekar é um pouco mais amigável, obrigado!
Sathyajith Bhat
É a única maneira que eu sabia como :).
Alex
2
Bom, prefiro essa abordagem, tenho muitas extensões personalizadas e é mais fácil copiá-las e colá-las dessa maneira.
James
2
Este método funcionou para mim. Não entendo por que adicionar a extensão com a GUI não funciona. "C: \ users (user) \ appdata \ roaming \ notepad ++ \ langs.xml"
jimueller
Eu não tenho Notepadd ++ instalado, basta descompactado, de modo que o lang.xmlarquivo está no diretório do aplicativo ;-)
Betlista
0

Caso alguém esteja usando arquivos de sessão do Notepad ++ (eu os nomeei *.nppxml), você pode editá-los e alterar o <File lang="...">atributo, por exemplo

<File ... lang="Normal Text" ... filename="httpd.conf"
<File ... lang="Normal Text" ... filename="some.log"

para:

<File ... lang="Powershell" ... filename="httpd.conf"
<File ... lang="log" ... filename="some.log"

para obter uma boa *.logsintaxe padrão (ou definida pelo usuário como no meu caso com arquivos), destacando imediatamente sem reabrir cada arquivo, etc.

Andreas Dietrich
fonte