removed inline debugger option from registry

This commit is contained in:
Egor.Ushakov
2016-01-22 14:50:54 +03:00
parent 32e0026a1d
commit 4213999c20
8 changed files with 40 additions and 34 deletions
@@ -45,8 +45,6 @@ actionSystem.extendedKeyCode.disabled=false
color.blindness.icon.filter=false
ide.debugMode=false
ide.debugger.inline=true
ide.debugger.inline.description=Enables variables view in editor
ide.debugMode.description=Record additional information to make bug reports more informative.
ide.forcedShowTooltip=alt
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2015 JetBrains s.r.o.
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -31,6 +31,8 @@ public abstract class XDebuggerSettingsManager {
int getValueLookupDelay();
boolean isShowLibraryStackFrames();
boolean isShowValuesInline();
}
@NotNull
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2015 JetBrains s.r.o.
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,27 +16,23 @@
package com.intellij.xdebugger.impl.actions;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.RegistryToggleAction;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.fileEditor.FileEditorManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.actionSystem.ToggleAction;
import com.intellij.openapi.project.DumbAware;
import com.intellij.xdebugger.impl.XDebuggerUtilImpl;
import com.intellij.xdebugger.impl.settings.XDebuggerSettingManagerImpl;
/**
* @author Konstantin Bulenkov
*/
public class UseInlineDebuggerAction extends RegistryToggleAction {
public UseInlineDebuggerAction() {
super("ide.debugger.inline");
public class UseInlineDebuggerAction extends ToggleAction implements DumbAware {
@Override
public boolean isSelected(AnActionEvent e) {
return XDebuggerSettingManagerImpl.getInstanceImpl().getDataViewSettings().isShowValuesInline();
}
@Override
public void doWhenDone(AnActionEvent e) {
Project project = e.getProject();
if (project != null) {
final Editor editor = FileEditorManager.getInstance(project).getSelectedTextEditor();
if (editor != null) {
editor.getComponent().repaint();
}
}
public void setSelected(AnActionEvent e, boolean state) {
XDebuggerSettingManagerImpl.getInstanceImpl().getDataViewSettings().setShowValuesInline(state);
XDebuggerUtilImpl.rebuildAllSessionsViews(e.getProject());
}
}
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2015 JetBrains s.r.o.
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -23,7 +23,6 @@ import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Key;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.ui.*;
@@ -39,6 +38,7 @@ import com.intellij.xdebugger.impl.frame.XDebugView;
import com.intellij.xdebugger.impl.frame.XVariablesView;
import com.intellij.xdebugger.impl.ui.tree.nodes.XValueNodeImpl;
import com.intellij.xdebugger.impl.ui.tree.nodes.XValueTextRendererImpl;
import com.intellij.xdebugger.settings.XDebuggerSettingsManager;
import com.intellij.xdebugger.ui.DebuggerColors;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -58,7 +58,7 @@ public class XDebuggerEditorLinePainter extends EditorLinePainter {
@Override
public Collection<LineExtensionInfo> getLineExtensions(@NotNull Project project, @NotNull VirtualFile file, int lineNumber) {
if (!Registry.is("ide.debugger.inline")) {
if (!XDebuggerSettingsManager.getInstance().getDataViewSettings().isShowValuesInline()) {
return null;
}
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2015 JetBrains s.r.o.
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -27,7 +27,6 @@ import org.jetbrains.annotations.NotNull;
import javax.swing.*;
public class DataViewsConfigurableUi {
public static final String IDE_DEBUGGER_INLINE_KEY = "ide.debugger.inline";
public static final String DEBUGGER_VALUE_TOOLTIP_AUTO_SHOW_KEY = "debugger.valueTooltipAutoShow";
public static final String DEBUGGER_VALUE_TOOLTIP_AUTO_SHOW_ON_SELECTION_KEY = "debugger.valueTooltipAutoShowOnSelection";
@@ -60,7 +59,7 @@ public class DataViewsConfigurableUi {
return getValueTooltipDelay() != settings.getValueLookupDelay() ||
sortAlphabeticallyCheckBox.isSelected() != settings.isSortValues() ||
enableAutoExpressionsCheckBox.isSelected() != settings.isAutoExpressions() ||
myShowValuesInlineCheckBox.isSelected() != Registry.is(IDE_DEBUGGER_INLINE_KEY) ||
myShowValuesInlineCheckBox.isSelected() != settings.isShowValuesInline() ||
myShowValueTooltipCheckBox.isSelected() != Registry.is(DEBUGGER_VALUE_TOOLTIP_AUTO_SHOW_KEY) ||
myShowValueTooltipOnCheckBox.isSelected() != Registry.is(DEBUGGER_VALUE_TOOLTIP_AUTO_SHOW_ON_SELECTION_KEY);
}
@@ -69,7 +68,7 @@ public class DataViewsConfigurableUi {
valueTooltipDelayTextField.setValue(settings.getValueLookupDelay());
sortAlphabeticallyCheckBox.setSelected(settings.isSortValues());
enableAutoExpressionsCheckBox.setSelected(settings.isAutoExpressions());
myShowValuesInlineCheckBox.setSelected(Registry.is(IDE_DEBUGGER_INLINE_KEY));
myShowValuesInlineCheckBox.setSelected(settings.isShowValuesInline());
myShowValueTooltipCheckBox.setSelected(Registry.is(DEBUGGER_VALUE_TOOLTIP_AUTO_SHOW_KEY));
myShowValueTooltipOnCheckBox.setSelected(Registry.is(DEBUGGER_VALUE_TOOLTIP_AUTO_SHOW_ON_SELECTION_KEY));
myTooltipLabel.setText(XDebuggerBundle.message("settings.tooltip.label", Registry.stringValue("ide.forcedShowTooltip")));
@@ -79,7 +78,7 @@ public class DataViewsConfigurableUi {
settings.setValueLookupDelay(getValueTooltipDelay());
settings.setSortValues(sortAlphabeticallyCheckBox.isSelected());
settings.setAutoExpressions(enableAutoExpressionsCheckBox.isSelected());
Registry.get(IDE_DEBUGGER_INLINE_KEY).setValue(myShowValuesInlineCheckBox.isSelected());
settings.setShowValuesInline(myShowValuesInlineCheckBox.isSelected());
Registry.get(DEBUGGER_VALUE_TOOLTIP_AUTO_SHOW_KEY).setValue(myShowValueTooltipCheckBox.isSelected());
Registry.get(DEBUGGER_VALUE_TOOLTIP_AUTO_SHOW_ON_SELECTION_KEY).setValue(myShowValueTooltipOnCheckBox.isSelected());
}
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2015 JetBrains s.r.o.
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -32,6 +32,9 @@ public class XDebuggerDataViewSettings implements XDebuggerSettingsManager.DataV
private boolean showLibraryStackFrames = true;
@Tag("show-values-inline")
private boolean showValuesInline = true;
@Override
@Tag("sort-values")
public boolean isSortValues() {
@@ -68,4 +71,12 @@ public class XDebuggerDataViewSettings implements XDebuggerSettingsManager.DataV
public void setShowLibraryStackFrames(boolean value) {
showLibraryStackFrames = value;
}
public boolean isShowValuesInline() {
return showValuesInline;
}
public void setShowValuesInline(boolean showValuesInline) {
this.showValuesInline = showValuesInline;
}
}
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2015 JetBrains s.r.o.
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,7 +15,6 @@
*/
package com.intellij.xdebugger.impl.ui.tree.nodes;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.ui.SimpleTextAttributes;
import com.intellij.util.ObjectUtils;
import com.intellij.util.SmartList;
@@ -92,13 +91,14 @@ public abstract class XValueContainerNode<ValueContainer extends XValueContainer
myValueChildren = new ArrayList<XValueNodeImpl>(children.size());
}
}
final InlineDebuggerHelper inlineHelper = getTree().getEditorsProvider().getInlineDebuggerHelper();
boolean valuesInline = XDebuggerSettingsManager.getInstance().getDataViewSettings().isShowValuesInline();
InlineDebuggerHelper inlineHelper = getTree().getEditorsProvider().getInlineDebuggerHelper();
for (int i = 0; i < children.size(); i++) {
XValueNodeImpl node = new XValueNodeImpl(myTree, XValueContainerNode.this, children.getName(i), children.getValue(i));
myValueChildren.add(node);
newChildren.add(node);
if (Registry.is("ide.debugger.inline") && inlineHelper.shouldEvaluateChildrenByDefault(node) && isUseGetChildrenHack(myTree)) { //todo[kb]: try to generify this dirty hack
if (valuesInline && inlineHelper.shouldEvaluateChildrenByDefault(node) && isUseGetChildrenHack(myTree)) { //todo[kb]: try to generify this dirty hack
node.getChildren();
}
}
@@ -19,7 +19,6 @@ import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.ui.ColoredTextContainer;
@@ -37,6 +36,7 @@ import com.intellij.xdebugger.impl.ui.DebuggerUIUtil;
import com.intellij.xdebugger.impl.ui.XDebuggerUIConstants;
import com.intellij.xdebugger.impl.ui.tree.ValueMarkup;
import com.intellij.xdebugger.impl.ui.tree.XDebuggerTree;
import com.intellij.xdebugger.settings.XDebuggerSettingsManager;
import gnu.trove.TObjectLongHashMap;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
@@ -110,7 +110,7 @@ public class XValueNodeImpl extends XValueContainerNode<XValue> implements XValu
setIcon(icon);
myValuePresentation = valuePresentation;
myRawValue = XValuePresentationUtil.computeValueText(valuePresentation);
if (Registry.is("ide.debugger.inline")) {
if (XDebuggerSettingsManager.getInstance().getDataViewSettings().isShowValuesInline()) {
updateInlineDebuggerData();
}
updateText();