diff --git a/java/java-tests/testData/codeInsight/completeStatement/InInjection.java b/java/java-tests/testData/codeInsight/completeStatement/InInjection.java new file mode 100644 index 000000000000..dc59415dca11 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completeStatement/InInjection.java @@ -0,0 +1,5 @@ +import java.util.regex.Pattern; + +public class InInjection { + static final Pattern p = Pattern.compile("\\d+") +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/completeStatement/InInjection_after.java b/java/java-tests/testData/codeInsight/completeStatement/InInjection_after.java new file mode 100644 index 000000000000..4743b67815d6 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completeStatement/InInjection_after.java @@ -0,0 +1,5 @@ +import java.util.regex.Pattern; + +public class InInjection { + static final Pattern p = Pattern.compile("\\d+"); +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/CompleteStatementTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/CompleteStatementTest.java index 3527c77357eb..b428fda092f3 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/CompleteStatementTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/CompleteStatementTest.java @@ -191,6 +191,7 @@ public class CompleteStatementTest extends EditorActionTestCase { public void testOverloadedMethodOneOrThree2() { doTest(); } public void testOverloadedMethodOneOrThree3() { doTest(); } public void testMissingComma() { doTest(); } + public void testInInjection() { doTest(); } private void doTestBracesNextLineStyle() { myJavaSettings.BRACE_STYLE = CommonCodeStyleSettings.NEXT_LINE; diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/smartEnter/SmartEnterAction.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/smartEnter/SmartEnterAction.java index 31fb835585a2..eb37dd7ee211 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/smartEnter/SmartEnterAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/smartEnter/SmartEnterAction.java @@ -6,6 +6,7 @@ import com.intellij.codeInsight.editorActions.enter.EnterAfterUnmatchedBraceHand import com.intellij.codeInsight.lookup.LookupManager; import com.intellij.codeInsight.template.impl.TemplateManagerImpl; import com.intellij.codeInsight.template.impl.TemplateState; +import com.intellij.injected.editor.EditorWindow; import com.intellij.lang.Language; import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.actionSystem.DataContext; @@ -32,6 +33,10 @@ public class SmartEnterAction extends EditorAction { private static class Handler extends EditorWriteActionHandler.ForEachCaret { @Override public boolean isEnabledForCaret(@NotNull Editor editor, @NotNull Caret caret, DataContext dataContext) { + if (editor.isOneLineMode() && editor instanceof EditorWindow) { + // One-line injection: prefer for host instead + return false; + } return getEnterHandler().isEnabled(editor, caret, dataContext); }