Python e Django no TextMate
Assim como muitos outros usuários de Mac OSX o TextMate é meu editor de textos favorito. Ele é leve, confiável e torna a atividade de programar muito mais prazerosa. Na minha opinião ele só tem duas desvantagens: é pago (U$58) e funciona apenas no Mac OSX (sinto falta dele em outros OSs).
Nesse post vou mostrar como configurá-lo para trabalhar com Python e Django, em uma outra oportunidade, tentarei focar em dicas mais genéricas.
Antes de instalar qualquer tema ou bundle é necessário definir o encoding da sua máquina no seu arquivo ~/.bash_profile, basta adicionar essa linha:
export LC_CTYPE=pt_BR.UTF-8
Temas:
Primeiramente vamos configurar a aparência do TextMate, isso é feito através de temas. É necessário criar a pasta em que os temas do usuário são armazenados:
mkdir -p /Library/Application\ Support/TextMate/Bundles cd /Library/Application\ Support/TextMate/Bundles
Com a pasta criada basta copiar os arquivos de temas e reiniciar o textmate com o comando:
osascript -e 'tell app "TextMate" to reload bundles'
Recomendo a criação de alguns alias para as tarefas mais comuns:
function tm-restart { osascript -e 'tell app "TextMate" to reload bundles'; }; alias tm-bundles="cd /Library/Application\ Support/TextMate/Bundles/" alias tm-themes="cd /Library/Application\ Support/TextMate/Themes/"
Você pode achar temas legais aqui ou na wiki do textmate. O meu favorito é o Monokai
Bundles
Hightlight e outros
Basta instalar o bundle do Django e um melhorado do python.
Para não ficar perdido nos primeiros dias vale usar essa cheat sheet para python/django/rst
Auto complete com Rope
O bundle RopeMate utiliza a biblioteca Rope para adiconar recursos de autocomplete e refatoração. Os que mais uso são:
- Auto complete: <control> + <space>
- Organizar imports: <shift> + <cmd> + O
- Ir para a declaração (do método ou classe): <cmd> + F3
- Extrair linhas para método: <cmd> + <return>
Para instalar:
easy_install rope cd ~/Library/Application\ Support/TextMate/Bundles/ git clone https://github.com/JulianEberius/RopeMate.tmbundle.git tm-restart
Debug
O TextMate já possui um atalho para executar o script python com um terminal do pdb aberto:
sudo easy_install PdbTextMateSupport mate ~/.pdbrc
Adicione as seguintes linhas:
from PdbTextMateSupport import preloop, precmd pdb.Pdb.preloop = preloop pdb.Pdb.precmd = precmd
Habilite o suporte marcando a opção “Highlight current line” no TextMate e executando o seguinte comando:
pdbtmsupport enable