I first learned to program using a tool known as Game Maker. :D
Rather than the popular 'code completion' model I'll find in most IDE's, Game Maker's built-in code editor (Game Maker 5 and 6) had a panel below which was similar to code completion behavior, but integrated into a symbol-browsing format. It would instantly adapt its filtering towards the current symbol at the user's textual cursor. This was nice because I could click on a function (or 'script') call within the textual code editor and see whether it has remained valid over the course of a project's needs (and so on). If I wanted to use an extended function, it'd be easy to see the arguments once again and begin elaborating on whatever parameters I initially needed. I prefer this because it can operate in instantaneity (without any delay) and it's not intrusive. I think traditional code completion really breaks my flow. If you already know a symbol's name, it can be annoying to see random crap flicker around and sometimes replace whatever you were typing if you don't type it fast enough. Maybe I'm stupid, but that's what happens to me; I find it intrusive and annoying. I don't mind the overlay itself too much, but is there an option to disable the completion aspect (i.e. it won't replace whatever you're typing) and keep the useful hint to confirm whether I identified a symbol correctly (the popup overlay)? Also, I really prefer static interface elements over dynamic rubbish.
Now, I think it'd be nice to have a Game Maker-like symbols option which integrates the symbols browser into a tab on the logs pane and immediately adapts its filtering to where-ever the textual cursor is at.
Example:
float radiusBase;
float radiusMiddle;
float radiusTip;
float radiusMidRatio;
float radiusVariation;
float tropismA1;
float tropismB1;
float tropismA2;
float tropismB2;
If I type 'tropis' in text insertion mode, the textual cursor will be at the end of 'tropis|' and so the logs-integrated adaptive symbols pane will show:
float tropismA1;
float tropismA2;
float tropismB1;
float tropismB2;
If I continue to type, 'tropismA', then it will adapt to:
float tropismA1;
float tropismA2;
It won't become intrusive, so I'll just be able to glance down to ensure I typed it correctly. It may also help remind me how to complete whatever I'm typing.
Now consider a function like this: 'void Cheese(int a, int b = 0)'
If I've only used the first parameter, then if ever I come to need the second, I can simply notch my text-cursor anywhere within/adjacent to the function call, like 'Che|ese(25)', 'Cheese(2|5)', 'Cheese(25|)' or 'Cheese(25)|' and the heads-up-display-type symbols browser will hint:
'void Cheese(int a, int b = 0)'
That's just a small suggestion. I hope you consider providing it as an optional feature. ;D