Notepad ++ XML Auto Recuo + Fechamento de tag

2

Estou migrando uma pergunta que publiquei em stackoverflow para aqui, pois pode ser mais relevante.

Aqui está a pergunta:

Estou procurando uma maneira de codificar XML (mxml, especificamente) no Notepad ++, de modo que siga o comportamento do plug-in "Indent by Fold" - recuo após pressionar "enter" após uma tag de abertura - mas também inclui Tag de fechamento semelhante ao que é fornecido pelo plugin "XML Tools".

O problema de ativar os dois de uma só vez é que eu começo com algo assim:

<hello| 

(Nota: o caractere '|' representa o cursor)

Depois de acertar o '>' chave, eu entendo isso:

<hello>|</hello>

Depois de pressionar "Enter", recebo algo parecido com isto:

<hello>
   |</hello>

O que eu estou procurando é algo parecido com isso (depois de apertar a tecla '>'):

<hello>
   |
</hello>

Qualquer ajuda seria muito apreciada.

    
por funseiki 08.09.2012 / 07:54

1 resposta

2

Aqui está minha solução rápida e suja. Realmente, isso envolve apenas a criação de uma macro e a ativação de um recurso de ferramentas XML.

Primeiro, remova o plug-in "Recuar ao dobrar", se instalado.

Em seguida, ative o recurso "Fechar automaticamente tag" acessando os plugins > XML Tools.

Além disso, ative o recuo automático do Notepad ++ indo em Configurações > Preferências > MISC. Aba

Em seguida, vá para Macro > Inicie a gravação.

Agora, pressione as seguintes teclas nesta sequência:

& gt ;, insira, insira, suba, tab.

Em seguida, vá para Macro > Pare de gravar. Seguido por, Macro > Salvar a macro gravada atual.

Isso criará a final '>' bem como a tag de fechamento, mas deixe o cursor recuado em uma nova linha entre as tags de abertura e fechamento.

Guardei o meu como "CTRL + '.'".

O raciocínio por trás disso é que, se eu estivesse aqui:

<hello|

A coisa natural a fazer seria acertar o '>' chave. Desde que eu preciso bater SHIFT + '. em um teclado QWERTY para obter esse personagem, eu acho que eu usaria CTRL + '. (apenas uma chave de distância) para executar a macro e salvar SHIFT + '.' para casos em que quero apenas o caractere antigo simples (por exemplo, <hello /> ).

Aqui está o resultado depois de pressionar CTRL + '.'

<hello>
   |
</hello>

Eu estarei à procura de uma solução mais elegante, mas por enquanto isso parece ser muito bom.

Espero que isso ajude!

    
por 11.09.2012 / 07:10