-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add coloring to the stack frames of the debug thread view #81
base: master
Are you sure you want to change the base?
Conversation
7a91818
to
077e37a
Compare
I've improved the patch, after the second commit, not only the stack frames will be color coded, but now, the frames from the library/frameworks can be hidden - so in effect, only frames coming from source code written by the user - will be visible, making the debug experience much more focused on the potentially more interesting parts of the stack. |
Few impressions without looking into the code. Bad: I see some issues with the preference page
Also by default, because of changed text color most of the stack is unreadable (loss of contrast, instead of black on white we have to read green on white etc). This is for me (and probably others working hours with IDE) a big issue, I have troubles to see the stack without looking closer to display. Problematic concept
Good:
So I personally would appreciate if by default we only change icons used for different frame types, but not the foreground/background colors.
|
Note: the "collapsed" thing would also need to be switched off while doing "Copy stack" operation (which is unfortunately uses the tree from UI and not the actual stack behind), otherwise this will be broken. For the "collapsing/uncollapsing" - would it make sense to put "hidden" part into a (collapsed) subtree? Regarding the colors: looking on screenshots above I see my concerns only confirmed. I understand the purpose of the patch, but that heavily affects readability of the stack. All the "fuzzy" colors make stack not readable for me, the contrast is simply gone. I work every day with stack traces, not being easily read them is a big issue for me. The possibility to change colors is OK, but defaults should be either "black on white" (== no customization) or in color pairs that ensure good contrast. Also note, that this should consider "themes" (Light/Dark/whatever). Might be we simply disable coloring by default an let users adopt that to they needs. Icons alone are "good enough" for me as it shown in first screenshot. Note: if we allow to hide/color by some patterns, the preferences that do that should also consider product preferences set via product customization (means, not simply get instance scope but use preferences service with all scopes). |
d304d31
to
543e52c
Compare
543e52c
to
dcbc7c2
Compare
dcbc7c2
to
81c36cc
Compare
81c36cc
to
6eab4cd
Compare
0dcf953
to
02924d9
Compare
02924d9
to
bf6de43
Compare
bf6de43
to
c650189
Compare
99c0d15
to
06b6655
Compare
e25f24c
to
6271d62
Compare
6271d62
to
31da87f
Compare
31da87f
to
a97e27e
Compare
a97e27e
to
8d71a9a
Compare
8d71a9a
to
47c4196
Compare
47c4196
to
d7d763a
Compare
d7d763a
to
bc42164
Compare
What is the status of this one? I find the amount of changes overwhelming for me to review. If we can get smaller standalone chunks to review it would be easier to make progress. |
7334cf6
to
bc28887
Compare
This pull request changes some projects for the first time in this development cycle.
An additional commit containing all the necessary changes was pushed to the top of this PR's branch. To obtain these changes (for example if you want to push more changes) either fetch from your fork or apply the git patch. Git patch
Further information are available in Common Build Issues - Missing version increments. |
Please get this PR finished or mark as Draft or close. |
Apart from that in dark mode - where the default colors are too bright - I think, the code is just fine, and really usable. I'm using it in the last couple of years. |
b47cb67
to
306077e
Compare
One question is if someone is going to sponsor to review this PR. Any Volunteer? Unfortunately this project is not well staffed. Its a large change .... can it be reduced? Maybe even reduced to only an extension point such that the feature can be installed with a separate optional plugin. |
It can be separated into smaller chunks, for example:
If you prefer, I can create a couple smaller cleanup patches, however separating the "engine" and the UI won't be a great help - you can't test one without the other, and most of them doesn't make too much sense alone. Separating into an optional plugin is an interesting idea, however currently as we need very small, but deep changes in various parts of the codebase, like in JDIModelPresentation.java, MonitorsAdapterFactory.java or JavaDebugShowInAdapterFactory.java - and for that, IMHO, we would need a very special interface that cant be used by anything else just by this one plugin. |
2eaa04e
to
7dede00
Compare
and using smart instanceof to remove clutter
and add an action to enable/disable colorization from the context menu. All of the categorize can be switched on or off Use separate images for different stack frame categories. Update the labels to 'Your Source code', 'Your Test code', 'Highlighted ...'
…d code will be visible
…and 'colorize...' checkbox
it just triggers a bunch of warning
7dede00
to
cf64413
Compare
What it does
Add coloring to the stack frames of the debug thread view and add an action to enable/disable colorization from the context menu.
All of the categorize can be switched on or off
Use separate images for different stack frame categories.
How to test
Start debugging an application - notice, that the stack frames in the debug thread view are colorful, so it is much easier to find the user code, the test methods etc...
Author checklist