2009-09-17 6 views
6

Je voudrais être en mesure de créer un modèle en direct dans l'idée de Jetbrain qui enregistrera les arguments de la méthode. Appelons-le "larg". Il fonctionnerait comme:Idée Live Template pour enregistrer la méthode Args

public void get(String one, String two) { 
    larg<tab> 

pour créer

public void get(String one, String two) { 
    log.info("get: one = " + one + " two = " + two); 

Je suis très bien avec obtenir le nom de la méthode, mais n'ont pas compris comment tirer dans les arguments de la méthode. Des idées?

Répondre

11

Je suis 4 ans de retard, mais le soutp de modèle prédéfini fait à peu près ce à l'aide d'une variable groovyscript.

est ici le script groovy qui fait ce que vous cherchez

groovyScript("'\"' + _1.collect { it + ' = [\" + ' + it + ' + \"]'}.join(', ') + '\"'", methodParameters()) 
+1

Il n'était pas clair pour moi que cela a fonctionné en Java. Si vous allez dans [Live Templates] -> [output] -> [soutp] alors vous verrez ce script en action et cela fonctionne définitivement. Merci! – BoredAndroidDeveloper

+0

Cela fonctionne aussi pour javascript? Essayé sans chance, peut-être j'ai manqué quelque chose –

+0

Simple, mais lié: pour accéder seulement premier, deuxième, troisième etc .. paramètre de _1, il suffit d'utiliser '_1 [0]', '_1 [1]', etc. – Voy

0

On dirait que ce n'est actuellement pas possible avec un modèle en direct.

De l'Jetbrain's forum:

There is no predefined live template function to do this for you automatically. 
You can write a plugin that would provide such a function.