Hello,
I simply opened my project, and as soon as my mouse was over a space, it showed the annoying hint everyone seems to be getting. I didn't wait at all on a space, it just displayed it right away. And now it is hiding part of this page. =P I even get two of them, but the second one disappears after a while. (yay! still turned it off)
Also, I noticed something strange. I don't think C::B parses the files as it should for code completion. Here's the folder architecture:
include
SDL
SDL.h
SDL_video.h
...
#include <SDL/SDL.h>
What I see:- variables/constants + functions + preprocessor symbols[SDL.h]
- preprocessor symbols[files included by SDL.h]
What I don't but should see:- variables/constants + functions [files included by SDL.h]
It seems like it is recursive only for preprocessor symbols.
Hope I gave enough details.
-- Wolf --
There is something even stranger about the parser. I've been developing a small project (Hangman) + a small framework on top of SDL + STL for some time now, and I've been using Code::Blocks, because I do intend to make my program available on gcc-enabled os-es. Today I was using the build from 17th July, not 18th, so I'll speak about it. I've risen the question of cc's search depth and was ensured that it was recursive and only the "finding of files" was the problem. The parser has truly evolved this week, I'm impressed. But there are some illogical things about it. For example:
1) I use MSYS + MinGW as a compiler set (mingw being placed in the recommended %msys_root%/mingw dir)
2) My SDL headers are in the usual directory for a windows install (%msys_root%/include/SDL)
The bug (?)
...
#include <SDL/SDL.h>
...
namespace Hangman {
...
SDL_Surface* example = NULL;
... // load / create the surface
Uint32 encodedColour = SDL_MapRGB(example->format, 0, 0xff, 0xff); // <===
...
}
Here we have all kinds of suggestions, but not format. Ok, I'm used to Kate's approach to "code completion", so it's not a problem to remember things. However, I'm failing to understand why the hell it doesn't have the whole list of suggestions. If it were a #define, it wouldn't be parsed at all (furthermore, I don't see it realized as a #define...). There are suggestions, so it IS parsed. Then, why not the whole list of members?
Bug (?) #2
The default "function" completion. Whenever (I don't know if it actually reproduces itself every single time, but it is reproducible this way) an opening bracket "(" is typed and there is no default argument list (that is, there is no function declared before that moment with the given name), a "default" parameter list is evoked. It is identical to to tool-tip "bug" list. That is why I think they are closely related. The problem is: this is truly annoying. If I type "...main(", the list is evoked. If I type "if (", "while (", or any other keyword (which makes me think the parser can't fully tell a keyword apart from identifier, let alone function/keyword) the same default function argument list is evoked.
Bug (?) #3
Local variables aren't truly "local". I mean, sometimes I have a local member-function variable called (e.g.) result. As far as I'm aware, this is neither c++, nor c keyword. Bah, this doesn't matter, as this occurs with any local variable. So, I have my variable in one function and then I use the same name in another (this happens even when they are in different files 0_o), it is auto-completed (in the list of suggestions). This gets even more interesting: scope seems to be a fierce adversary. I use heavily SDL_Color. This is a structure with four 8-bit integers, named r, g, b and unused. Well, I noticed that there was something strange with "unused", so I typed it without "m_clr." ... and guess what? It was in the list of suggested items. Truly amazing.
Well, I can't think of more weird things about Code::Blocks, but, hell, it's late and I'm supposed to be getting early this morning!
Cheers, and keep up the good work!