diff --git a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateState.java b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateState.java index 2eb9ba6712aa..2e9f250f12be 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateState.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateState.java @@ -122,8 +122,13 @@ public class TemplateState implements Disposable { myLookupListener = new LookupAdapter() { @Override public void itemSelected(LookupEvent event) { - if (isCaretOutsideCurrentSegment() && !isCaretInsideNextVariable()) { - gotoEnd(true); + if (isCaretOutsideCurrentSegment()) { + if (isCaretInsideNextVariable()) { + nextTab(); + } + else { + gotoEnd(true); + } } } };