Re: 5.2.4 impression
Matthew Woehlke <[email protected]> Wed, 8 May 2019 14:24:21 -0400
| Newsgroups | gmane.comp.kde.users.kdevelop |
|---|---|
| Message-ID | <[email protected]> |
On 03/04/2019 05.50, Aleksey Midenkov wrote: > 5.2.4 became much more stable. That's a great thing! Thanks, guys! > > But it's still not production-level stable [...] it tries to parse > preprocessor directives, but does it incorrectly (not all syntax is > covered). I doubt very much that it does so "incorrectly", unless you mean "not the way I want it to". KDevelop 5 uses clang on the back-end for code parsing, which means it's going to parse your code exactly the way a compiler will parse your code. (Because... that's what it's *doing*; using a real, full-fledged compiler to parse your code.) About the only times I've seen this "fail" are where clang and GCC behave differently. Yes, this is inconvenient in the sense that some code may not be parsed, but the alternative is for the KDevelop authors to spend all their time (and seriously, I *mean* **all** their time) trying to keep up with the fast pace of modern C++ in order to produce a poor quality code parser. KDevelop 4 did that (back *before* C++ development "took off"), and, trust me, having used both, the KDevelop 5 approach is *much* better. > So, please, concentrate on more polishing the basic functionality and > do less new features. Please, test on large sources other than > KDE/KDevelop. I use KDevelop at work, on fairly large code bases. It works great and rarely crashes (though I do occasionally see it crash when a whole lot of files change at once, i.e. git branch switch). Overall I am very happy with its basic functionality. If you are seeing problems, I suggest reporting specific bugs instead of ranting that "it's still not production-level stable", because that doesn't seem to match most users' experience. (Heck, I've been using KDevelop "in production" since sometime 4.x.) > And add an option to not follow preprocessor directives: just parse > whole source. You could try to talk to the clang developers about this; otherwise I don't see it happening. > Please do jump to *declaration body*, not *forward declaration*. Huh? What is a "declaration body"? Do you mean "definition"? You already *can* jump to a definition (if KDevelop knows where it is, which requires the definition to be part of a loaded project). Again, if this isn't working, please give specific, reproducible examples rather than wild accusations. -- Matthew