<html>
<head>
    <meta name="author" content="Geertjan Wielenga" />
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <meta name="description" content="All NetBeans IDE Macro commands" />
    <meta name="keywords" content="NetBeans, macro, editor" />
    <link rel="stylesheet" type="text/css" href="../../../netbeans.css" />
    <title>Lista Completa de Palavras-Chave de Macro para o Editor NetBeans Java</title>
</head>
<body>
<h1>Lista Completa de Palavras-Chave de Macro para o Editor NetBeans Java</h1>

<p>
No editor Java do NetBeans IDE, é possível criar macros clicando no botão “Iniciar Gravação de Macro”, realizando ações que precisem ser registradas e, sem seguida, clicando no botão "Interromper Gravação da Macro". Em seguida, o Editor de Macros se abre e lá é possível ajustar a macro e também designar a ela um atalho de teclado. Também é possível editar macros na janela Opções, na guia Editor > Macros.
</p><p>
É usada uma sintaxe especial de macro para definir essas macros. Por exemplo: se você quer limpar a linha atual no editor a partir do cursor, a definição de macro deve ser como a seguir:</p>

<pre>selection-end-line remove-selection</pre>

<p>Depois disso, é possível designar um “Ctrl+L” como atalho de teclado para essa macro. Sempre que essa combinação de teclas for acionada, toda a linha a partir da posição do cursor será deletada.</p>

Para obter uma lista com todos os comandos, crie uma ação na API do NetBeans, que obterá o EditorKit do JEditorPane em um editor aberto, chame EK.getActions() e faça dump da propriedade Action.NAME de cada ação para System.out (em conjunto com Action.SHORT_DESCRIPTION). Aqui há uma lista completa da lista de palavras-chave de Macro:</p>

<p><br /></p>

