Identação errada no Eclipse com PyDev
O Eclipse é uma excelente ferramenta de programação que suporta várias linguagens e pode ser infinitamente customizado. Uma destas linguagens é o Python, que pode ser usado no Eclipse com plugin PyDev.
Pode acontecer de você já ter algum código Python pronto e querer começar a usar o Eclipse importando este código Python para um novo projeto. Isso funciona bem mas as vezes a indentação do código é exibida incorretamente no editor de código de Eclipse. Em outras linguagens de programação isto não seria um problema tão grande, mas o Python depende da indentação para funcionar, logo não dá para entender um código se a indentação é mostrada errada. O mais interessante deste problema é que apesar de mostrar a indentação errada, o código funciona normalmente quando executado. Acredito que a causa do problema tenha relação com alguma mistura entre tabs e espaços, mas no Kate e no GEdit o código é exibido corretamente.
Leia também
Tentei várias maneiras de lidar com isto e até pensei em corrigir manualmente, mas desisti. Mais de 4 mil linhas de código teriam que ser revistas uma a uma e as chances de erro seriam muito grandes. Fui pesquisando sobre indentação em Python e achei um script chamado reindent.py. Basta executar este script sobre qualquer aquivo cuja indentação esteja sendo mostrada errada no Eclipse e tudo estará resolvido como mágica.
A linha de comando no Linux é a seguinte:
python reindent.py arquivo_alvo.py
Se você é iniciante na programação, programas como Eclipse podem ter esses pequenos desafios, que são interessantes de identificar e tentar resolver. Eu, por exemplo, tive que encontrar o script e executá-lo no Eclipse para corrigir os erros de indentação, e agora uso já normalmente.
E você? Aprendeu algo novo? Tem alguma sugestão para compartilhar? Deixe nos comentários!
Sobre o autor
Profissional de TI com mais de 20 anos de experiência na indústria. Bacharel em Matemática Computacional, sempre aprendendo sobre tecnologia, desenvolvimento de software e automação. É criador do site Palpite Digital onde compartilha conhecimentos desde 2007!
Veja também
Teclado trocando letras no Linux
SQL e banco de dados para iniciantes!
Os 8 melhores livros de lógica de programação
Qual a diferença entre técnico em informática, engenheiro de computação, ciências da computação e sistemas de informação?