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?


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.


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

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.

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.