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: + + D. Porém, podemos melhorar essa integração, realçando a linha que está sendo debugada na janela do textmate.

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

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">