• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

pedrotuga

Gedit code snippets

9 mensagens neste tópico

O gedit é editor que integra o gnome. Tal como o o próprio gnome o gedit segue uma filosofia simplista mas eficiente.

Uma das minhas funcionalidades favoritas é o sistema de snippets. Não só pela sua utilidade mas tambem pela forma como está implmentado.

Os snippets podem ser consultados ou editados através do menu

tools > manage snippets

Ou em alternativa editando directamente os ficheiros xml onde estes estão armazenados. Este último método pode ser bastante útil pois permite por exemplo importar vários snippets escritos por outra pessoa todos de uma vez.

Os snipets estão guardados em vários ficheiros xml na pastas

comum a todos utilizadores

/usr/share/gedit-2/plugins/snippets/

snippets do utilizador:

~/.gnome2/gedit/snippets/

A estrutura utilizada no XML explica-se a si prórpia.

Passemos à sintaxe dos snippets tambem ela muito simples.

Tudo se resume a definir um 'trigger' ou seja, uma sequencia de teclas que 'dispara' o snippet, e o texto do snippet com fragmentos que devem ser substituidos. O fragmentos a ser substituidos têm um dos seguintes formatos:

$0

$1

...

ou, em alternativa, para melhor legibilidade:

${0:algum texto aqui}

${0:para melhor compreensão}

Fica aqui um exemplo que vale mais que mila palavras:

$ cat ~/.gnome2/gedit/snippets/php.xml <?xml version='1.0' encoding='utf-8'?>
<snippets language="php">
  <snippet>
    <text><![CDATA[<${1:tag}> ${0:content} </${1:tag}>]]></text>
    <tag>tag</tag>
    <description>HTML tag</description>
  </snippet>
</snippets>

Podem copiar este snippet para a vossa pasta de snippets se quiserem experimentar.

Depois, abram um ficheiro .phpcom o gedit, certifiquem-se que os snippets estão activos ( edit>preferences>plugins )

escrevam 'tag' e presionem a tecla TAB, escrevam qualquer coisa e pressionem a tecla TAB de novo.

Cool, não é?

Partilhem os vossos snippets aqui :cheesygrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já tinha olhado para isto como uma maneira de poupar tempo a reescrever código :) Mas nunca me tinha dado ao trabalho de verdadeiramente experimentar.. acho que vou ver disso :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu uso os snippets para tudo e mais alguma coisa em C :thumbsup:

Eu é mais php que é o que programo mais no gedit.

quickfire, partilha aí os teus snippets com a malta.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não são nada de especial, uso os que vinham por defeito no gedit, um para os cabeçalhos de cada ficheiro, outro para os cabeçalhos das funções, um para comentários, e criei outro adaptado do snippet existente do main, para permitir ter os argumentos void.

Uff... Metade deles são pessoais, não se adaptariam a outra pessoa, mas os que não o são aqui estão:

Comments

  <snippet>
    <text>/* ${0:Comment} */</text>
    <tag>/</tag>
    <description>C Comment</description>
  </snippet>

O outro é uma adaptação do snippet já existente do main:

<snippet>
    <text>int main (void)
{
$0
return 0;
}</text>
    <tag>vmain</tag>
    <description>C void main</description>
  </snippet>

Acho que é tudo :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isto não conta como snippet, mas para quem como eu trabalha no gedit, tende a ficar com alguns ficheiros .~ na pasta onde tem os scripts. Não que seja um snippet, mas é simples e resulta (pelo menos para mim):

for i in $(ls -A | grep .~);do rm -r $i; done

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

-r para quê JoaoRodrigues, se o objectivo é apagar ficheiros? ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

for i in $(ls -A | grep .~);do rm -r $i; done

O que é que faz o . no grep? Procura no directório actual? (Esqueci-me do que significa em regex ;))

Se bem que eu uso grep ~$ em vez de .~

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o -r foi herdado de outra coisa :P E ficou ;) Mal não faz :)

O grep .~ "filtra" para apanhar tudo o que acabe em .~ :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora