Recuo automático no Notepad ++

187

Nós sempre escrevemos um código como este formal:

void main(){
  if(){
    if()
    }

texto alternativo

Mas quando eu uso o Notepad ++ , a tela é:

void main(){
if(){
if()
}

texto alternativo

Como uso o Notepad ++ para recuo automático?

Graças a Jonathan , eu o configurei, mas não tem nenhum efeito. O instantâneo está abaixo:

texto alternativo

Estou usando o Notepad ++ versão 5.1.3.

Turion
fonte

Respostas:

135

O Notepad ++ somente inserirá automaticamente os recuos subseqüentes se você recuar manualmente a primeira linha em um bloco; caso contrário, você poderá reentrar seu código após o fato usando TextFX > TextFX Edit > Reindent C++ code.

scronide
fonte
1
Se a sua versão está faltando a DLL, você pode obtê-la na versão ZIP 5.9.0. Algumas das versões posteriores não incluem esta DLL. notepad-plus-plus.org/download/v5.9.0.html
Fostah
2
Na verdade, eu encontrei isso enquanto procurava uma maneira de formatar o código javascript. Acontece que isso também funciona para arquivos .js!
sacredfaith
7
@Fostah: você também pode instalar o "Text FX Character" em> Plugins> Plugin Manager> Show Plugin Manager
Adrien Seja
@scronide, Existe uma tecla de atalho para isso?
Pacerier 7/08/16
Observe que, apesar do nome, ele também também re-indentou corretamente o código javascript do qual eu estava tentando corrigir o recuo. Não há razão pela qual eu esperaria que isso acontecesse, apenas mencionando, já que o nome é bastante específico. Não sei por que o autor dessa biblioteca sentiu que tinha que dar uma preferência especial ao C ++ ...: D
neminem
99

Se o menu TextFX não existir, você precisará baixar e instalar o plug-in. Plugins-> Gerenciador de Plugins-> Mostrar Gerenciador de Plug- ins e depois verifique o plugin Caracteres TextFX . Clique em 'instalar', reinicie o Notepad ++.

Na versão Notepad ++ v6.1.3, resolvo com: Plugin Manager-> Show Plugin Manager ** e depois verifico o plug-in "Indent By Fold"

desconhecidos
fonte
2
Recuar por dobra é incrível. O fato de ele funcionar em formatação arbitrária ( XML, C / ++ / #, etc. ) é ótimo. O único problema é a pilha "desfazer". Quando usado, se você deseja desfazer um ponto antes de recuar, precisa desfazer todas as re-indentações de linhas, pois elas não são adicionadas à pilha como um único comando. Basicamente, tenha cuidado ao trabalhar com arquivos longos .
Dan Lugg
Oi @ Dan o problema de desfazer parece ter sido corrigido na versão mais recente do recuo por dobra ...
538ROMEO
1
Sim, ele não existe e não há Gerenciador de plug-ins.
Beyondo
31

Parece haver uma opção para formatação automática de XML, pelo menos. Pode ser encontrado em TextFX -> TextFX HTML Tidy -> Tidy: reindent XML.

Abhishek
fonte
2
você precisa do plugin TextFx para isto
arviman 31/05
29

A maioria dos desenvolvedores de programas de edição de texto usa incorretamente esse nome (recuo automático). O nome correto é "manter recuo". Recuo automático é o que você realmente deseja, mas não é implementado.

Eu também gostaria de ver esse recurso no Notepad ++.

Peter Mortensen
fonte
22

Na versão mais recente (pelo menos), você pode encontrá-lo através de:

  • Configurações (menu)
  • Preferências ...
  • MISC (guia)
  • lista da caixa de seleção inferior esquerda
  • " Recuo automático " é a segunda opção neste grupo

[ EDIT ] No entanto, acho que não teve a melhor implementação do recuo automático. Portanto, verifique se a versão 5.1 - recuo automático recebeu uma revisão recentemente, para corrigir automaticamente o recuo.


Observe também que está faltando o bloco do segundo if:

void main(){
  if(){
    if() { }  # here
  }
}
Jonathan Lonowski
fonte
8
Observe que essa configuração de recuo automático no Notepad ++ pressupõe que você faça o primeiro recuo manualmente em um bloco; não formata automaticamente o código para você.
scronide 5/01/09
Entendi seu significado agora mesmo, por favor, perdoe meu pobre Eng ... Minha língua materna é o chinês ...
Turion
14

Você pode usar o plugin 'Indent by fold'. Instale-o a partir do gerenciador de plugins. Isso funciona bem para mim.

Aki143S
fonte
2
Recuar por dobra é ótimo, exceto que apenas recua por dobra;) Nas situações em que você recuou a inicialização de uma lista, a menos que o idioma use um caractere de dobra para delimitar o inicializador, ele acabará não sendo recuado. Um exemplo é uma inicialização de matriz de várias linhas no PHP usando array( ... ), onde ()não são dobráveis.
precisa
5

Na versão 6.6.8, instalei o plug-in NppAutoIndent em Plugins> Plugin Manager> Show Plugin Manager. Em seguida, selecionei a opção Recuo inteligente em Plugin> NppAutoIndent. Espero que isto ajude.

TheRS
fonte
4

Uma pequena atualização: você pode pular o plug-in TextFX e usar o Tidy2 . Aqui você pode configurar suas próprias regras de formatação para diferentes tipos de códigos. Fácil de instalar e remover dentro

Notepad ++> Plugins> Gerenciador de plug-ins> Mostrar Gerenciador de plug-ins

e basta procurar o Tidy2 e instalá-lo. Feito.

Sven Ya
fonte
Você pode explicar um pouco mais?
precisa saber é o seguinte
Mais informações sobre a configuração pode ser encontrada aqui: stackoverflow.com/questions/14865770/using-tydy2-for-notepad
Sven Ya
a sua muito difícil de usar se compara com outros plugins
Gaurav Khurana
4

Para aqueles que usam o Notepad ++ v6.8.1 e posterior, a configuração de recuo automático agora é colocada no menu ConfiguraçõesPreferênciasMISC. Recuo automático .

Digite a descrição da imagem aqui

Luke
fonte
3

Experimente o plugin UniversalIndentGUI para o Notepad ++. Ele recua o código com base em alguns parâmetros. Isso funcionou bem para mim.

imriss
fonte
3
Observe que o link é direto para o download. O site é: universalindent.sourceforge.net . Além disso, isso parece ser uma GUI para configurar uma ferramenta de reforma, em vez de formatar automaticamente o texto corretamente para começar.
Martin Bonner apoia Monica
2

Isso pode parecer bobagem, mas na pergunta original, Turion estava editando um arquivo de texto sem formatação. Certifique-se de escolher o idioma correto no menu Idioma

kurdtpage
fonte
2
Menu TextFX → TextFX Edit → Reindent C++ code

insira a descrição da imagem aqui

Mas , o Notepad ++ não vem com este plug-in "Text FX Character". Você precisará instalá-lo via

Plugins → Plugin Manager → Show Plugin Manager.

Para adicionar atalho para recuo .

Clique em ConfiguraçõesMapeador de Atalhos ... defina a tecla de atalho de sua preferência. Eu prefiro Ctrl+ =.

Digite a descrição da imagem aqui

Saurav Sahu
fonte
1

Instale o plugin Tidy2. Eu tenho o Notepad ++ v6.2.2 e o Tidy2 funciona bem até agora.

user9717890
fonte
1

Primeiro download do plugin manager neste link , em seguida, descompactar a pasta zip e copiar este dentro de sua pasta de programa / notepad ++. depois reinicie o seu bloco de notas ++. então você vê o gerenciador de plugins no menu de plugins. depois clique em gerenciador de plugins e clique em show manager manager. Ele mostra toda a sua lista de plugins. na lista na parte inferior, encontre ferramentas XML, verifique e instale-o. depois reinicie o seu bloco de notas ++. Depois de abrir um documento, então plugins / xml tools / pretty plain (recuo do texto) e depois divirta-se.

tapos ghosh
fonte
0

Para quem usa a versão 7.8.5, as configurações de recuo automático agora estão localizadas em "Configurações" -> "Preferências ..." -> "Auto-conclusão".

insira a descrição da imagem aqui

ooi18
fonte
0

Tente salvar o arquivo antes, e ele irá recuar.

Sh13
fonte
Poderia ser um comentário!
Farbod Ahmadian 19/06
Você pode elaborar um pouco mais sobre isso?
Toto