This is round up some of keys development points of the ongoing IDE replacement project. You can participate in this discussion via becoming a member on our forums.
Round up from ALPHA 0.20 to 0.28b
IDE VIDEO - 20K Line Plus Build Speed Test
This clip is of new IDE we've been working on for the PlayBasic programming family. The version shown here is early _alpha_, so while the styling will no doubt change, the core functionality is evolving daily. Some of the features of the new IDE and the PlayBasic compiler, are the speed of compile times as programs get larger, which is what this video is demoing.
In this clip we create a mock up program that's over 23,000 lines of code long by including four slabs of (basically useless) test code in a project. The code doesn't do anything interesting, what we're looking at here is the build speed from the IDE, and overall compile time . How fast is it ? - You'll have to watch the video
PlayBasic IDE Alternative V0.22d - All The Shiny Things
The F1 HELP feature was expanded during this revision, it can now identify most of the basic code fragments (operators, literals, keywords ), allowing you to press F1 and get a more in tuned response.
IDE Alpha V0.26b - Auto Parameter Prompting
This dropped in pretty easily, even though this version has some hard coded short cuts in it, but the concept works. What's missing is the there's no real expression level parsing in this version, so it can't resolve the parent command if the expression has bracket layers and the cursor is beyond them. Not a big deal, just couldn't be bothered spending time on that up front as i wanted to see how well it work, and it seems to work ok.
What you'll notice now is the IDE doesn't need to be persuaded to show a built in command/function parameters, it'll do this automatically for you. This is bound to be a bit of culture shock for some people, but it'll make learning much easier for others. Now you can just load up a source and click on any command that has parameters and it'll show you right there and then, without needing to the hit a menu or any special key combo. Which should make learning a lot easier.
IDE Alpha V0.27a - Parameter Indexing in Parameter prompts
Had a few days off the IDE to focus on other tidbits, some PB stuff some external stuff. Obviously when working on PB stuff, I'm using the new IDE more and more. While it might still be alpha, but much of the big 'fall over' issues seems to have been tweaked up now, making writing code much easier. Anyway i digress, so during last update the auto parameter prompting was added. The first addition sees the parser looking at first parent keyword in the expression and just assuming that's the command/function you within. Which works, providing there's not a mix of function calls as parameters.
So this would work
ShadeBox 0,0,800,600,c1,c2,c3,c4
but this wouldn't
ShadeBox 0,0,800,600,Rgb(255,0,0),c2, |c3,c4
if you positioned the cursor in front of the C3 parameter (like above), the old routine would ID the RGB() function as parent function, when you're clearly editing the parameters of ShadeBox and not RGB.
So what the IDE has to do is parse this expression looking for the real parent command/function and give the parameter Index back to the rendering engine, which is what today's edition is able to do. What it can't do yet, is show this new information visually by highlighting the Parameter you're within. But that's the plan.. Should be doable.
IDE Alpha V0.27c
Alpha V0.27c rounds out the auto parameter tip feature with the inclusion of the parameter indexing within the expression. Which just means that it can work out where you are within the command/functions parameters and show it to you. There's a bit of an issue with the tips clipping width from time to time, but that's cosmetic.
Most of the changes this time around have been fleshing out some of the existing functionality. Stuff like the IDE now keeps track of the document changes so that CLOSE PROJECT can prompt upon closing. If the document hasn't changed it shouldn't prompt you. Dunno how reliable that actually is at this point though. Apart from that, there's the usual round of bugs and tweaks.
The main thing about this release though, would be the shift from one of caution, to something that's pretty stable. In fact i'm yet to have any saving issues (code mangling) and very few crashes while editing. That's not to suggest it's 100%, I highly doubt it, more that your less and less likely to hit issues now.
Project Status: This edition is considered tentatively stable. You're still advised to use caution (Ie. back up your source codes first) when using it with your projects.
IDE V0.28b Moves Into Public Beta
Revision 0.28b continues the clean up process with and bugs and tweaks, the main change is how rendering is handled. In this version, redraw is handled separate from the action. You can set the refresh rate through the SETTINGS dialog, using the Interval setting near the bottom. The setting is the number of ticks between refresh pulses. The redraw process doesn't have anything to do with the input process. The default redraw setting is about 40 ticks (from memory), which makes for a potential of (1000/40) =25 redraws per second. You can set it lower or higher. The smaller the value the higher the number of potential redraws, but it's limited at around 16 ticks (62 fps)
What this does is it decouples the rendering from the input process, so speed of the redraw doesn't get in the way of the things like dragging the viewport when scrolling and the user can't flood the redraw with requests.
Anyway, this doesn't mean the end of the ALPHA testing, the process will be generally geared toward Alpha testing, with beta releases at key points.
The beta is available on the UW maintenance board.