Comments (17)
@mickaelistria can you share a screenshot / cast? I can hardly follow the description mostly as I seldom use your described workflow.
from eclipse.platform.ui.
You can use the Expressions View instead of Inspect.
from eclipse.platform.ui.
You can use the Expressions View instead of Inspect.
that doesn't work with "2 distinct executions" (which is the most important part of the workflow), as switching to another StackFrame updates the values. I basically want a way to be able to see some values from 2 distinct stack frames, without having to have 2 distinct workbench windows.
Another similar story (harder and maybe not as powerful) was eclipse-platform/eclipse.platform#531
from eclipse.platform.ui.
If it is 2 different debugees you could use 2 distinct workspaces.
For comparing results of of different threads within same debugee i don't know a solution and help myself with screenshots. So i could use that feature too, but i have no idea how it could be intuitivly visualised which values belong to which stackframe.
from eclipse.platform.ui.
If it is 2 different debugees you could use 2 distinct workspaces.
When in desperate need, I use 2 workbench windows (Window > New Window) which can allow to have different stackframes selected in each window and update all the context. It's really powerful, but it's not so easy to use and it often seems overkill to quickly compare 2 values.
A first idea would be to augment the Inspect popop with 2 new actions (Pin/Close) in its action menu:
So it would look like
- Move
- Resize
- Pin
- Close
from eclipse.platform.ui.
But how could the user know which Window belongs to which frame?
from eclipse.platform.ui.
But how could the user know which Window belongs to which frame?
in a 1st iteration, I think it could be up to them to remember, as it's not (yet?) a very common workflow,.
But yes, later on we should consider adding some information to the dialog to show the context in which one it got evaluated. I wouldn't just make it a blocker right now.
from eclipse.platform.ui.
Things that need later to be done are a blocker for me, as otherwise they are usually not done.
from eclipse.platform.ui.
It seems like we could implement it in PopupDialog, so it could also help some other stories.
from eclipse.platform.ui.
It seems like we could implement it in PopupDialog, so it could also help some other stories.
I doubt having N pinned dialogs is "the" solution here.
I personally never use this functionality, but if I would use it in the way you do, I would probably just want to "move" current popup content to Expressions view and there provide a way to "pin" expressions to threads/frames, as long as they run/exist.
from eclipse.platform.ui.
I personally never use this functionality, but if I would use it in the way you do, I would probably just want to "move" current popup content to Expressions view and there provide a way to "pin" expressions to threads/frames, as long as they run/exist.
I think it's more or less what I suggested in eclipse-platform/eclipse.platform#531
from eclipse.platform.ui.
I think it's more or less what I suggested in eclipse-platform/eclipse.platform#531
Probally I can't understand the use case, but you proposeda "diff" view and here you want persistent per frame inspection values?
from eclipse.platform.ui.
you proposeda "diff" view
No, in the other issue, I propose that we can show values from multiple sources in the Variable/Expressions view (I'm against yet-another-view), adding them as colums.
here you want persistent per frame inspection values?
Yes, I just want to be able to look at 2 inspected expressions, from whichever source, simultaneously. And this is currently only possible without 2 distinct workbench window.
from eclipse.platform.ui.
I've managed to add the menu entries and so on, but pinning seems more deeply rooted than I thought. Here is the stack that shows the dialog closing when an external event happens. I was hoping for some listener to tweak in PopupDialog, but it seems deeper
Thread [main] (Suspended (entry into method close in PopupDialog))
QuickAccessDialog(PopupDialog).close() line: 1114
QuickAccessDialog.close() line: 306
QuickAccessDialog(Window).handleShellCloseEvent() line: 739
Window$1.shellClosed(ShellEvent) line: 685
TypedListener.handleEvent(Event) line: 115
EventTable.sendEvent(Event) line: 91
Display.sendEvent(EventTable, Event) line: 5855
Shell(Widget).sendEvent(Event) line: 1617
Shell(Widget).sendEvent(int, Event, boolean) line: 1643
Shell(Widget).sendEvent(int, Event) line: 1626
Shell.closeWidget() line: 711
Shell.close() line: 707
Shell.traverseEscape() line: 3144
Shell(Control).traverse(Event) line: 6667
Text(Control).translateTraversal(long) line: 6640
Text.translateTraversal(long) line: 2896
Text(Control).gtk_key_press_event(long, long) line: 3996
Text.gtk_key_press_event(long, long) line: 1886
Text(Widget).windowProc(long, long, long) line: 2595
Text(Control).windowProc(long, long, long) line: 6833
Text.windowProc(long, long, long) line: 2992
Display.windowProc(long, long, long) line: 6162
GTK3.gtk_main_do_event(long) line: not available [native method]
Display.eventProc(long, long) line: 1598
GTK3.gtk_main_iteration_do(boolean) line: not available [native method]
Display.readAndDispatch() line: 4514
PartRenderingEngine$5.run() line: 1151
Realm.runWithDefault(Realm, Runnable) line: 339
PartRenderingEngine.run(MApplicationElement, IEclipseContext) line: 1042
E4Workbench.createAndRunUI(MApplicationElement) line: 152
Workbench.lambda$3(Display, WorkbenchAdvisor, int[]) line: 639
0x00000000a629ed20.run() line: not available
Realm.runWithDefault(Realm, Runnable) line: 339
Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 546
PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 173
IDEApplication.start(IApplicationContext) line: 152
EclipseAppHandle.run(Object) line: 208
EclipseAppLauncher.runApplication(Object) line: 143
EclipseAppLauncher.start(Object) line: 109
EclipseStarter.run(Object) line: 439
EclipseStarter.run(String[], Runnable) line: 271
DirectMethodHandle$Holder.invokeStatic(Object, Object, Object) line: not available
0x00000000a60c6800.invoke(Object, Object, Object, Object) line: not available
0x00000000a60c6c00.invokeExact_MT(Object, Object, Object, Object, Object) line: not available
DirectMethodHandleAccessor.invokeImpl(Object, Object[]) line: 155
DirectMethodHandleAccessor.invoke(Object, Object[]) line: 103
Method.invoke(Object, Object...) line: 580
Main.invokeFramework(String[], URL[]) line: 668
Main.basicRun(String[]) line: 605
Main.run(String[]) line: 1481
Main.main(String[]) line: 1454
from eclipse.platform.ui.
My bad, please ignore last comment which was exactly about ESCAPE being pressed. Everything seems fine, I'm pushing a pull request.
from eclipse.platform.ui.
PR is #1906
from eclipse.platform.ui.
And eclipse-platform/eclipse.platform#1403 as consumer
from eclipse.platform.ui.
Related Issues (20)
- FindReplaceOverlay/FindReplaceDialog tests failing: testSearchTextSelectedWhenOpeningDialog, testSearchTextSelectedWhenSwitchingFocusToDialog
- Find/Replace overlay: search and replace input fields not vertically centered
- Example handler for an alternative inline display HOT 3
- Find/Replace overlay: navigating through search history skips entry
- Sticky scrolling: Line Numbers look wrong (maybe sorted wrong way up?)
- Find/Replace Overlay: can hide views which are in "detached mode" HOT 1
- Find/Replace History: write Unit Tests
- Find/replace overlay: unexpected focus target when closing overlay
- FindReplaceLogic: performIncrementalSearch breaks contract
- FindReplaceLogic: incremental search jumps to next word if selection already on search word
- Random Failing Test: FilteredResourcesSelectionDialogTestSuite HOT 1
- UI refresh: a modern light and dark theme HOT 28
- Sticky Scrolling: ignore merge errors HOT 1
- [e4] support injection of Optionals
- workspace '--release' setting ignored by Problems View HOT 1
- Find/Replace Overlay not adapted to theme of Editor
- CTabFolder: ellipsis for truncated items takes up too much space in Monospace
- IllegalArgumentException at StickyScrollingControl.java:519
- [Sticky scrolling] Commented-out code is being incorrectly recognized HOT 1
- Plugin export not Working (Can't download artifact osgi.bundle,com.sun.jna) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eclipse.platform.ui.