Smart completion for interface implementation should respect parameter naming convention

When IntelliJ smart completion implements an inteface with a single method (Java 7), it uses the generic derived parameter name from the interface signature. I expect it to suggest a parameter name based on the generic type already available, formatted according to my specified code style for parameters, and have it editable in place.


public interface Func1<T, R> extends Function {
    R call(T t);

When I type to begin implementing it for type signature Func1<ValueHolder, Boolean>


It completets to:

_o.filter(new Func1<ValueHolder, Boolean>() {
    public Boolean call(ValueHolder t) {
        return null;

Instead of "t", I expect it to be "inValueHolder", infered from the generic type, and formatted accoriding to my rule for parameter names (prefix with "in").

I find the current behavior disruptive, exactly when I expect to use smart completion to move fast with verbose code, because I have to stop, navigate and rename the parameter before proceeding, to comply with Checkstyle rules.

Original message URL:

Please sign in to leave a comment.