<div align="center" />
<table>
<tr><td><tt>abbrev-debug-line</tt></td><td>Nome do Arquivo e Número da Linha do Depurador</td></tr>
<tr><td><tt>adjust-caret-bottom</tt></td><td>Mover Ponto de Inserção para Baixo</td></tr>
<tr><td><tt>adjust-caret-center</tt></td><td>Mover Ponto de Inserção para o Centro</td></tr>
<tr><td><tt>adjust-caret-top</tt></td><td>Mover Ponto de Inserção para Cima</td></tr>
<tr><td><tt>adjust-window-bottom</tt></td><td>Rolar Ponto de Inserção para Baixo</td></tr>
<tr><td><tt>adjust-window-center</tt></td><td>Rolar Ponto de Inserção ao Centro</td></tr>
<tr><td><tt>adjust-window-top</tt></td><td>Rolar Ponto de Inserção para Cima</td></tr>
<tr><td><tt>all-completion-show</tt></td><td>Exibir Todos os Pop-ups para Autocompletar Código</td></tr>
<tr><td><tt>annotations-cycling</tt></td><td>Ciclo das Anotações</td></tr>
<tr><td><tt>aviso sonoro</tt></td><td>Aviso Sonoro</td></tr>
<tr><td><tt>build-popup-menu</tt></td><td>Construir Menu Pop-up</td></tr>
<tr><td><tt>build-tool-tip</tt></td><td>Construir Dica de Ferramenta</td></tr>
<tr><td><tt>caret-backward</tt></td><td>Ponto de Inserção para Trás</td></tr>
<tr><td><tt>caret-begin</tt></td><td>Ponto de Inserção para Início do Documento</td></tr>
<tr><td><tt>caret-begin-line</tt></td><td>Ponto de Inserção para Início do Texto na Linha</td></tr>
<tr><td><tt>caret-begin-word</tt></td><td>Ponto de Inserção para Início da Palavra</td></tr>
<tr><td><tt>caret-down</tt></td><td>Ponto de Inserção para Baixo</td></tr>
<tr><td><tt>caret-end</tt></td><td>Ponto de Inserção para Fim do Documento</td></tr>
<tr><td><tt>caret-end-line</tt></td><td>Ponto de Inserção para Fim da Linha</td></tr>
<tr><td><tt>caret-end-word</tt></td><td>Ponto de Inserção para Fim da Palavra</td></tr>
<tr><td><tt>caret-forward</tt></td><td>Ponto de Inserção para Frente</td></tr>
<tr><td><tt>caret-line-first-column</tt></td><td>Ponto de Inserção para Início da Linha</td></tr>
<tr><td><tt>caret-next-word</tt></td><td>caret-next-word</td></tr>
<tr><td><tt>caret-previous-word</tt></td><td>caret-previous-word</td></tr>
<tr><td><tt>caret-up</tt></td><td>Ponto de Inserção para Cima</td></tr>
<tr><td><tt>collapse-all-code-block-folds</tt></td><td>Contrair Todos os Códigos Java</td></tr>
<tr><td><tt>collapse-all-folds</tt></td><td>Contrair Todos</td></tr>
<tr><td><tt>collapse-all-javadoc-folds</tt></td><td>Contrair Todos os Javadoc</td></tr>
<tr><td><tt>collapse-fold</tt></td><td>Contrair Dobra</td></tr>
<tr><td><tt>comment</tt></td><td>Comentário</td></tr>
<tr><td><tt>complete-line</tt></td><td>Completar Linha</td></tr>
<tr><td><tt>complete-line-newline</tt></td><td>Completar Linha e Criar Nova Linha</td></tr>
<tr><td><tt>completion-show</tt></td><td>Exibir Pop-up para Autocompletar Código</td></tr>
<tr><td><tt>copy-selection-else-line-down</tt></td><td>Copiar Seleção para Outra Linha Abaixo</td></tr>
<tr><td><tt>copy-selection-else-line-up</tt></td><td>Copiar Seleção para Outra Linha Acima</td></tr>
<tr><td><tt>copy-to-clipboard</tt></td><td>Copiar</td></tr>
<tr><td><tt>cut-to-clipboard</tt></td><td>Recortar</td></tr>
<tr><td><tt>cut-to-line-begin</tt></td><td>Recortar do Ponto de Inserção para o Início da Linha</td></tr>
<tr><td><tt>cut-to-line-end</tt></td><td>Recortar do Ponto de Inserção para o Fim da Linha</td></tr>
<tr><td><tt>default-typed</tt></td><td>Default Digitado</td></tr>
<tr><td><tt>delete-next</tt></td><td>Deletar Próximo Caractere</td></tr>
<tr><td><tt>delete-previous</tt></td><td>Deletar Caractere Anterior</td></tr>
<tr><td><tt>documentation-show</tt></td><td>Mostrar Pop-up da Documentação</td></tr>
<tr><td><tt>dump-view-hierarchy</tt></td><td>Fazer Dump da Hierarquia da View</td></tr>
<tr><td><tt>expand-all-code-block-folds</tt></td><td>Expandir Todos os Códigos Java</td></tr>
<tr><td><tt>expand-all-folds</tt></td><td>Expandir Todos</td></tr>
<tr><td><tt>expand-all-javadoc-folds</tt></td><td>Expandir Todos os Javadoc</td></tr>
<tr><td><tt>expand-fold</tt></td><td>Expandir Dobra</td></tr>
<tr><td><tt>fast-import</tt></td><td>Importação Rápida</td></tr>
<tr><td><tt>find-next</tt></td><td>Localizar Próxima Ocorrência</td></tr>
<tr><td><tt>find-previous</tt></td><td>Localizar Ocorrência Anterior</td></tr>
<tr><td><tt>find-selection</tt></td><td>Localizar Seleção</td></tr>
<tr><td><tt>first-non-white</tt></td><td>Ir para Primeiro Caractere Desconsiderando Espaço em Branco</td></tr>
<tr><td><tt>fix-imports</tt></td><td>Importações Fixas</td></tr>
<tr><td><tt>format</tt></td><td>Formatar</td></tr>
<tr><td><tt>generate-code</tt></td><td>Inserir Código</td></tr>
<tr><td><tt>generate-fold-popup</tt></td><td>Gerar Pop-up de Dobra</td></tr>
<tr><td><tt>generate-goto-popup</tt></td><td>Gerar Pop-up de 'Ir Para'</td></tr>
<tr><td><tt>generate-gutter-popup</tt></td><td>Margem</td></tr>
<tr><td><tt>goto</tt></td><td>Ir para Linha...</td></tr>
<tr><td><tt>goto-declaration</tt></td><td>Ir para a Declaração</td></tr>
<tr><td><tt>goto-help</tt></td><td>Ir para Javadoc</td></tr>
<tr><td><tt>goto-implementation</tt></td><td>Ir para a Implementação</td></tr>
<tr><td><tt>goto-source</tt></td><td>Ir para o Código-fonte</td></tr>
<tr><td><tt>goto-super-implementation</tt></td><td>Ir para a Superimplementação</td></tr>
<tr><td><tt>in-place-refactoring</tt></td><td>Renomeação Instantânea</td></tr>
<tr><td><tt>incremental-search-backward</tt></td><td>Pesquisa Incremental para Trás</td></tr>
<tr><td><tt>incremental-search-forward</tt></td><td>Encaminhamento de Pesquisa Incremental</td></tr>
<tr><td><tt>insert-break</tt></td><td>Inserir Nova Linha</td></tr>
<tr><td><tt>insert-date-time</tt></td><td>Inserir Data e Hora Atual</td></tr>
<tr><td><tt>insert-tab</tt></td><td>Inserir Tabulação</td></tr>
<tr><td><tt>introduce-constant</tt></td><td>Introduzir Constante...</td></tr>
<tr><td><tt>introduce-field</tt></td><td>Introduzir Campo...</td></tr>
<tr><td><tt>introduce-method</tt></td><td>Introduzir Método...</td></tr>
<tr><td><tt>introduce-variable</tt></td><td>Introduzir Variável...</td></tr>
<tr><td><tt>java-next-marked-occurrence</tt></td><td>Navegar para a Próxima Ocorrência</td></tr>
<tr><td><tt>java-prev-marked-occurrence</tt></td><td>Navegar para a Ocorrência Anterior</td></tr>
<tr><td><tt>jump-list-last-edit</tt></td><td>Última edição</td></tr>
<tr><td><tt>jump-list-next</tt></td><td>Avançar</td></tr>
<tr><td><tt>jump-list-prev</tt></td><td>Voltar</td></tr>
<tr><td><tt>last-non-white</tt></td><td>Ir para Último Caractere Desconsiderando Espaço em Branco</td></tr>
<tr><td><tt>make-getter</tt></td><td>Substituir Variável com seu Getter</td></tr>
<tr><td><tt>make-is</tt></td><td>Substituir variável com seu Método is*</td></tr>
<tr><td><tt>make-setter</tt></td><td>Substituir Variável com seu Setter</td></tr>
<tr><td><tt>match-brace</tt></td><td>Ponto de Inserção para Chaves Correspondente</td></tr>
<tr><td><tt>move-selection-else-line-down</tt></td><td>Mover Seleção para Outra Linha Abaixo</td></tr>
<tr><td><tt>move-selection-else-line-up</tt></td><td>Mover Seleção para Outra Linha Acima</td></tr>
<tr><td><tt>org.openide.actions.PopupAction</tt></td><td>Exibir Menu Pop-up</td></tr>
<tr><td><tt>page-down</tt></td><td>Página para Baixo</td></tr>
<tr><td><tt>page-up</tt></td><td>Página para Cima</td></tr>
<tr><td><tt>paste-formated</tt></td><td>Colar Formatado</td></tr>
<tr><td><tt>paste-from-clipboard</tt></td><td>Colar</td></tr>
<tr><td><tt>redo</tt></td><td>Refazer</td></tr>
<tr><td><tt>reindent-line</tt></td><td>Recuar Linha ou Seleção Atual Novamente</td></tr>
<tr><td><tt>remove-line</tt></td><td>Deletar Linha</td></tr>
<tr><td><tt>remove-line-begin</tt></td><td>Deletar Caracteres Precedentes na Linha</td></tr>
<tr><td><tt>remove-selection</tt></td><td>Deletar Seleção</td></tr>
<tr><td><tt>remove-tab</tt></td><td>Deletar Tabulação</td></tr>
<tr><td><tt>remove-trailing-spaces</tt></td><td>Remover Espaços em Brancos Posteriores</td></tr>
<tr><td><tt>remove-word-next</tt></td><td>remove-word-next</td></tr>
<tr><td><tt>remove-word-previous</tt></td><td>remove-word-previous</td></tr>
<tr><td><tt>replace</tt></td><td>Substituir</td></tr>
<tr><td><tt>run-macro</tt></td><td>Executar Macro</td></tr>
<tr><td><tt>scroll-down</tt></td><td>Rolar para Baixo</td></tr>
<tr><td><tt>scroll-up</tt></td><td>Rolar para Cima</td></tr>
<tr><td><tt>select-all</tt></td><td>Selecionar Todos</td></tr>
<tr><td><tt>select-element-next</tt></td><td>Selecionar o Elemento Seguinte</td></tr>
<tr><td><tt>select-element-previous</tt></td><td>Selecionar o Elemento Anterior</td></tr>
<tr><td><tt>select-identifier</tt></td><td>Selecionar Identificador</td></tr>
<tr><td><tt>select-line</tt></td><td>Selecionar Linha</td></tr>
<tr><td><tt>select-next-parameter</tt></td><td>Selecionar Próximo Parâmetro</td></tr>
<tr><td><tt>select-word</tt></td><td>Selecionar Palavra</td></tr>
<tr><td><tt>selection-backward</tt></td><td>Estender Seleção para Trás</td></tr>
<tr><td><tt>selection-begin</tt></td><td>Estender Seleção para Início do Documento</td></tr>
<tr><td><tt>selection-begin-line</tt></td><td>Estender Seleção para Início do Texto na Linha</td></tr>
<tr><td><tt>selection-begin-word</tt></td><td>Estender Seleção para Início da Palavra</td></tr>
<tr><td><tt>selection-down</tt></td><td>Estender Seleção para Baixo</td></tr>
<tr><td><tt>selection-end</tt></td><td>Estender Seleção para Final do Documento</td></tr>
<tr><td><tt>selection-end-line</tt></td><td>Estender Seleção para Final da Linha</td></tr>
<tr><td><tt>selection-end-word</tt></td><td>Estender Seleção para Final da Palavra</td></tr>
<tr><td><tt>selection-first-non-white</tt></td><td>Estender Seleção para Primeiro Caractere Desconsiderando Espaço em Branco</td></tr>
<tr><td><tt>selection-forward</tt></td><td>Estender Seleção para Frente</td></tr>
<tr><td><tt>selection-last-non-white</tt></td><td>Estender Seleção para Último Caractere Desconsiderando Espaço em Branco</td></tr>
<tr><td><tt>selection-line-first-column</tt></td><td>Estender Seleção para Início da Linha</td></tr>
<tr><td><tt>selection-match-brace</tt></td><td>Estender Seleção para Chaves Correspondente</td></tr>
<tr><td><tt>selection-next-word</tt></td><td>selection-next-word</td></tr>
<tr><td><tt>selection-page-down</tt></td><td>Estender Seleção para Próxima Página</td></tr>
<tr><td><tt>selection-page-up</tt></td><td>Estender Seleção para Página Anterior</td></tr>
<tr><td><tt>selection-previous-word</tt></td><td>selection-previous-word</td></tr>
<tr><td><tt>selection-up</tt></td><td>Estender Seleção para Cima</td></tr>
<tr><td><tt>shift-line-left</tt></td><td>Deslocar Linha à Esquerda</td></tr>
<tr><td><tt>shift-line-right</tt></td><td>Deslocar Linha à Direita</td></tr>
<tr><td><tt>split-line</tt></td><td>Dividir Linha</td></tr>
<tr><td><tt>start-macro-recording</tt></td><td>Iniciar Gravação da Macro</td></tr>
<tr><td><tt>start-new-line</tt></td><td>Iniciar Nova Linha</td></tr>
<tr><td><tt>stop-macro-recording</tt></td><td>Interromper Gravação da Macro</td></tr>
<tr><td><tt>switch-case</tt></td><td>Alternar Maiúscula/Minúscula</td></tr>
<tr><td><tt>to-lower-case</tt></td><td>Para Minúsculas</td></tr>
<tr><td><tt>to-upper-case</tt></td><td>Para Maiúsculas</td></tr>
<tr><td><tt>toggle-case-identifier-begin</tt></td><td>Alternar Iniciais do Identificador</td></tr>
<tr><td><tt>toggle-comment</tt></td><td>Alternar Comentário</td></tr>
<tr><td><tt>toggle-highlight-search</tt></td><td>Alternar Realce da Pesquisa</td></tr>
<tr><td><tt>toggle-line-numbers</tt></td><td>Alternar Números das Linhas</td></tr>
<tr><td><tt>toggle-non-printable-characters</tt></td><td>Alternar Caracteres Não Imprimíveis</td></tr>
<tr><td><tt>toggle-toolbar</tt></td><td>Alternar Barra de Ferramentas</td></tr>
<tr><td><tt>toggle-typing-mode</tt></td><td>Alternar Modo de Digitação</td></tr>
<tr><td><tt>tooltip-show</tt></td><td>Exibir Pop-up de Dica para Autocompletar Código</td></tr>
<tr><td><tt>uncomment</tt></td><td>Não Comentar</td></tr>
<tr><td><tt>undo</tt></td><td>Desfazer</td></tr>
<tr><td><tt>word-match-next</tt></td><td>Próxima Palavra Correspondente</td></tr>
<tr><td><tt>word-match-prev</tt></td><td>Palavra Anterior Correspondente</td></tr>
</table>
</div>


<!--
<pre>
public final class PrintMacrosAction implements ActionListener {

  private final EditorCookie context;

  public PrintMacrosAction(EditorCookie context) {
      this.context = context;
  }

  public void actionPerformed(ActionEvent ev) {
      JTextComponent editor = EditorRegistry.lastFocusedComponent();
      EditorKit kit = ((JEditorPane) editor).getEditorKit();
      Action[] actions = kit.getActions();
      List&gt;String> list = new ArrayList();
      InputOutput io = IOProvider.getDefault().getIO("Macros", false);
      OutputWriter ow = null;
      for (Action action : actions) {
          list.add(action.getValue(Action.NAME).toString() +
          " -- " + action.getValue(Action.SHORT_DESCRIPTION).toString());
      }
      Collections.sort(list);
      ow = io.getOut();
      for (String string : list) {
          ow.println(string);
       }
   }
}
</pre>
-->
</body>
</html>
