Faça o Notepad ++ lembrar de um idioma específico para um arquivo específico?

10

Eu tenho vários arquivos que gostaria de colorir de maneiras diferentes, mesmo que eles tenham a mesma extensão. Por exemplo, eu tenho alguns arquivos * .config que são realmente arquivos Python e outros que são arquivos XML. Quando os abro, preciso alterar manualmente a linguagem para Python ou XML.

Seria bom se, por exemplo, o Notepad ++ lembrasse que c: \ foo \ bar \ whatevs.config deve usar o estilo Python, mas c: \ hey \ ho \ boo.config deve usar o estilo XML.

Alguma maneira no Notepad ++ de dizer "lembra o idioma que foi usado na última vez em que o arquivo foi aberto"? Um plugin, talvez?

mhenry1384
fonte
Você está tendo problemas em algum lugar usando as extensões de arquivo corretas?
Iglvzx 02/12/19
1
Eu tenho um aplicativo Python que usa arquivos .config que são realmente arquivos Python e o .NET usa arquivos .config que são realmente arquivos XML. Como outro exemplo, tenho arquivos de remarcação que usam a extensão .txt porque são sincronizados com um aplicativo Android que não entende o que são arquivos .md.
precisa saber é o seguinte
Entendo. Ele se lembra do idioma definido quando você fecha o Notepad ++ com o arquivo aberto e reabre o Notepad ++?
Iglvzx 02/12/19
2
Na verdade, sim, se você tiver marcado "Lembrar sessão atual para o próximo lançamento" (o que não acontece). Mas ele esquece quando você fecha o arquivo e o reabre.
precisa saber é o seguinte

Respostas:

12

Existe uma opção da GUI para configurar um link estático entre a extensão e o idioma do arquivo (em vez de editar manualmente o %APPDATA% langs.xmlarquivo ou o %PROGRAMFILES% langs.model.xmlarquivo como @ jakub.g sugerido):

Se você for para Configurações -> Configurador de estilos -> selecione o idioma à esquerda e, na parte inferior da tela, duas caixas de texto serão exibidas:

Configurador de estilo

Neste exemplo, adicionei "config" à User ext.caixa de texto para que, sempre que eu abrir um arquivo com uma extensão de arquivo .config, o realce da sintaxe XML seja automaticamente selecionado no menu Idioma.

Sei que isso não resolve o problema de lembrar qual destaque de sintaxe se aplica a um único arquivo específico, mas é uma maneira fácil de configurar o destaque para todas as extensões de arquivo.

Se você deseja se lembrar da seleção de destaque da sintaxe de um arquivo individual, acredito que a única opção é marcar a caixa de seleção: Configurações -> Preferências -> MISC -> Lembrar a sessão atual para o próximo lançamento.

wweicker
fonte
mas não o salva. depois que você fecha e reabre o bloco de notas ++, as alterações desaparecem.
R3wt
@ r3wt Eu acredito que você precisa, run as administratorcaso contrário ele não terá permissões para salvar as preferências no seu perfil de usuário.
Wweicker
Isso não funcionará para extensões de arquivo embutidas. Você precisa remover manualmente a extensão da parte ext do idioma no arquivo langs.xml. Esse arquivo pode estar no diretório de instalação% APPDATA% / Notepad ++ ou Notepad ++ ou no armazenamento em nuvem, ou seja, DropBox, OneDrive ou GoogleDrive, se você tiver a opção Configurações na nuvem ativada.
26615 Ian Ianway
Isso funciona para idiomas personalizados? Não consigo encontrar o meu em nenhum lugar da lista.
Fabian Röling
1

Não é exatamente o que você está pedindo, mas se aplica ao seu comentário sobre arquivos .txt como arquivos Markdown. Uma opção possível é definir o Markdown como o idioma para todos os arquivos .txt.

Isso pressupõe que markdown_npp esteja instalado. Edite os seguintes arquivos por sua conta e risco (faça cópias de segurança antes de editar esses arquivos):

  • Abra langs.xml em% appdata% \ Notepad ++
    • Remova a extensão txt do idioma normal:
      • Antes: <Language name="normal" ext="txt" />
      • Depois de: <Language name="normal" ext="" />
  • Abra userDefineLang.xml em% appdata% \ Notepad ++
    • Adicione a extensão txt ao idioma do Markdown:
      • Antes: <UserLang name="Markdown" ext="md">
      • Depois de: <UserLang name="Markdown" ext="md txt">
  • Reinicie o Notepad ++
Mike Henry
fonte
funcionou para mim e foi a única maneira de obter o bloco de notas ++ para armazenar permanentemente o relacionamento. Obrigado,
r3wt
0

Para adicionar uma conexão fixa entre extensão e idioma, abra a pasta NPP (por exemplo C:\Program hFiles\Notepad++), existem vários arquivos XML lá. Edite-os (não me lembro exatamente qual langs.xmlou langs.model.xml).

Exemplo: <Language name="cpp" ext="h hpp hxx cpp cxx cc">

Encontre o idioma desejado e adicione a extensão.

No entanto, não sei como fazer a mesma extensão variar por pasta.

jakub.g
fonte