Question

I would like to be able to create a live template in Jetbrain's Idea that will log the method's arguments. Let's call it "larg". It would work like:

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

to create

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

I'm fine with getting the method name in, but have not figured out how to pull in the method arguments. Any ideas?

Was it helpful?

Solution

I'm 4 years late, but the predefined template soutp pretty much does this using a groovyscript variable.

Here's the groovy script that does what you're looking for

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

OTHER TIPS

This is now 6 years late, but I found a well described solution to this. (I don't have any soutp templates in my templates) http://artfulonline.blogspot.com.au/2014/03/quick-logging-with-intellij-live.html

Looks like it is not currently possible with a live template.

From the 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.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top