diff --git a/java/ide-resources/resources/ProductivityFeaturesRegistry.xml b/java/ide-resources/resources/ProductivityFeaturesRegistry.xml
index 60c34d9b92a8..40d47835f728 100644
--- a/java/ide-resources/resources/ProductivityFeaturesRegistry.xml
+++ b/java/ide-resources/resources/ProductivityFeaturesRegistry.xml
@@ -2,7 +2,7 @@
@@ -33,7 +33,7 @@
@@ -149,7 +149,7 @@
@@ -157,7 +157,7 @@
@@ -165,7 +165,7 @@
@@ -173,7 +173,7 @@
@@ -181,14 +181,14 @@
@@ -198,35 +198,35 @@
@@ -234,26 +234,26 @@
@@ -262,7 +262,7 @@
@@ -271,59 +271,59 @@
+ tip-id="Multicursor"/>
+ tip-id="ChangeSignatureAfterMovingParameters"/>
+ tip-id="LineEndings">
@@ -332,21 +332,21 @@
@@ -354,7 +354,7 @@
@@ -362,7 +362,7 @@
@@ -370,81 +370,81 @@
@@ -453,14 +453,14 @@
@@ -500,21 +500,21 @@
@@ -522,7 +522,7 @@
-->
@@ -574,7 +574,7 @@
@@ -582,7 +582,7 @@
@@ -592,13 +592,13 @@
@@ -606,19 +606,19 @@
+ tip-id="BreakpointSpeedmenu">
+ tip-id="EvaluateExpression"/>
@@ -626,12 +626,12 @@
diff --git a/platform/dvcs-impl/resources/VcsProductivityFeatures.xml b/platform/dvcs-impl/resources/VcsProductivityFeatures.xml
index 19f54903eb43..6b1ef68cb5c1 100644
--- a/platform/dvcs-impl/resources/VcsProductivityFeatures.xml
+++ b/platform/dvcs-impl/resources/VcsProductivityFeatures.xml
@@ -2,21 +2,21 @@
@@ -24,7 +24,7 @@
@@ -35,13 +35,13 @@
diff --git a/platform/platform-api/src/com/intellij/featureStatistics/FeatureDescriptor.java b/platform/platform-api/src/com/intellij/featureStatistics/FeatureDescriptor.java
index ced1c4bdff8a..481d544db0fd 100644
--- a/platform/platform-api/src/com/intellij/featureStatistics/FeatureDescriptor.java
+++ b/platform/platform-api/src/com/intellij/featureStatistics/FeatureDescriptor.java
@@ -15,7 +15,7 @@ public class FeatureDescriptor {
@NotNull private String myId;
@NotNull private String myDisplayName;
@Nullable private String myGroupId;
- @Nullable private String myTipFileName;
+ @Nullable private String myTipId;
@Nullable private Set myDependencies;
private int myDaysBeforeFirstShowUp;
private int myDaysBetweenSuccessiveShowUps;
@@ -36,7 +36,7 @@ public class FeatureDescriptor {
@NonNls private static final String ATTRIBUTE_LAST_USED = "last-used";
@NonNls private static final String ATTRIBUTE_SHOWN_COUNT = "shown-count";
@NonNls private static final String ATTRIBUTE_ID = "id";
- @NonNls private static final String ATTRIBUTE_TIP_FILE = "tip-file";
+ @NonNls private static final String ATTRIBUTE_TIP_ID = "tip-id";
@NonNls private static final String ATTRIBUTE_FIRST_SHOW = "first-show";
@NonNls private static final String ATTRIBUTE_SUCCESSIVE_SHOW = "successive-show";
@NonNls private static final String ATTRIBUTE_MIN_USAGE_COUNT = "min-usage-count";
@@ -54,7 +54,7 @@ public class FeatureDescriptor {
public FeatureDescriptor(@NonNls @NotNull String id,
@NonNls @Nullable String groupId,
- @NonNls @Nullable String tipFileName,
+ @NonNls @Nullable String tipId,
@NotNull String displayName,
int daysBeforeFirstShowUp,
int daysBetweenSuccessiveShowUps,
@@ -63,7 +63,7 @@ public class FeatureDescriptor {
@Nullable ProductivityFeaturesProvider provider) {
myId = id;
myGroupId = groupId;
- myTipFileName = tipFileName;
+ myTipId = tipId;
myDisplayName = displayName;
myDaysBeforeFirstShowUp = daysBeforeFirstShowUp;
myDaysBetweenSuccessiveShowUps = daysBetweenSuccessiveShowUps;
@@ -74,7 +74,7 @@ public class FeatureDescriptor {
private void readExternal(Element element) {
myId = Objects.requireNonNull(element.getAttributeValue(ATTRIBUTE_ID));
- myTipFileName = element.getAttributeValue(ATTRIBUTE_TIP_FILE);
+ myTipId = element.getAttributeValue(ATTRIBUTE_TIP_ID);
myDisplayName = FeatureStatisticsBundle.message(myId);
String needToBeShownInGuide = element.getAttributeValue(ATTRIBUTE_SHOW_IN_GUIDE);
if (needToBeShownInGuide != null) {
@@ -116,8 +116,16 @@ public class FeatureDescriptor {
return myGroupId;
}
+ /**
+ * @deprecated Use {@code getTipId()} instead
+ */
+ @Deprecated
public @Nullable String getTipFileName() {
- return myTipFileName;
+ return myTipId;
+ }
+
+ public @Nullable String getTipId() {
+ return myTipId;
}
public List getActionEvents() {
diff --git a/platform/platform-tests/testSrc/com/intellij/featureStatistics/TestProductivityFeatureProvider.java b/platform/platform-tests/testSrc/com/intellij/featureStatistics/TestProductivityFeatureProvider.java
index 9530420aaaca..6a455704248e 100644
--- a/platform/platform-tests/testSrc/com/intellij/featureStatistics/TestProductivityFeatureProvider.java
+++ b/platform/platform-tests/testSrc/com/intellij/featureStatistics/TestProductivityFeatureProvider.java
@@ -13,7 +13,7 @@ public class TestProductivityFeatureProvider extends ProductivityFeaturesProvide
public FeatureDescriptor[] getFeatureDescriptors() {
asked = true;
return new FeatureDescriptor[] {
- new FeatureDescriptor(tipId, groupId, "TestTip.html", "test", 0, 0, null, 0, this)
+ new FeatureDescriptor(tipId, groupId, "TestTip", "test", 0, 0, null, 0, this)
};
}
diff --git a/platform/platform-tests/testSrc/com/intellij/internal/statistics/metadata/validator/FeatureUsageCustomValidatorsTest.kt b/platform/platform-tests/testSrc/com/intellij/internal/statistics/metadata/validator/FeatureUsageCustomValidatorsTest.kt
index 6abd80d2b2d8..fed6978d4b48 100644
--- a/platform/platform-tests/testSrc/com/intellij/internal/statistics/metadata/validator/FeatureUsageCustomValidatorsTest.kt
+++ b/platform/platform-tests/testSrc/com/intellij/internal/statistics/metadata/validator/FeatureUsageCustomValidatorsTest.kt
@@ -137,7 +137,7 @@ class FeatureUsageCustomValidatorsTest : ProductivityFeaturesTest() {
private class TestProductivityFeatureProvider : ProductivityFeaturesProvider() {
override fun getFeatureDescriptors(): Array {
- val descriptor = FeatureDescriptor("features.welcome", null, "TestTip.html", "test", 0, 0, null, 0, this)
+ val descriptor = FeatureDescriptor("features.welcome", null, "TestTip", "test", 0, 0, null, 0, this)
return arrayOf(descriptor)
}
}
diff --git a/platform/platform-tests/testSrc/com/intellij/internal/statistics/metadata/validator/ProductivityValidatorTest.kt b/platform/platform-tests/testSrc/com/intellij/internal/statistics/metadata/validator/ProductivityValidatorTest.kt
index d85431ead22b..e11bb7273e98 100644
--- a/platform/platform-tests/testSrc/com/intellij/internal/statistics/metadata/validator/ProductivityValidatorTest.kt
+++ b/platform/platform-tests/testSrc/com/intellij/internal/statistics/metadata/validator/ProductivityValidatorTest.kt
@@ -58,8 +58,8 @@ class ProductivityValidatorTest : ProductivityFeaturesTest() {
class TestProductivityFeatureProvider : ProductivityFeaturesProvider() {
override fun getFeatureDescriptors(): Array {
- val withGroup = FeatureDescriptor("testFeatureId", "testFeatureGroup", "TestTip.html", "test", 0, 0, null, 0, this)
- val noGroup = FeatureDescriptor("secondTestFeatureId", null, "TestTip.html", "test", 0, 0, null, 0, this)
+ val withGroup = FeatureDescriptor("testFeatureId", "testFeatureGroup", "TestTip", "test", 0, 0, null, 0, this)
+ val noGroup = FeatureDescriptor("secondTestFeatureId", null, "TestTip", "test", 0, 0, null, 0, this)
return arrayOf(withGroup, noGroup)
}
diff --git a/platform/tips-of-the-day/src/com/intellij/ide/util/TipUtils.java b/platform/tips-of-the-day/src/com/intellij/ide/util/TipUtils.java
index ed384138a07a..53a47a9446f4 100644
--- a/platform/tips-of-the-day/src/com/intellij/ide/util/TipUtils.java
+++ b/platform/tips-of-the-day/src/com/intellij/ide/util/TipUtils.java
@@ -66,22 +66,17 @@ public final class TipUtils {
}
public static @Nullable TipAndTrickBean getTip(@Nullable FeatureDescriptor feature) {
- if (feature == null) {
- return null;
- }
- String tipFileName = feature.getTipFileName();
- if (tipFileName == null) {
+ if (feature == null) return null;
+ String tipId = feature.getTipId();
+ if (tipId == null) {
LOG.warn("No Tip of the day for feature " + feature.getId());
return null;
}
- TipAndTrickBean tip = TipAndTrickBean.findByFileName("neue-" + tipFileName);
- if (tip == null && StringUtil.isNotEmpty(tipFileName)) {
- tip = TipAndTrickBean.findByFileName(tipFileName);
- }
- if (tip == null && StringUtil.isNotEmpty(tipFileName)) {
+ TipAndTrickBean tip = TipAndTrickBean.findById(tipId);
+ if (tip == null && StringUtil.isNotEmpty(tipId)) {
tip = new TipAndTrickBean();
- tip.fileName = tipFileName;
+ tip.fileName = tipId + TipAndTrickBean.TIP_FILE_EXTENSION;
}
return tip;
}
diff --git a/python/resources/ProductivityFeaturesRegistry.xml b/python/resources/ProductivityFeaturesRegistry.xml
index 969007ff7ad6..2877ff749375 100644
--- a/python/resources/ProductivityFeaturesRegistry.xml
+++ b/python/resources/ProductivityFeaturesRegistry.xml
@@ -2,31 +2,31 @@
@@ -83,40 +83,40 @@
@@ -125,7 +125,7 @@
@@ -134,21 +134,21 @@
@@ -156,7 +156,7 @@
@@ -164,7 +164,7 @@
@@ -172,7 +172,7 @@