Developer forums (C::B DEVELOPMENT STRICTLY!) > CodeCompletion redesign

Code Completion & Workspace

<< < (2/7) > >>

ollydbg:

--- Quote from: oBFusCATed on May 02, 2011, 10:05:22 pm ---The is "Maximum allowed parsers", option, have you tried to increase it?
Loaden, Ollydbg: what is the purpose of this option?

--- End quote ---
this value=n means keep the latest nth c::b projects' symbol databases in memory. the older ones will be removed. One database for each c::b project.

If you select "Forced to use 1 parser per whole workspace" option, this means all the c::b projects' symbol under the current workspace will be stored in one symbol databases.

seb_seb0:
So, I have tried different settings:

  max parser = 1: the problem is not corrected , even after waiting 20 minutes. Even worse, Code::Blocks crashes (I forgot to copy a RPT file from my work computer. However, the crash occured when I switched files in the editor by clicking on a tab. The RPT shows several calls to codecompletion::onplugindetach (do not remember the exact name).

  max parser = 2 : same as for max parser = 5 (my default setting)

  max parser = 10 : no improvement as well

I have noticed as well several things that may help you:
  1 - the symbol browser displays all symbols, and when I use it to jump to declaration or implementation of a method, it works all the time (yeah !)
       When I said "list" in my original post, I was speaking about the popup list appearing while typing
  2 - the failure occurs only when I use the context menu in the editor, and selecting "Find Declaration" or "Find Implementation". I get the message "Not found : function name"
  3 - the problem occurs for derived class from pure virtual class (A is virtual and declares the interface, B derives from A and implements the interface.)
       Consider this:
 

--- Code: ---class A
{
    public:
      A();
      ~A();
      virtual void DoSomething(void) = 0; //interface
};

class B : public class A
{
     public:
       B();
       ~B();
       virtual void DoSomething(void) {}; //implementation
};

void AFunction(A* pPointer)
{
     pPointer->DoSomething(); //no tooltip here, no suggestion when typing "->", no parameter lists
};

--- End code ---

    4 - all my classes are defined in a namespace. In the symbol browser, if I select "View all local symbols (workspace)", only symbols from the active project appear, even if I select "1 parser" or "force 1 parser per workspace"
         If I select "everything", then all symbols appear, including the one defined in my libs.

I hope it will help you to solve the problem.

Sebastien

EDIT: I still cannot get a minimal example workspace displaying the problem. There is probably a problem of too many symbols, or there is a function somewhere which break the codecompletion. I will try to simplify my workspace and see if I can narrow down the problem to a manageable size

ollydbg:
answer 3:

It seem both suggestion list and call tip works fine in your test code, see the screen shot below:



and

oBFusCATed:
Ollydbg, you should put A, B, AFunction in different projects.

ollydbg:

--- Quote from: oBFusCATed on May 04, 2011, 08:38:53 am ---Ollydbg, you should put A, B, AFunction in different projects.

--- End quote ---
it works fine.
I just got some time to separate "A", "B", and "AFunction" in three cbp, and only allow one tokenstree for the whole workspace.
And I can have "DoSomething" in the auto suggestion list after "pPointer->". :D

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version