From fbbf55aa3c8acf716c05e390b5415b0c41fbcd65 Mon Sep 17 00:00:00 2001 From: Snjezana Peco Date: Mon, 20 Jul 2020 17:53:33 +0200 Subject: [PATCH] Keep typing after the 1st tab when completing imports Signed-off-by: Snjezana Peco --- .../contentassist/CompletionProposalReplacementProvider.java | 3 +++ .../jdt/ls/core/internal/handlers/CompletionHandlerTest.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/contentassist/CompletionProposalReplacementProvider.java b/org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/contentassist/CompletionProposalReplacementProvider.java index 90523a6255..e01b793d29 100644 --- a/org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/contentassist/CompletionProposalReplacementProvider.java +++ b/org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/contentassist/CompletionProposalReplacementProvider.java @@ -408,6 +408,9 @@ private void appendReplacementString(StringBuilder buffer, CompletionProposal pr String str = proposal.getKind() == CompletionProposal.TYPE_REF ? computeJavaTypeReplacementString(proposal) : String.valueOf(proposal.getCompletion()); if (client.isCompletionSnippetsSupported()) { str = CompletionUtils.sanitizeCompletion(str); + if (proposal.getKind() == CompletionProposal.PACKAGE_REF && str != null && str.endsWith(".*;")) { + str = str.replace(".*;", ".${0:*};"); + } } buffer.append(str); return; diff --git a/org.eclipse.jdt.ls.tests/src/org/eclipse/jdt/ls/core/internal/handlers/CompletionHandlerTest.java b/org.eclipse.jdt.ls.tests/src/org/eclipse/jdt/ls/core/internal/handlers/CompletionHandlerTest.java index 3f3523664c..46265067ef 100644 --- a/org.eclipse.jdt.ls.tests/src/org/eclipse/jdt/ls/core/internal/handlers/CompletionHandlerTest.java +++ b/org.eclipse.jdt.ls.tests/src/org/eclipse/jdt/ls/core/internal/handlers/CompletionHandlerTest.java @@ -339,7 +339,7 @@ public void testCompletion_import_package() throws JavaModelException{ assertNotNull(item.getTextEdit()); TextEdit te = item.getTextEdit(); assertNotNull(te); - assertEquals("java.sql.*;",te.getNewText()); + assertEquals("java.sql.${0:*};", te.getNewText()); assertNotNull(te.getRange()); Range range = te.getRange(); assertEquals(0, range.getStart().getLine());