| Summary: | usability issues with the symbol viewer plugin | ||
|---|---|---|---|
| Product: | [Applications] kdevelop | Reporter: | Jan Pavlicek <jan.pavlicek> |
| Component: | UI: general | Assignee: | kdevelop-bugs-null |
| Status: | REPORTED --- | ||
| Severity: | wishlist | CC: | alexander, mail |
| Priority: | NOR | Keywords: | junior-jobs |
| Version First Reported In: | 5.1.0 | ||
| Target Milestone: | --- | ||
| Platform: | unspecified | ||
| OS: | Unspecified | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | Visual comparsion of Kate's Symbol list vs KDevelop outline in PHP project | ||
|
Description
Jan Pavlicek
2017-04-04 09:41:10 UTC
Screenshot please so we know what we're talking about :) Created attachment 104864 [details]
Visual comparsion of Kate's Symbol list vs KDevelop outline in PHP project
Added screenshot comparison of both panels
I don't think we should do that. Instead, let's fix our symbol list so that it is better usable. Our symbol list has a better data source (actual parser vs. some pattern matching) and we shouldn't have the same feature twice. @Steven Brauch - well, that would of course be even better :-) rhe ability to display the current class (if there is only one class in a file, which is the case for almost all modern PHP application and defined in PSR standards) as a base level without the need to traverse namespaces and the ability to display method and property names with their original case would be great. Thank you very much for your attention to this! +1. Options to improve the situation: - Expand all nodes by default? I think that's feasible and useful. I don't think it will ever end up in a performance bottle-neck. - Fix kdev-php so it doesn't lowercase all the symbols (why does it do that?!) To write down the lowercase problem here (discussed in IRC), the symbols are all stored in lowercase in the DUChain, because PHP is case-insensitive, and I don't think you can reasonably build a case-insensitive version of IndexedString. Difficult issue, actually. :/ we also store the non-lowercased version in special PHP classes, we just need a way to use those in place of the non-lowercased versions by introducing a new virtual in Declaration that gets overloaded. This is actually a long-standing bug which also affects quickopen and the outline afaik. |