Intype – Editor de Texto parecido com TextMate
April 19th, 2007 by joaojose
Achar um editor de texto que seja produtivo sempre foi uma tarefa difícil, eu mesmo só consegui esse mês. Eu já tinha visto e ouvido sobre o TextMate, porém ele só funciona no MacOS (o porque eu não sei). Fiquei intrigado e fui atrás de algo similar para Windows e eis que encontro o Intype.
Assim como o TextMate, o Intype tem uma série de Code Snippets para várias linguagem. Esses Snippets são “pequenos padrões” de código que podem ser reutilizados (como a estrutura de loop do tipo ‘for’). Nós normalmente gastamos horas programando e metade deste tempo estamos escrevendo códigos que não são relevantes ( ‘;’, parênteses, indentação e etc.) . O Intype faz esse trabalho para nós de uma forma simples e customizável.
Imagine que estamos querendo escrever um ‘while’, temos duas opções, escrever toda a estrutura de uma vez e depois gastar algum tempo posicionando o ponteiro para ‘preencher’ o while ou escrever de forma linear, escrevendo a estrutura e o preenchimento juntos, com a chance de esquecer o fechamento de algum parêntese ou chave.
Com Intype eu escrevo ‘while’ e aperto TAB, pronto, toda a estrutura é inserida (não tenho mais o risco de esquecer alguma chave) e apertando mais uma vez o TAB, o ponteiro é posicionado para o campo condicional, apertando novamente, sou direcionado para o local do código.
Prático não? E o legal é que conseguimos criar/editar/remover todos os Snippets facilmente. Dentro da pasta Bundles do Intype estão todos os Snippets e Syntaxes das linguagens suportadas. A estrutura para criar um Snippets é simples, vamos ver o exemplo abaixo:
{
content: '${1:public} function ${2:FunctionName} (${3: \$${4:value}${5:=''''} })
{
${0:# code...}
}'
title: 'function ..'
scope: 'source.php'
tab_trigger: 'function'
}
O tab_trigger é a palavra que deve ser digitada para acionar o snipper (’while’ no exemplo anterior). O scope já é um conceito mais complexo, porém ainda é simples, você pode configurar o snippets para funcionar somente dentro do escopo de funções. O content é o conteúdo que será inserido na tela. A seqüência dos TABs é dada pela estrutura ${X: ***}, onde o X é a ordem e o *** o valor padrão.
No exemplo, ao digitar function e pressionar TAB, é inserido o seguinte texto:
public function FunctionName ( $value='' )
{
# code...
}
A palavra ‘public’ estará selecionada e o ponteiro do texto posicionado no início, podendo assim modificar, quando aperto TAB novamente, ‘FunctionName’ será selecionado e o ponteiro direcionado ao seu início, e assim por diante. Com essa estrutura, é simples construir uma infinidades de snippets, tornando, um pouco mais, produtivo programar.
Como o Intype ainda está no Alpha, não tem algumas funcionalidades importantíssimas, como a possibilidade de trabalhar com vários arquivos ao mesmo tempo. Mas, por enquanto, temos como utilizar o Intype Project Mananger, criado por um desenvolvedor amador.
Espero que Intype seja útil para vocês, se for, comente aqui no blog sua experiência.
Aquele abraço.




April 19th, 2007 at 7:23 pm
vo testar o intype, e depois digo o que achei.
belo achado carioca
April 20th, 2007 at 5:22 am
Muito bom Carioca, andei vendo uns videos e parece que essa ferramenta eh muito boa mesmo…
April 20th, 2007 at 5:38 am
Cara! muito boa dica… Eu tava buscando uma ferramenta que fazia code snippets, desde que vi os primeiros screencasts de ruby on rails.
Eu cheguei a comecara usar o jEdit, que depois de alguns plugins trabalha muito bem com code snippets e ruby.
O phoda é que o jEdit é java, ou seja, muito pesadão para um editor que tem q ser rapido e de facil acesso!
Gostei da iniciativa do Blog!
Ja sou um leitor!
[]s!
April 20th, 2007 at 7:21 am
Pois é, o intype realmente é muito bom, mas tá em “alpha” ainda e não vai ser grátis, o que me desanima muito. Ainda continuo na busca de um editor grátis (ou livre!) que seja baseado em textmate.
April 20th, 2007 at 5:04 pm
Carioca!
Essa ferramenta parece ser a solução daqueles problemas pequenos de programação que todo mundo acaba perdendo muito tempo com eles… muito legal!
abraço