Developer forums (C::B DEVELOPMENT STRICTLY!) > CodeCompletion redesign
Redesign
aerea:
Hi all,
I would like to begin redesigning the Code Completion plugin. I use Codeblocks frequently and find this a severely limiting feature when compared to Visual Studio (as well as the lack of support for background color options, but that's another topic). Has anyone already began this, or would it be appreciated if I started?
ollydbg:
Great!
I'm happy to hear that someone want to redesign it. But it seems a bit complicated. I have write a little wiki page about the current architecture, but not sure it can help. :D
MortenMacFly:
--- Quote from: aerea on May 17, 2009, 12:27:50 pm ---Has anyone already began this, or would it be appreciated if I started?
--- End quote ---
Not really, but internally we are already using a heavily modified version of CC. Hence this requires the wxAUI branch to work so it's not published officially. Hence any help is welcome. CC (even modified) still needs improvement. So if you are willing to work on the wxAUI branch I can provide you with the patch / modified sources.
aerea:
Alright, well, I've begun development. I figured I'd spin in circles in the beginning since I've never done any CodeBlocks plugin development before, so I just started off as I created a library which I can link to later.
I'm starting off from scratch using ANTLR to parse the grammar. I'm working with the C preprocessor now since I understand macros and defines are a huge shortfall. I'll be populating a tree structure that can be walked through the GUI side. I envision something like this:
CC has two components: A Parser and Data storage functions. The GUI calls the CC library with a pointer to a memory buffer and pointer to store resulting tree data. If the GUI exits, the tree data can be saved outright to a file and reopened later; if a file is changed, every file that references the changed file is reprocessed in the background. This way, large projects only need to be parsed once. If there is no data found on startup, n different threads will each parse the files (likely configurable). Any other ideas?
I can tokenize the C++, but I need to actually store everything and get it to interact with the preprocessor (i.e. #ifndefs).
In cases where I can sacrifice a bit of memory for speed, I have.
Just a warning: I work full-time, so it's unlikely everything'll be done next week :-).
oBFusCATed:
/OFF
--- Quote from: MortenMacFly on May 18, 2009, 08:37:55 am ---Not really, but internally we are already using a heavily modified version of CC. Hence this requires the wxAUI branch to work so it's not published officially. Hence any help is welcome. CC (even modified) still needs improvement. So if you are willing to work on the wxAUI branch I can provide you with the patch / modified sources.
--- End quote ---
Is there more info (TODO, thread, plan) about the wxAUI branch?
/OFF
Navigation
[0] Message Index
[#] Next page
Go to full version