IDE Snippets
A IDE do Gambas fornece um conjunto modificável de atalhos de códigos, que facilita consideravelmente o esforço para digitar na IDE. Entre com o código do atalho no início de uma linha e pressionando a tecla
TAB
o atalho irá expandir automaticamente em um pedaço de código definido.
Os atalhos padrão fornecidos com o IDE pode ser visto na guia
Code formatting (Formatação do código) do formulário
Preferências. Na parte inferior da guia
Code Snippets na lista deslizável de
strings gatilho no
macro expansão associado.
Usando IDE Snippets
Ativar / Desativar
Para utilizar IDE Snippets na edição de código, a caixa de seleção
Activate Code Snippets (Ativar trechos de código) deve ser habilitado nas Preferências. Para que o IDE Snippets expanda e inclua os recursos do código embutido no Gambas.
Se
Activate Code Snippets não for habilitado, quando a tecla
TAB
for pressionada após entrar com uma string gatilho, a ação simplesmente insere um caractere TAB na linha de código atual.
Alguns exemplos comumente usados
p TAB
irá inserir uma declaração de propriedade. O cursor será posicionado no ponto onde o
nome da propriedade pode ser inserido. O texto selecionado pode simplesmente ser subscrito. Pressionando a tecla
TAB
novamente irá posicionar o cursor no ponto de entrada do tipo de dados da propriedade. Finalmente pressionando a tecla
Enter
vai finalizar a expansão snippet e retornar o uso do editor da IDE ao seu estado "normal".
f TAB
irá inserir um bloco de declaração de função. Mais uma vez o cursor será posicionado para a entrada do nome da função. No entanto, neste caso, pressionando a tecla
TAB
mais vezes irá percorrer os pontos de entrada para o nome da função, os Argumentos, o tipo de retorno e, finalmente, para o ponto de entrada da primeira linha de código da função. Nota-se que, neste caso, o editor IDE parece ter voltado para "operação normal". Na verdade, o analisador snippet ainda está em operação e permanece assim até que você mova o cursor para fora do bloco da função. Assim, por exemplo, se você esqueceu de declarar o tipo de retorno, posicionando o cursor em qualquer lugar na linha da declaração da função e pressionando a tecla
Tab
vai destacar indicando que é possível realizar as correções.
Alguns outros gatilho que você vai querer investigar são:
-
Main
TAB
: gera o sub Principal.
-
Fe
TAB
: gera um bloco For Each ... Next
-
D
TAB
e di TAB
e outros derivados: gera linha Dim
-
Gpl
Tab
: gera a declaração GPL versão curta (O meu favorito!)
Finalmente, se a expansão inicial não é o que você queria, basta pressionar
Ctrl
+
z
para voltar a sua digitação original.
Macros Expansão
Você pode definir seus próprios IDE Snippets!
Mais uma vez, no formulário
Preferências Code formatting no guia ao lado da lista de snippets estão os botões para criar, alterar ou excluir snippets personalizados (que também irá permitir que você veja os padrões no modo de somente leitura (útil se você deseja copiar a macro existente). Para criar um novo snippets é só clicar no botão "Novo ...". É apresentado a você um formulário contendo dois controles, uma caixa de texto para inserir a string de gatilho e um editor para entrar com o macro expansão.
Se você tentar usar uma string gatilho que já está definida, Quando você tentar salvar o snippet o IDE irá mostrar um balão "Essa frase gatilho já está em uso." ("This trigger string is already in use.").
Syntax
A sintaxe para IDE Snippets é muito simples, mas você pode levar algum tempo para se acostumar.
Há duas partes, como indicado acima, a
string gatilho e a
expansão macro.
Strings gatilho
A Strings gatilho pode ser qualquer cadeia de caracteres sem espaços interiores.
No entanto, é
provavelmente mais seguro usar strings caixa baixa alfa ou alfa+numéricas. Não é muito difícil eh!
Expansão Macros
Macros de expansão tem três aspectos.
Código Literal
É qualquer sequência de caracteres e caracteres de escape não incluídos abaixo. Assim como texto
Será inserido
como é incluindo os principais espaços, novas linhas e guias (que você vai ver como sequências de escape na lista de Preferências).
Na verdade, a inserção de sequências de escape no macro deve ser evitado, a menos que eles sejam parte de uma string literal, uma vez que escap é duplicado no código interno do macro.
(Sim, até mesmo um erro de digitação será inserido na íntegra.)
Pontos de inserção
Indica onde o cursor será posicionado após a expansão. Eles são indicados por um sub-string
$ {n: lit_token}
no código onde
n
é a posição do cursor ordinal do token e
lit_token
é o texto que será exibido em destaque para esse token. Assim:
? {$1:Variable}
Resultará em:
? Variable
(que irá expandir automaticamente para " Print ..." quando você sair dessa linha.)
Metadados do Projeto
A expansão macro também permite que você insira
alguns pedaços de metadados do projeto em sua macro. Os metadados atualmente disponível é:
-
O título do projeto. (use ${n:$TITLE} token)
-
A descrição do projeto. (use ${n:$DESCRIPTION) token), e
-
O autor do projeto. (use ${n:$AUTHOR} token)