Snippets
Um snippet é um trecho nomeado de passos ou de script que não está ligado a nenhum gatilho. Ações, scripts antes e depois, eventos globais e outros snippets o executam pelo nome. Escreva algo uma vez como snippet, e todas as ações que o chamam usam a mesma cópia: altere o snippet, e todas mudam.
A lista de snippets
A lista mostra todos os snippets da biblioteca, sob um título por categoria: as categorias de A a Z, depois Sem categoria, e de A a Z pelo nome dentro de cada uma. Um snippet que algo chama mostra Usado por e o número de chamadores.
- + Novo adiciona um snippet chamado Novo snippet na categoria do snippet selecionado, escrito como Passos.
- O botão de duplicar ao lado de + Novo copia o snippet selecionado com um nome novo e único.
- O botão de excluir de uma linha exclui um snippet (Excluir um snippet).
Nome e categoria
- Nome ① é como os chamadores encontram o snippet. Ele precisa ser único em toda a biblioteca, qualquer que seja a categoria, e dois nomes que só diferem em maiúsculas e minúsculas contam como o mesmo. Ele não pode conter aspas duplas, uma barra invertida nem um caractere de controle. Um nome que quebra uma regra aparece em vermelho com o motivo, e volta ao nome antigo quando você sai da caixa.
- Renomear um snippet reescreve todas as chamadas que o nomeiam entre aspas, em toda a sua configuração (Quem chama um snippet).
- Categoria ② só agrupa a lista. Ela não muda como o snippet é executado.
O que o snippet faz
Escrita como escolhe Passos ou Script, como para uma ação (Passos, Script e AutoHotkey). Mudar de Passos para Script oferece traduzir os passos, como na página Ações.
- No Passos, o editor é o mesmo de uma ação (O editor de Passos).
- No Script, Verificar sintaxe verifica o script com o próprio compilador do mecanismo. Ele relata Análise OK com a contagem de linhas, ou o primeiro erro, e sublinha o problema no editor.
- O AutoHotkey só é oferecido para um snippet que já é executado como AutoHotkey.
- Não há nenhum botão para executar um snippet aqui. Para testar passos com segurança, use a Área de testes.
Modo Avançado. Acima do editor, a chamada que executa este snippet ③ aparece na forma de Script, com um botão que a copia.
Chamar um snippet
Um snippet é executado quando um passo ou um script chama a função interna SnippetExecuteScript com
o nome dele:
- No Passos, adicione um passo Executar um snippet (
SnippetExecuteScript) pela lista de todas as funções internas (Adicionar passos) e digite o nome do snippet como o Nome dele. - No Script, escreva a chamada:
SnippetExecuteScript("Center window");
Como ele é executado:
- O chamador aguarda até o snippet terminar e depois continua.
- O snippet vê o que iniciou o chamador (a janela de destino, o gesto e assim por diante), então Janela de destino dentro de um snippet é a janela de destino do chamador.
- O snippet tem as próprias variáveis. Ele não consegue ler as do chamador, e o chamador não consegue ler as dele.
- O nome precisa corresponder exatamente, inclusive maiúsculas e minúsculas. Se nenhum snippet tiver o
nome, nada é executado e a chamada devolve
false. - A chamada devolve
truesomente quando o snippet foi executado até o fim. Ela também devolvefalsequando o snippet está vazio, tem um erro ou é parado. - Um snippet pode chamar outros snippets. Nada impede um snippet de chamar a si mesmo, então garanta que essa cadeia termine.
Quem chama um snippet
O cartão Chamado por ④ lista cada ação, script antes ou depois, evento global (mesmo um desativado) e snippet que chama este snippet. Um evento global é marcado com Evento global, e um snippet com Snippet.
Somente as chamadas que escrevem o nome do snippet por extenso entre aspas são encontradas. Uma chamada que monta o nome durante a execução não é listada, e uma chamada dentro de um comentário é. Os conteúdos de AutoHotkey não são pesquisados.
Excluir um snippet
Você não pode excluir um snippet enquanto algo listado em Chamado por ainda o chamar. O botão de excluir mostra então Não é possível excluir com a lista de chamadores; altere ou remova essas chamadas primeiro. Um snippet que nada chama é excluído depois de uma confirmação.
Uma chamada que a lista não consegue ver (um nome montado durante a execução do script) não fica
protegida: se você excluir esse snippet, a chamada não encontra nada e devolve false.
Snippets de outros lugares
- Criar snippet na página Gravador transforma uma gravação em um snippet.
- Salvar como snippet na página Área de testes salva os passos ou o script que você testou lá.
Os dois abrem o snippet novo nesta página com o cursor no Nome dele, pronto para ser renomeado. A
um nome já usado são acrescentados -1, -2 e assim por diante.