User forums > Using Code::Blocks
Code Hinting but not Completion
pieman:
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:
--- Code: ---float radiusBase;
float radiusMiddle;
float radiusTip;
float radiusMidRatio;
float radiusVariation;
float tropismA1;
float tropismB1;
float tropismA2;
float tropismB2;
--- End code ---
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:
--- Code: ---float tropismA1;
float tropismA2;
float tropismB1;
float tropismB2;
--- End code ---
If I continue to type, 'tropismA', then it will adapt to:
--- Code: ---float tropismA1;
float tropismA2;
--- End code ---
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
pieman:
bump
Unworthy of reply? Well, my core question was:
--- Quote --- 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)?
--- End quote ---
Please at least answer that question. I'm not sure if this option exists, though there's a possibility it may and I haven't found it.
Thank you! :)
BlueHazzard:
i personally need more the space without the log window instead of a other window what suggest things, that can be showed in a little window, which disappear when it is not needed, in a big clumsy window.... (strange sentence, i should go to bed...) . But if you can provide a patch (or better a plugin (it should be a lot easier to use the cc sdk after the integration of alphas patches)) i would take a look on it.
You can disable code completion: Settings->Editor->Code completion->Disable code completion
good night (morning)
pieman:
I'd prefer a "Symbols list" tab embedded into the logs frame. I switch between log-tabs frequently and use F2 to hide it whenever it's entirely too cumbersome. I've decided I'm not going to develop any plugins for Code::Blocks. Sorry. I'm practicing a personal paradigm and -- until I've established it in a lucid way (after a year or two's time) -- I don't want to mush it with other nasty horrendous substrates which will inescapably develop in my mind's corners after working with other programmer's 'make-a-class-for-everything' jizz. (OCD thing)
If someone like my ideas, they may implement them; but if nobody else does -- they won't get implemented.
scarphin:
There is a 'symbol list' tab in the 'project manager' I think if that's what you are looking for. ;/
Navigation
[0] Message Index
[#] Next page
Go to full version