diff --git a/plugins/stream-debugger/src/com/intellij/debugger/streams/ui/impl/EvaluationAwareTraceWindow.java b/plugins/stream-debugger/src/com/intellij/debugger/streams/ui/impl/EvaluationAwareTraceWindow.java index 52a0e72aefc5..a6548a15bd3f 100644 --- a/plugins/stream-debugger/src/com/intellij/debugger/streams/ui/impl/EvaluationAwareTraceWindow.java +++ b/plugins/stream-debugger/src/com/intellij/debugger/streams/ui/impl/EvaluationAwareTraceWindow.java @@ -66,7 +66,8 @@ public class EvaluationAwareTraceWindow extends DialogWrapper { myTabContents = new ArrayList<>(); final QualifierExpression qualifierExpression = chain.getQualifierExpression(); final MyPlaceholder firstTab = new MyPlaceholder(); - myTabsPane.insertTab("qualifier", AllIcons.Debugger.StreamDebugger.Tab, firstTab, qualifierExpression.getText(), 0); + myTabsPane.insertTab(TraceUtil.formatQualifierExpression(qualifierExpression.getText(), 30), + AllIcons.Debugger.StreamDebugger.Tab, firstTab, qualifierExpression.getText(), 0); myTabContents.add(firstTab); for (int i = 0, chainLength = chain.length(); i < chainLength; i++) { diff --git a/plugins/stream-debugger/src/com/intellij/debugger/streams/wrapper/TraceUtil.java b/plugins/stream-debugger/src/com/intellij/debugger/streams/wrapper/TraceUtil.java index ae1b669e9c58..371d30400bdf 100644 --- a/plugins/stream-debugger/src/com/intellij/debugger/streams/wrapper/TraceUtil.java +++ b/plugins/stream-debugger/src/com/intellij/debugger/streams/wrapper/TraceUtil.java @@ -44,4 +44,13 @@ public class TraceUtil { .map(x -> StringUtil.shortenTextWithEllipsis(x.getText().replaceAll("\\s", ""), 30, 5, THREE_DOTS)) .joining(", ", "(", ")"); } + + @NotNull + public static String formatQualifierExpression(@NotNull String expression, int maxLength) { + expression = expression.replaceAll("\\s", "").replaceAll(",", ", "); + if (expression.length() < maxLength) return expression; + if (expression.isEmpty()) return "qualifier"; + + return StringUtil.shortenTextWithEllipsis(expression, maxLength - 8, 5, THREE_DOTS); + } }