diff --git a/src/plugins/debugger/commonoptionspage.cpp b/src/plugins/debugger/commonoptionspage.cpp index bb17ee59962..0169fca2c1b 100644 --- a/src/plugins/debugger/commonoptionspage.cpp +++ b/src/plugins/debugger/commonoptionspage.cpp @@ -83,6 +83,9 @@ public: auto checkBoxUseToolTipsInMainEditor = new QCheckBox(behaviorBox); checkBoxUseToolTipsInMainEditor->setText(tr("Use tooltips in main editor while debugging")); + auto checkBoxUseAnnotationsInMainEditor = new QCheckBox(behaviorBox); + checkBoxUseAnnotationsInMainEditor->setText(tr("Use annotations in main editor while debugging")); + QString t = tr("Stopping and stepping in the debugger " "will automatically open views associated with the current location.") + '\n'; auto checkBoxCloseSourceBuffersOnExit = new QCheckBox(behaviorBox); @@ -146,13 +149,14 @@ public: auto gridLayout = new QGridLayout(behaviorBox); gridLayout->addWidget(checkBoxUseAlternatingRowColors, 0, 0, 1, 1); - gridLayout->addWidget(checkBoxUseToolTipsInMainEditor, 1, 0, 1, 1); - gridLayout->addWidget(checkBoxCloseSourceBuffersOnExit, 2, 0, 1, 1); - gridLayout->addWidget(checkBoxCloseMemoryBuffersOnExit, 3, 0, 1, 1); - gridLayout->addWidget(checkBoxBringToForegroundOnInterrrupt, 4, 0, 1, 1); - gridLayout->addWidget(checkBoxBreakpointsFullPath, 5, 0, 1, 1); - gridLayout->addWidget(checkBoxWarnOnReleaseBuilds, 6, 0, 1, 1); - gridLayout->addLayout(horizontalLayout, 7, 0, 1, 2); + gridLayout->addWidget(checkBoxUseAnnotationsInMainEditor, 1, 0, 1, 1); + gridLayout->addWidget(checkBoxUseToolTipsInMainEditor, 2, 0, 1, 1); + gridLayout->addWidget(checkBoxCloseSourceBuffersOnExit, 3, 0, 1, 1); + gridLayout->addWidget(checkBoxCloseMemoryBuffersOnExit, 4, 0, 1, 1); + gridLayout->addWidget(checkBoxBringToForegroundOnInterrrupt, 5, 0, 1, 1); + gridLayout->addWidget(checkBoxBreakpointsFullPath, 6, 0, 1, 1); + gridLayout->addWidget(checkBoxWarnOnReleaseBuilds, 7, 0, 1, 1); + gridLayout->addLayout(horizontalLayout, 8, 0, 1, 2); gridLayout->addWidget(checkBoxFontSizeFollowsEditor, 0, 1, 1, 1); gridLayout->addWidget(checkBoxSwitchModeOnExit, 1, 1, 1, 1); @@ -167,6 +171,8 @@ public: m_group.insert(action(UseAlternatingRowColors), checkBoxUseAlternatingRowColors); + m_group.insert(action(UseAnnotationsInMainEditor), + checkBoxUseAnnotationsInMainEditor); m_group.insert(action(UseToolTipsInMainEditor), checkBoxUseToolTipsInMainEditor); m_group.insert(action(CloseSourceBuffersOnExit), diff --git a/src/plugins/debugger/debuggeractions.cpp b/src/plugins/debugger/debuggeractions.cpp index 631bb881546..53e04570e7c 100644 --- a/src/plugins/debugger/debuggeractions.cpp +++ b/src/plugins/debugger/debuggeractions.cpp @@ -497,6 +497,15 @@ DebuggerSettings::DebuggerSettings() item->setDefaultValue(false); insertItem(IntelFlavor, item); + item = new SavedAction; + item->setSettingsKey(debugModeGroup, "UseAnnotations"); + item->setText(tr("Use annotations in main editor when debugging")); + item->setToolTip(tr("
Checking this will show simple variable values "
+ "as annotations in the main editor during debugging."));
+ item->setCheckable(true);
+ item->setDefaultValue(true);
+ insertItem(UseAnnotationsInMainEditor, item);
+
item = new SavedAction;
item->setSettingsKey(debugModeGroup, "UseToolTips");
item->setText(tr("Use tooltips in main editor when debugging"));
diff --git a/src/plugins/debugger/debuggeractions.h b/src/plugins/debugger/debuggeractions.h
index 30dbe7b9af9..8137f4c4008 100644
--- a/src/plugins/debugger/debuggeractions.h
+++ b/src/plugins/debugger/debuggeractions.h
@@ -98,6 +98,7 @@ enum DebuggerActionCode
ShowThreadNames,
UseToolTipsInMainEditor,
+ UseAnnotationsInMainEditor,
UseToolTipsInLocalsView,
UseToolTipsInBreakpointsView,
UseToolTipsInStackView,
diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp
index c9cfd774cf4..70e49c35e23 100644
--- a/src/plugins/debugger/debuggerengine.cpp
+++ b/src/plugins/debugger/debuggerengine.cpp
@@ -1113,6 +1113,7 @@ void DebuggerEngine::gotoLocation(const Location &loc)
}
d->m_breakHandler.setLocation(loc);
+ d->m_watchHandler.setLocation(loc);
}
void DebuggerEngine::gotoCurrentLocation()
diff --git a/src/plugins/debugger/debuggerinternalconstants.h b/src/plugins/debugger/debuggerinternalconstants.h
index 7137a9100c2..908a02c5d86 100644
--- a/src/plugins/debugger/debuggerinternalconstants.h
+++ b/src/plugins/debugger/debuggerinternalconstants.h
@@ -68,6 +68,7 @@ const char TASK_CATEGORY_DEBUGGER_RUNTIME[] = "DebugRuntime";
const char TEXT_MARK_CATEGORY_BREAKPOINT[] = "Debugger.Mark.Breakpoint";
const char TEXT_MARK_CATEGORY_LOCATION[] = "Debugger.Mark.Location";
+const char TEXT_MARK_CATEGORY_VALUE[] = "Debugger.Mark.Value";
const char OPENED_BY_DEBUGGER[] = "OpenedByDebugger";
const char OPENED_WITH_DISASSEMBLY[] = "DisassemblerView";
diff --git a/src/plugins/debugger/sourceutils.cpp b/src/plugins/debugger/sourceutils.cpp
index a76317258c6..fbb57679d6f 100644
--- a/src/plugins/debugger/sourceutils.cpp
+++ b/src/plugins/debugger/sourceutils.cpp
@@ -31,14 +31,19 @@
#include "watchdata.h"
#include "watchutils.h"
-#include