autopopup after dot

This commit is contained in:
peter
2011-01-28 16:46:56 +01:00
parent 7c184692bd
commit 4818ae2b0d
3 changed files with 29 additions and 0 deletions

View File

@@ -985,6 +985,10 @@ public class JavaCompletionUtil {
}
}
toInsert.processTail(editor, context.getTailOffset());
if (context.getCompletionChar() == '.') {
AutoPopupController.getInstance(file.getProject()).autoPopupMemberLookup(context.getEditor(), null);
}
}
}

View File

@@ -1,5 +1,6 @@
package com.intellij.codeInsight.lookup;
import com.intellij.codeInsight.AutoPopupController;
import com.intellij.codeInsight.TailType;
import com.intellij.codeInsight.completion.InsertionContext;
import com.intellij.psi.PsiSubstitutor;
@@ -41,5 +42,9 @@ public class VariableLookupItem extends LookupItem<PsiVariable> implements Typed
context.setAddCompletionChar(false);
TailType.COMMA.processTail(context.getEditor(), context.getTailOffset());
}
else if (context.getCompletionChar() == '.') {
AutoPopupController.getInstance(context.getProject()).autoPopupMemberLookup(context.getEditor(), null);
}
}
}

View File

@@ -344,6 +344,26 @@ class JavaAutoPopupTest extends CompletionAutoPopupTestCase {
assert 'Thread' in myFixture.lookupElementStrings
}
public void testDotAfterVariable() {
myFixture.configureByText("a.java", """
class A {
{ Object ooo; <caret> }
}
""")
type 'o.'
assert myFixture.file.text.contains("ooo.")
assert lookup
}
public void testDotAfterCall() {
myFixture.configureByText("a.java", """
class A {
{ <caret> }
}
""")
type 'tos.'
assert myFixture.file.text.contains("toString().")
assert lookup
}
}