Autor | Sharehub
Link | blog.xiaohansong.com/idea-live-templates.html
Prefácio
O processo de desenvolvimento Java geralmente precisa escrever código com um formato fixo, como declarar uma variável privada, logger ou bean e assim por diante. Para esta geração de código em pequena escala, podemos usar a função Live Templates fornecida pelo IDEA. No início, pensei que fosse apenas um snippet de código simples, mas depois descobri que ele suporta configuração de função variável e pode suportar geração de código muito complexo.
Deixe-me apresentar o uso de Live Templates.
Uso básico
IDEA vem com muitos modelos dinâmicos comumente usados, digite fori no código Java e o retorno de carro aparecerá
for (int i = 0; i < ; i++) {
}
Pressione Tab para pular para cada espaço em branco e preencher o valor manualmente.
Modelo personalizado
Afinal, os modelos integrados oficiais não atendem às necessidades de nosso estilo de codificação pessoal. Os modelos Live fornecem funções variáveis para personalizarmos.
Uso simples
Para adicionar um modelo personalizado, primeiro você precisa preencher a palavra de gatilho (ou seja, abreviação), a descrição é opcional e, em seguida, definir o contexto do modelo, clique em definir para selecionar Java, de modo que o modelo atual seja acionado durante a edição Java. Depois que o contexto é definido, você pode preencher o modelo.
Aqui estão alguns modelos simples que costumo usar
==========
<out>
----------
System.out.println($END$)
==========
<pfs>
----------
private final static String $varName$ = "$var$";`
==========
<privateField>
----------
/**
* $COMMENT$
*/
@Getter
@Setter
private $TYPE$ $NAME$;
==========
<main>
----------
public static void main(String[] args) {
$END$
}
==========
O modelo suporta a definição de variáveis, usando $$
caracteres fechados para representar uma variável. $END$
É uma variável predefinida especial que indica a posição em que o cursor salta por último. A posição de cada variável pode ser pulada.
Uso avançado
Se você usou o plugin Code Sinppet do vim, você descobrirá que as funções podem ser executadas no template. Claro, os poderosos Live Templates também o suportam, e o IDEA pode perceber a semântica do código, como os parâmetros do função atualmente editada. Mas isso nos permitirá jogar. Vamos estudar a função das funções de modelo de fácil a difícil.
As variáveis que mencionamos anteriormente podem ser associadas a funções e o método de configuração é mostrado na figura acima.
Declare variáveis rapidamente
Declarar variáveis é uma operação comum, especialmente quando você precisa declarar variáveis que precisam ser anotadas. Quando você comenta, esses códigos são muito chatos de escrever. Aqui está o modelo que defini:
<osgiRef>
----------
/**
* $END$
*/
@OsgiReference
@Setter
private $TYPE$ $NAME$;
À primeira vista, esse modelo parece semelhante ao privateField que defini acima.A única diferença é que eu vinculo funções a essas variáveis.
clipboard (): Retorna a string da área de transferência atual
decapitalize (): altera a primeira letra da string de entrada para minúscula
Vamos demonstrar abaixo, primeiro copiamos o nome da classe atual e, em seguida, inserimos osgiRef
Declare o logger rapidamente
Declarar logger também é uma operação comum. Acima usamos a função paste para declarar variáveis rapidamente. Agora vamos usar outra função className (). Como o nome sugere, sua função é retornar o nome da classe atual.
<logger>
----------
/** logger */
private static final Logger LOGGER = LoggerFactory.getLogger($CLASS$.class);
O groovyScript mais poderoso ()
Se as funções usadas acima fornecem recursos limitados e não são flexíveis o suficiente, então groovyScript () fornece todos os recursos que você deseja.Ele suporta a execução de scripts Groovy para processar a entrada e, em seguida, produzir a string processada.
groovyScript("code", ...)
| code | 一段Groovy代码或者Groovy脚本代码绝对路径 |
| ... | 可选入参,这些参数会绑定到`_1, _2, _3, ..._n`, 在 Groovy 代码中使用。|
Vamos dar uma olhada em sua aplicação prática.
Configuração rápida do bean
Para adicionar um novo serviço, você deve registrar um bean no Spring. Geralmente, esta configuração nada mais é do que especificar o id e a classe. Como estamos configurando em xml, não podemos usar a função className (), mas podemos usar a área de transferência () para obtê-lo. Para obter a referência completa da classe, no IDEA, clicamos diretamente com o botão direito do mouse no nome da classe e clicamos em Copiar Referência. Em seguida, execute o script bacana para obter o nome da classe.
<bean>
----------
<bean id="$id$" class="$REF$" />
associação de id decapitalize(groovyScript("_1.tokenize('.')[-1]", clipboard()))
, primeiro pegue clipboard()
o valor para obter a referência completa da classe e, em seguida, execute o código groovy _1.tokenize('.')[-1]
(pressione. para dividir em uma matriz de string, pegue o último para obter o nome da classe e, em seguida, use decapitalize()
minúsculas a primeira letra para obter o id.
Imprima rapidamente as informações do contexto atual
Ao imprimir o log de erros, é necessário imprimir as informações de contexto atuais, como parâmetros de entrada. Às vezes, quando há muitos parâmetros, é difícil escrever. Felizmente, há uma função de modelo methodParameters (), que retorna um lista de parâmetros de função atuais. Claro, não pode ser usado diretamente, ele precisa ser convertido com groovyScript.
<printContext>
---------------
LogUtil.$TYPE$(LOGGER, "$MSG$ " + $params$);
A vinculação de parâmetros a groovyScript("'\"' + _1.collect { it + ' = [\" + ' + it + ' + \"]'}.join(', ') + '\"'", methodParameters())
ele formatará e produzirá automaticamente os parâmetros da função atual.
Resumindo
Acima, apresentamos brevemente as funções de modelo comumente usadas. Na verdade, IDEA tem muitas outras funções de modelo. Para obter detalhes, consulte Criando e editando variáveis de modelo.
https://www.jetbrains.com/help/idea/2016.3/creating-and-editing-template-variables.html
O IDEA é uma ferramenta muito poderosa. O bom uso de ferramentas pode melhorar muito a eficiência do trabalho e dedicar energia a coisas importantes, em vez de perder tempo escrevendo código repetitivo. Alguns usos mais avançados ainda não foram descobertos. Finalmente, promovi uma onda de plug-ins de geração de código CodeMaker que escrevi, e fazer bom uso dele pode economizar muito tempo para a escrita de código repetitivo.
PS: Além disso, o editor criou um grupo de intercâmbio de aprendizagem, que é proibido de promover. O ambiente do grupo é muito bom. Se você tiver alguma dúvida, também pode fazer perguntas no grupo. Amigos em necessidade podem adicioná-lo ~
Além disso, o modo de grupo - a varredura do fundo ???? autor do código bidimensional, notas: plus grupo
Amigos que gostaram deste artigo, por favor, cliquem na imagem para acompanhar a conta de inscrição e assistir a mais conteúdos interessantes!
Leitura recomendada:
" Mais de 200 ferramentas de reparo de computador perguntam se você deseja? 》
"Um site de tecnologia negra há muito tempo com downloads de software grátis "
" Recomende alguns sites de aprendizagem gratuitos para cobrar de todos! 》
" Algumas ferramentas e sites que podem melhorar muito a eficiência do seu trabalho "
Clique para ver e vá!