Um recurso muito interessante no CFEclipse é a possibilidade de criar templates de códigos. Isso é muito útil para aqueles códigos onde você os utiliza com certa freqüência, além disso é bem interessante para criar uma padronização na sua equipe, ex.: templates para comentários (estilo javadoc, phpdoc…), templates para testes unitários, consulta ou conexão com o banco de dados, atalhos para algum framework, etc… Isso evitará que o desenvolvedor perca tempo procurando ou digitando algum código que poderia estar em um lugar de fácil acesso de maneira prática e rápida.

Bem, a propaganda já foi feita… vamos ver na prática como ela funciona:

Para utilizar este recurso é necessário ter instalado o plugin do CFEclipse, caso não saiba como instalar, veja aqui: Instalando Eclipse + CFEclipse.

1 – Abra a perspectiva do CFEclipse conforme a figura abaixo:

Perspectiva CFEclipse

Perspectiva CFEclipse

2 – Selecione “Snip Tree View”=> Window > Show View > Snip Tree View:

Selecione Snip Tree View

Selecione Snip Tree View

3 – Snip Tree View selecionada:

Snip Tree View

Snip Tree View

4 – Vamos criar uma pasta para nossos snippets (vamos chamá-la de “MySnippets”):

Create new snip package

Create new snip package

5 – Vamos criar um novo snip (selecione a pasta que acabaste de criar e clique no botão “+” conforme a figura abaixo, ou com o menu de contexto):

Create a new snip

Create a new snip

6 – Insira os dados conforme a figura abaixo:

New Snippet

New Snippet

Snippet name: nome do snippet
Trigger text: é usado como se fosse um atalho (mais adiante você verá)
Snippet Description: descrição do snipet (aqui não pode contar acentos nem o cedilha)
Snippet starting block: é o código propriamente dito, aqui vai o código inicial do *bloco
Snippet closing block: *bloco final do código
*Bloco inicial e final do código (starting/closing) nós veremos mais adiante como utilizá-lo.

Em Snippet start block vamos inserir nosso template de código HML (depois pressione OK):

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
<html>
<head>
<title>$${title:Insira o titulo da pagina aqui}</title>
</head>
<body>

</body>
</html>

Onde “$${title:Insira o titulo da pagina aqui}“: significa que ao inserir esse snippet será solicitado uma caixa de diálogo (mais adiante você verá sua utilização).

7 – Pronto, nosso snippet já está criado:

Snippet criado

Nosso snippet para template de código html criado

Vamos testá-lo agora:

Crie um arquivo cfm (File New > CFML Page), com este arquivo aberto dê 2 cliques no nosso snippet recém-criado (caso a aba do Snip Tree View não esteja visível veja o passo nº 2 acima para reexibí-la).

Será mostrado uma caixa de diálogo conforme a figura abaixo:

Inserir Snippet

Lembra do “$${title:Insira o titulo da pagina aqui}“, pois é, ele é utilizado justamente exibir essa caixa da figura.

Legal, nosso template está funcionado :-)

Snippet inserido no nosso código

Snippet inserido no nosso código

Lembra do Trigger text?

Digite “html” no arquivo cfm e pressione “Ctrl+J“… tchran:

Trigger Snippet

Trigger Snippet

E do snippet starting/closing?

Insira um novo snippet conforme a figura abaixo:

New snippet div

New snippet div

Para usá-lo, insira no seu código o conteúdo que terá dentro da div e selecione-o, logo após dê 2 cliques no snippet para adicioná-lo ao nosso código, ex.:

Insert Snippet

Insert Snippet

Experimente usar esse snippet abaixo e veja como fica a janela de diálogo:

<!———
* Function: set$${Variable Name:}
* @return $${Return Type:any|array|binary|boolean|date|guid|numeric|query|string|struct|uuid|xml|void}
———>
<cffunction name=”set$${Variable Name:}” access=”public” returntype=”void” output=”false” displayname=”set$${Variable Name:}” hint=”Seta o valor da variavel $${Variable Name:}”>

</cffunction>

<!———
* Function: get$${Variable Name:}
* @return $${Return Type:any|array|binary|boolean|date|guid|numeric|query|string|struct|uuid|xml|void}
———>
<cffunction name=”get$${Variable Name:}” access=”public” returntype=”$${Return Type:any|array|binary|boolean|date|guid|numeric|query|string|struct|uuid|xml|void}” output=”false” displayname=”get$${Variable Name:}” hint=”Pega o valor da variavel $${Variable Name:}.”>

</cffunction>

Já deu para ter uma noção de como criar e utilizar os snippets, agora é só usar e abusar dele.

Fica aí a dica.

Um abraço.