Code::Blocks Forums

Developer forums (C::B DEVELOPMENT STRICTLY!) => Development => CodeCompletion redesign => Topic started by: henrya2 on October 28, 2009, 04:30:56 pm

Title: CodeCompletion in Codelite is very powerful.
Post by: henrya2 on October 28, 2009, 04:30:56 pm
CodeCompletion in Codelite is very powerful. It is just like Visual C++ 6 plus VisualAssitX.

Hope its feature can be ported to Code::Blocks.
Title: Re: CodeCompletion in Codelite is very powerful.
Post by: ollydbg on October 28, 2009, 04:45:15 pm
CodeCompletion in Codelite is very powerful. It is just like Visual C++ 6 plus VisualAssitX.

Hope its feature can be ported to Code::Blocks.
I haven't tried too much in Codelite, but as I know, Codelite use the Ctags as a service to collect Tokens.
Also, Lex and Yacc based parser to collect locally tokens to do the "code completion" suggestion. Hopefully eranif ( author of Codelite) can help us a lot.  :D

Edit:

see here

http://forums.codeblocks.org/index.php/topic,10087.msg70875.html#msg70875
Title: Re: CodeCompletion in Codelite is very powerful.
Post by: blueshake on October 29, 2009, 01:05:36 am
But it seems that codelite can not parse template and do macro replacement too.
Title: Re: CodeCompletion in Codelite is very powerful.
Post by: mmkider on October 29, 2009, 04:14:22 am
CodeCompletion in Codelite is very powerful. It is just like Visual C++ 6 plus VisualAssitX.

Hope its feature can be ported to Code::Blocks.


I think function name can be rendered  color in the codelite.
But In the codeblocks, it's not.
Title: Re: CodeCompletion in Codelite is very powerful.
Post by: eranif on October 29, 2009, 05:30:37 am
But it seems that codelite can not parse template and do macro replacement too.
You are partially correct about the macro replacement, codelite has a limited capability in this area (similar to codeblocks I believe, it can only perform simple replacements of macros, but it can NOT evaluate if a macro is defined or not)

However, regarding the template, well you are wrong here. codelite can handle templates up to a certain degree.
I dont use templates much, since I think that templates are evil. But codelite *can* handle them (at least it can handle the ones I have wrote).

For example, codelite can not handle the STL templates, but it can handle the boost templates pretty well, plus some support for operator overloading (especially -> operator), for example:
(http://codelite.org/tmp_images/codelite_boost.png)

Eran
Title: Re: CodeCompletion in Codelite is very powerful.
Post by: blueshake on October 29, 2009, 06:56:43 am
But it seems that codelite can not parse template and do macro replacement too.
You are partially correct about the macro replacement, codelite has a limited capability in this area (similar to codeblocks I believe, it can only perform simple replacements of macros, but it can NOT evaluate if a macro is defined or not)

However, regarding the template, well you are wrong here. codelite can handle templates up to a certain degree.
I dont use templates much, since I think that templates are evil. But codelite *can* handle them (at least it can handle the ones I have wrote).

For example, codelite can not handle the STL templates, but it can handle the boost templates pretty well, plus some support for operator overloading (especially -> operator), for example:
(http://codelite.org/tmp_images/codelite_boost.png)

Eran


Seem powerful than codeblock's codecompletion.
Title: Re: CodeCompletion in Codelite is very powerful.
Post by: blueshake on October 29, 2009, 07:01:49 am
CodeCompletion in Codelite is very powerful. It is just like Visual C++ 6 plus VisualAssitX.

Hope its feature can be ported to Code::Blocks.


I think function name can be rendered  color in the codelite.
But In the codeblocks, it's not.


I want the function name can be rendered color too.Just don't know how to implement this.
for example.
I define a funciton "abc" and not save the file.So the parser didn't know this(abc) is a function name until I save the file.It seems that the parser must have the ability to parse the file in a real time(once I add any chars to the file, it (parser) must reparse the file).