From 73f305c814763be230f096d15220a056cf73bee5 Mon Sep 17 00:00:00 2001 From: peter Date: Sat, 28 Aug 2010 17:55:20 +0100 Subject: [PATCH] describe the 'static import via completion' as a productivity feature --- .../ImportStaticLookupActionProvider.java | 3 +++ .../completion/JavaCompletionFeatures.java | 1 + ...vaGlobalMemberNameCompletionContributor.java | 10 ++++++++-- .../messages/FeatureStatisticsBundle.properties | 1 + .../src/tips/CompletionImportStatic.html | 14 ++++++++++++++ .../src/tips/images/completionImportStatic.png | Bin 0 -> 28556 bytes resources/src/ProductivityFeaturesRegistry.xml | 7 +++++++ 7 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 resources-en/src/tips/CompletionImportStatic.html create mode 100644 resources-en/src/tips/images/completionImportStatic.png diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/ImportStaticLookupActionProvider.java b/java/java-impl/src/com/intellij/codeInsight/completion/ImportStaticLookupActionProvider.java index 58aa9a2b8169..4fe765adbe0e 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/ImportStaticLookupActionProvider.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/ImportStaticLookupActionProvider.java @@ -1,6 +1,7 @@ package com.intellij.codeInsight.completion; import com.intellij.codeInsight.lookup.*; +import com.intellij.featureStatistics.FeatureUsageTracker; import com.intellij.util.Consumer; import com.intellij.util.Icons; import com.intellij.util.ui.EmptyIcon; @@ -23,6 +24,8 @@ public class ImportStaticLookupActionProvider implements LookupActionProvider { consumer.consume(new LookupElementAction(icon, "Import statically") { @Override public Result performLookupAction() { + FeatureUsageTracker.getInstance().triggerFeatureUsed(JavaCompletionFeatures.IMPORT_STATIC); + item.setShouldImport(!item.isShouldImport()); return Result.REFRESH_ITEM; } diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionFeatures.java b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionFeatures.java index f84520de4e27..4eb7426ae16b 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionFeatures.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionFeatures.java @@ -25,4 +25,5 @@ public interface JavaCompletionFeatures { @NonNls String SECOND_SMART_COMPLETION_TOAR = "editing.completion.second.smarttype.toar"; @NonNls String SECOND_SMART_COMPLETION_ASLIST = "editing.completion.second.smarttype.aslist"; @NonNls String SECOND_SMART_COMPLETION_ARRAY_MEMBER = "editing.completion.second.smarttype.array.member"; + @NonNls String IMPORT_STATIC = "editing.completion.import.static"; } diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/JavaGlobalMemberNameCompletionContributor.java b/java/java-impl/src/com/intellij/codeInsight/completion/JavaGlobalMemberNameCompletionContributor.java index eae285258414..17cae62e2d8b 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaGlobalMemberNameCompletionContributor.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaGlobalMemberNameCompletionContributor.java @@ -2,6 +2,7 @@ package com.intellij.codeInsight.completion; import com.intellij.codeInsight.completion.simple.PsiMethodInsertHandler; import com.intellij.codeInsight.daemon.impl.quickfix.StaticImportMethodFix; +import com.intellij.featureStatistics.FeatureUsageTracker; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Computable; @@ -91,8 +92,13 @@ public class JavaGlobalMemberNameCompletionContributor extends CompletionContrib final PsiClass containingClass = method.getContainingClass(); if (containingClass != null) { if (!JavaCompletionUtil.isInExcludedPackage(containingClass) && !StaticImportMethodFix.isExcluded(method)) { - if (!hintShown[0] && CompletionService.getCompletionService().getAdvertisementText() == null) { - CompletionService.getCompletionService().setAdvertisementText("To import the method statically, press Left"); + if (!hintShown[0] && + FeatureUsageTracker.getInstance().isToBeShown(JavaCompletionFeatures.IMPORT_STATIC, project) && + CompletionService.getCompletionService().getAdvertisementText() == null) { + final String shortcut = getActionShortcut("EditorRight"); + if (shortcut != null) { + CompletionService.getCompletionService().setAdvertisementText("To import the method statically, press " + shortcut); + } hintShown[0] = true; } diff --git a/platform/platform-resources-en/src/messages/FeatureStatisticsBundle.properties b/platform/platform-resources-en/src/messages/FeatureStatisticsBundle.properties index eda1a1792a22..7ecfdbbde4ac 100644 --- a/platform/platform-resources-en/src/messages/FeatureStatisticsBundle.properties +++ b/platform/platform-resources-en/src/messages/FeatureStatisticsBundle.properties @@ -49,6 +49,7 @@ editing.completion.second.smarttype.chain=Second smart type completion: chained editing.completion.second.smarttype.toar=Second smart type completion: toArray() conversion editing.completion.second.smarttype.aslist=Second smart type completion: asList() conversion editing.completion.second.smarttype.array.member=Second smart type completion: array member access +editing.completion.import.static=Static import via code completion editing.completion.variable.name=Variable name completion editing.completion.replace=Replace By when using lookup editing.completion.finishByDotEtc=Finish lookup by special characters diff --git a/resources-en/src/tips/CompletionImportStatic.html b/resources-en/src/tips/CompletionImportStatic.html new file mode 100644 index 000000000000..f719577cbebd --- /dev/null +++ b/resources-en/src/tips/CompletionImportStatic.html @@ -0,0 +1,14 @@ + + + + + + +
+ To quickly complete a method call of a static method located anywhere in your project, libraries or JDK, enter a prefix + and press &shortcut:ClassNameCompletion;. You'll see all the matching methods. If you want the method you chose to be imported statically, + press &shortcut:EditorRight; and see what happens: +

+
+ + diff --git a/resources-en/src/tips/images/completionImportStatic.png b/resources-en/src/tips/images/completionImportStatic.png new file mode 100644 index 0000000000000000000000000000000000000000..037b41f69f5e10c409ab65580e1e5b6cd6987101 GIT binary patch literal 28556 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 literal 0 HcmV?d00001 diff --git a/resources/src/ProductivityFeaturesRegistry.xml b/resources/src/ProductivityFeaturesRegistry.xml index e8df7259a6c3..b55bdfdf9c66 100644 --- a/resources/src/ProductivityFeaturesRegistry.xml +++ b/resources/src/ProductivityFeaturesRegistry.xml @@ -169,6 +169,13 @@ successive-show="3"> + +