Code::Blocks Forums
Developer forums (C::B DEVELOPMENT STRICTLY!) => Development => CodeCompletion redesign => Topic started by: Raindog on November 03, 2006, 10:26:00 pm
-
Have you guys noticed the changes to that? It looks like it would be really powerful and worthwhile converting to work with CB
http://wiki.eclipse.org/index.php/CDT/designs/PDOM/Lifecycle
-
Your link make me browse their wiki, and it seems like that eclipse is using the same approach as I suggested ctags (with a little tweaks) + database.
have a look here:
http://wiki.eclipse.org/index.php/CDT/designs/PDOM/History (http://wiki.eclipse.org/index.php/CDT/designs/PDOM/History)
-Eran
-
That's good because the last time I used CDT code completion is was super slow, basically unusable.
-
It looks like they at one time used CTAGS but stopped using it because it had the same limitations as mentioned in this forum.
-
It looks like they at one time used CTAGS but stopped using it because it had the same limitations as mentioned in this forum.
And if you keep reading, they started to use it again ;)
-
They later said that they needed a new indexer strategy. Also, based on some video they produced, it lead me to believe that they have a complete code completion strategy that is not befuddled by macros.
-
eclipse still uses ctags
the new strategy is to implement indexers as plugins , which will allow users to choose different indexer for different projects.
There are pros and cons for ctags, macros are one of them, but can be handled, event microsoft intellisense is not prefect and doing some basic mistakes (he cant parse wxWidgets properly as well)
in overall, i think there are more pros then cons, but hey thats me
Eran
-
ctags is unbeatable in performance respects, it's a good overall parser and yes it haves some limitations, but I'm optimistic and I think those can be handled perfectly with the flex bits;
additionally, if that's not enough we can always plug in ucpp (http://pornin.nerim.net/ucpp/) or boost wave (http://www.codeproject.com/cpp/wave_preprocessor.asp) for macro pre-processing