/*
Codeblocks SVN 3677
Windows XP
First, i'll say, that Code::Blocks is a really nice and useful IDE, many thanks for that. But...
Code completion and symbols browser seems to be incomplete, buggy and to slow for bigger projects if
'All workspace symbols' is selected in symbols browser. Ok, it's possible to select 'Current File'
therefore.
I created a little source for explanation uses, please see below. There you will find a typedef TSimple,
this is NOT shown in the opened symbols browser. If i try to type 'tSimple.' followed by ctrl-space,
code completion won't work. The nearly same struct S_simple and class CSimple are working fine with
completion and browser.
Ok, typing tSimple = 4711; by hand... compile, all looks good. Now, delete the 't' from struct<<.
Compile... many errors are shown... and the upper symbols browsers window is EMPTY! The lower pane still
shows my U_INT typedef.
Correct the source, compile... no errors and still NOTHING in symbols browser window. I clicked arround a
while, no positive result. The only way to get the symbols displayed again is to close Code:Blocks and
reopen it.
I enclosed the struct SSimple in #if 0 ... #endif. Saved the file, compiled it... CSimple is shown
in symbols browser anyway. I've checked the code completion settings 'parse preprosessor directives'
is set.
During the development of the little source below, i've had the missing symbols problem more than
ten times. Furthermore, after closing and reopen the Codeblocks, the size of the symbols browser
window is lost, i have to resize it.
It's not possible to fade out the symbols browser window via Menue->View->Symbols Browser.
In my opinion code completion and symbol browser are very important tools. I hope, that this problems
will be fixed in near future. Is someone working in this area?
Regards,
jomeggs
*/
#include <stdio.h>
typedef unsigned int U_INT;
typedef unsigned int U_INT2;
class CSimple
{
public:
int nBlub;
int nBlah;
char szMyString[20];
};
#if 0
struct SSimple
{
int nBlub;
int nBlah;
};
#endif
typedef struct
{
int nBlub;
int nBlah;
char szMyString[20];
}TSimple;
void MyGlobalFunc( void )
{
return;
};
void MyGlobalFunc( int nBlah )
{
return;
};
int main()
{
TSimple tSimple;
tSimple.nBlah = 4711;
#if 0
SSimple sSimple;
sSimple.nBlub = 4712;
#endif
CSimple clSimple;
clSimple.nBlah = 4713;
return 0;
}