News:

The new Release 25.03 is out! You can download binaries for Windows and many major Linux distros here .

Main Menu

(Minor) improvement of CodeCompletion?

Started by MortenMacFly, October 25, 2005, 11:23:09 AM

Previous topic - Next topic

takeshimiya

#15
I researched the other day for heavy full real open source C++ parsers and found more or less this:

Synopsis
Developed for the Synopsis autodoc generation app.

Elsa
Elsa can parse most C++ "in the wild". It has been tested with some notable large programs, including Mozilla, Qt, ACE, and itself.

ANTLR C++/CodeStore
Modified a little this open-source multi-platform IDE: VCFBuilder.
ANTLR is one of the most popular and well know parser generators out there.

Assist++
Developed for this another open-source cross-platform IDE: Ultimate++.


And these C/C++ pre-processor parsers:

ucpp
Wave


All of the parsers mentioned uses Abstact Syntax Trees.
The best ones seems to be ANTLR and Elsa.

Ctags is not a C++ parser, and doesn't have the same functionality, so it would belong to another plugin.

anonuser

Gotcha, but nice work, now do you know how hard it would be to make a plugin that would take advantage of those engines?

takeshimiya

I don't think it would be really hard, all those parsers are written in good C++.
I compiled ANTLR (CodeStore) importing a MSVC workspace in C::B and it compiled almost out-of-the-box. Didn't tried the others yet.

I would like to know what do you guys think about what's best path:
-Modify the actual CodeCompletion plugin to use one of these parsers.
-Try to improve the current C::B parser.
-Create a new CodeCompletion plugin for one of these parsers, thus having two CodeCompletion plugins in the meantime.

anonuser

I'd think rip out the current code completion plugin and rewrite using one of thses parsers.
Add in some cool features like
argument highlighting.

A major improvment would to make sure the the popup for code completion has no window border.

Pressing tab to complete would also rock.


MortenMacFly

Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

anonuser

After you ctrl+space you need to press enter to complete. Why not tab?

mmkider

But CTRL+Space   had to be using another   purpose     in non-english ctiy.

anonuser

pardon?
I'm talking about confirming auto-completion with tab as well as enter that way you can ctrl+space then press tab to confirm. Its just something I've picked up in other development platforms (codeforge, eclipse +CDT, Visual Studio)