6

Я хочу создать живой шаблон для Timber logger аналогично шаблону по умолчанию live logm. Он использует скрипт Groovy для сбора параметров метода и разделения их запятыми. Например:Как получить типы параметров метода в живых шаблонах в Intellij IDEA?

public int func(int a, float b, Object c, String d) { 
    logm 
} 

генерирует следующий код:

public int func(int a, float b, Object c, String d) { 
    Log.d(TAG, "func() called with: a = [" + a + "], b = [" + b + "], c = [" + c + "], d = [" + d + "]"); 
} 

Параметров собирают с помощью следующего кода:

def params = _2.collect {it + ' = [" + ' + it + ' + "]'}.join(', '); 
return '"' + _1 + '() called' + (params.empty ? '' : ' with: ' + params) + '"' 

//Where _1 and _2 - default IDEA methods, in this case 
//_1 - methodName(), which eturns the name of the embracing method (where the template is expanded). 
//_2 - methodParameters(), which returns the list of parameters of the embracing method (where the template is expanded). 

Проблема заключается в методах Timber требует типа формат для параметров, пример:

int a = 5; 
String s = new String("test"); 
boolean b = false; 

Timber.d("%d, %s, %b", a, s, b); 

Таким образом, мне нужно определить типы параметров метода.

ответ

3

Попробуйте создать живой шаблон с курсором в% типов и заполните их после использования этого шаблона