godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.14k stars 95 forks source link

Allow selecting empty space in the Debugger > Errors panel to deselect all lines #5134

Open Flynsarmy opened 2 years ago

Flynsarmy commented 2 years ago

Describe the project you are working on

I wrote GDScript poorly and got what I deserved.

Describe the problem or limitation you are having in your project

With the default theme in Godot 3.5 Stable, if you click on an error in the Debugger's Errors tab, the line you clicked on highlights and it's difficult to read the error through the highlight colour.

image

It's feels even worse in other built-in themes such as Arc: image

Describe the feature / enhancement and how it helps to overcome the problem or limitation

I propose altering the default colours or highlight colours to make errors more readable.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

Either by adding a hover colour option to editor themes (or changing the existing colour if it's already an option) and ensuring it's good with all colours regularly displayed in the Errors tab, or enforcing minimum contrasts. I'm not sure the best approach.

If this enhancement will not be used often, can it be worked around with a few lines of script?

People get errors all the time. I hope. It can't just be me right?

Is there a reason why this should be core and not an add-on in the asset library?

The default experience is very important and as a basic usability issue, this isn't something that an addon should fix.

Calinou commented 2 years ago

It makes sense to allow deselecting lines, but I assume this is a Tree behavior that is only allowed when multi-selection is also allowed. For comparison, you can deselect all nodes by clicing empty space in the Scene tree dock.

Since selecting multiple lines at once in the Debugger > Errors panel at once doesn't make sense, I'm not sure if this behavior can be changed. I've tried calling error_tree->set_allow_reselect(true) here to no avail.

The second part of this issue is already tracked in https://github.com/godotengine/godot/issues/62951. This is actually a bug in Tree; the background highlight shouldn't be displayed twice.