MaxIDE Community Edition (2)

BlitzMax Forums/BlitzMax Module Tweaks/MaxIDE Community Edition (2)

skidracer(Posted 2006) [#1]
If you are looking for more features for the BlitzMax IDE or have already extended your own version and would like to share your enhancements please visit:

http://sourceforge.net/projects/blitzmax-ide/

Previous Thread



Amon(Posted 2006) [#2]
Just want to say to you guys to keep up the good work. I actually prefer the MaxIDE over BLIde because it's simple and isn't annoying to use.

Good work. :)


tonyg(Posted 2006) [#3]
Bmax 1.14 Community IDE bug
File / New
Paste something into the new window.
File / Save then Cancel.
Bmax crashes with no error messages.
If you type into the new window save/cancel is OK.
Believe this has only started since the latest syncmods.
Default IDE is OK.


Mark Tiffany(Posted 2006) [#4]
Can anyone else reproduce this? It seems fine here on Windows - maybe Mac / Linux specific?


tonyg(Posted 2006) [#5]
Hmmm... Fails on my laptop's W2K but not WinXp Sp2.


Mark Tiffany(Posted 2006) [#6]
I wonder if requestfile returns something different under 2k than xp? That's the only thing I can think of that could cause such an error...but even so, why did it used to work in the original IDE?!?


Perturbatio(Posted 2006) [#7]
I can't reproduce it on my PC, I don't know anyone that still uses win2k so can't test it on that.


Hummelpups(Posted 2006) [#8]
The new version is fine, thanks.
Jeha, the Projectfolder works now.

IMurDOOM


Grisu(Posted 2006) [#9]
Could not reproduce the crash bug, winxp here.


grable(Posted 2006) [#10]
Ive modified the BMK utility and the IDE to support a future Preprocessing utility, if anyone is interested.

(i used GCC as a template but its not realy suited for the job)

Note that the changes to the IDE needs the modifications to BMK since it handles all imports and stuff.

BTW! great job on the IDE guys! =)

EDIT: heres the patch and pre-compiled BMK binary for windows http://grable.cjb.net/files/maxide_preprocessing.rar


Mark Tiffany(Posted 2006) [#11]
I was thinking that it would be good to add pre-processing. I was thinking along the lines of having an option in the IDE to choose an alternate program that could then itself do what it needed to, or possibly run one program, then bmk as normal. Will take a look at what you've done in the next few days.

tonyg - any chance you could try out a sample using RequestFile on 2000/XP ? Even just the simple one in the help, to see if ok / cancel return the same in xp / 2000 ? And does it definitely only happen in our IDE and not the BRL version on 2000 ? I can't think what we've changed to cause this, especially how it could be platform specific...


grable(Posted 2006) [#12]
Mark Tiffany:
thats partialy what it does, but it hands the job of executing the PPC program over to BMK since it allready does the work of parsing each file for imports and compiling them, i just hook it in before it runs BCC.

ive allso made a prelimenary preprocessor for BlitzMax but its not fully tested yet.
heres a beta for those who want to try it out http://grable.cjb.net/files/bmxppc.rar | http://grable.cjb.net/files/bmxppc_tester.exe

EDIT: and for those who cant/wont compile heres precompiled versions of the IDE,BMK,BMXPPC http://grable.cjb.net/files/bmxppc_pack.rar =)


Difference(Posted 2006) [#13]
I was thinking that it would be good to add pre-processing. I was thinking along the lines of having an option in the IDE to choose an alternate program that could then itself do what it needed to, or possibly run one program, then bmk as normal.


How about this:

Make an option in the IDE to add Preproccesor programs. The list of Preproccesors should have an option to change the order of the programs.

The rule then is:

First program on the list gets passed the commandline that is normally sent to BMK.
The preprocceor does what it needs to do, and passes the command line back to the IDE.
The IDE calls the next program in the list.
When all programs have been called, the IDE calls BMK.

The programs can choose to modify the commandline (f.ex. point to a new set of files) or just return the unmodified line to the IDE.

This way we don't need a special version of BMK, and simple tasks like version control, buildcount etc. can be done without too much work.


ozak(Posted 2006) [#14]
The number one thing that makes me use blide (which is a bit bloated compared to MaxIDE IMHO) is that it has function collapsing. This is the singlemost usefull feature since class and implementation are in the same file. (just as java. same feature handiness here)
After that code completion on CTRL-Space like in other editors.
Preprocessing would be nice too :)


grable(Posted 2006) [#15]
First program on the list gets passed the commandline that is normally sent to BMK.
The preprocceor does what it needs to do, and passes the command line back to the IDE.
The IDE calls the next program in the list.
When all programs have been called, the IDE calls BMK.


to do this you would have to remake parts of BMK into the ide , since BMK does a alot of work IMO.


tonyg(Posted 2006) [#16]
tonyg - any chance you could try out a sample ...

Downloaded 1.15beta and don't get a problem.


Difference(Posted 2006) [#17]

to do this you would have to remake parts of BMK into the ide , since BMK does a alot of work IMO.

@garble: Could you please explain what you mean?


Mark Tiffany(Posted 2006) [#18]
After that code completion on CTRL-Space like in other editors.

Already there in the 1.15betas, sorry, I can't recall the key whilst at work, ctrl-space?
I totally agree on function folding, but that could take a while. I suspect BLIde had it "easy" with a standard .net control - we'll have to roll our own...
Downloaded 1.15beta and don't get a problem
Cool, thanks for the update, I'll stop worrying about this one.
Make an option in the IDE to add Preproccesor programs. The list of Preproccesors should have an option to change the order of the programs.

Yup, that's my preferred route, although given that grable's actually done this, I'm very interested in understanding why this would need bits of BMK to be brought into the IDE, and what bits exactly.

I'll pop a new version of the EXE up later, as there's a couple of fixes (mainly around auto-indent), plus I've added "auto-tidy" which spaces out your code like Visual Studio does to make it more readable (and yes, there is an option to turn it off).


grable(Posted 2006) [#19]
Could you please explain what you mean?


BMK finds all imports and checks whether they should be recompiled or not, and allso handles c/c++ and other relevant imports. so in that regard BMK does little work, but passes real jobs over to other programs only when it needs to.

its not all that much work, but we have the BMK source so why reimplement it?


Mark Tiffany(Posted 2006) [#20]
My aversion to touching bmk is that while people will fairly happily install a new IDE, installing a new bmk utility might put people off. At the moment, installation is a simple EXE copied to the 'max folder...

I do understand the argument about existing bmk checks for re-compilation, and that it does C code too. But can't think of a neat way out of this conundrum...I'll just go back to a bit of coding for now and see if a brainwave hits me...


Wellmt(Posted 2006) [#21]
I'm sure this is a low priority, but the help system under Linux is unusable due to formatting issues. Does anyone know if it's on the radar?

Also it'd be useful if the source to betas was released so that people on non-windows platforms could try them out.

Thanks and keep up the good work.


Mark Tiffany(Posted 2006) [#22]
The source is freely available in the CVS through an anonymous login. I was hoping to post a "final" version 1.15 soon though, but I've just found a couple of evil bugs that I can't track down. Anyone else getting the following (and ideas how to fix?)?

open IDE. edit file. save file. goto IDE options. save. huh? my unedited file is now edited...

The other nasty one is that I introduced a bug with my auto-tidy code - oops, sorry - undoing after an auto-tidy has weird results...


Wellmt(Posted 2006) [#23]
Thanks Mark. One other stupid question - and feel free to point me in the right direction - How is the To Do tab supposed to work in the IDE? How to I insert something into the To Do or Bug list?


grable(Posted 2006) [#24]
put them in comments, like this:
'TODO: add more stuff
'BUG: this sucks
'FIX: fix this


;)


tonyg(Posted 2006) [#25]
Hmm. I have the 'paste crash' problem on my WinXp system using 1.14 Community IDE.
Scenario...
1) Start Bmax and file / new
2) Copy some code from website. In this case...
here with the 'Method Colision' code posted 19th Jan 23:20.
3) Paste into Bmax.
4) Click Bmax IDE window and crash.
I won't do anything until I hear whether I should just upgrade or whether you want more info.


Wellmt(Posted 2006) [#26]
Cheers grable!


tonyg(Posted 2006) [#27]
I won't do anything until I hear whether I should just upgrade or whether you want more info.


Ok, reverted to standard IDE.


Mark Tiffany(Posted 2006) [#28]
I get no crash here using the latest codebase, and I can't think of anything that changed that much since the last beta that would fix this. could you try downloading the latest 1.15beta if you haven't already?

Also, could you explain what you mean by step 4 - is this just clicking anywhere in the app?


Mark Tiffany(Posted 2006) [#29]
open IDE. edit file. save file. goto IDE options. save. huh? my unedited file is now edited...

The other nasty one is that I introduced a bug with my auto-tidy code - oops, sorry - undoing after an auto-tidy has weird results...

By the way, I fixed the first bug above - turns out it's a problem with the existing IDE too - but not the latter. I need to nail that before I put up a new build.


Mark Tiffany(Posted 2006) [#30]
Anyone using the 1.15beta Community Editions of the IDE and installing the 1.16 may be best off using the BRL IDE once with 1.16 and synchronising modules in there first, then re-installing the CE IDE.

There are two reasons:

1) On Mac you sometimes need to do a "ranlib" on the directory. The original IDE has a (very nasty, and not foolproof) way of spotting an upgraded version of Max and automatically doing this for you. The CE version currently does not do this for you

2) On all platforms, the IDE tries to spot an upgrade (using the same hacky mechanism) and forces a full build (not a Quick build) on your first compilation. If you use quick build, then you may get caught out with funny errors until you do a full build. Note that even in the old IDE, this only worked for your first compile after upgrade - it pays no attention to *what* you are compiling, so was pretty naff. Hence the CE IDE doesn't (yet) try to support this.

Still trying to fix the dodgy undo problem before posting a new 1.15 version, I hope to get this sorted in the next couple of days.


Mark Tiffany(Posted 2006) [#31]
Problems with undo are now fixed, I have posted a new version on the SourceForge site.

Once I've written a little 1.14 to 1.15 options conversion routine, I'll pop this up as a formal 1.15 release. Anyone want to volunteer to build a Mac / Linux version? (My Linux pc is a little distressed right now!)


Eikon(Posted 2006) [#32]
There's been a mem leak in the last few betas. IDE is currently taking up 56,000KB in the taskmanager. The switch focus from output feature is also broken unless I exit my program with stop from the toolbar


Mark Tiffany(Posted 2006) [#33]
Thanks, will take a look at the mem leak - any clues as to where the problem might be?

Also, what do you mean by switch focus from output? It sounds like you're saying that when compiling and running a program, the IDE won't let you switch tabs until it's ended? Sounds odd, and I'm 95% sure I can do that "here" - at work so can't check right now.

I've been trying to get things up and running on Linux, and although it does now compile and run, there seem to be a fair few issues which are probably more down to failings of Max on Linux than the code on Linux. I think...


Eikon(Posted 2006) [#34]
Thanks, will take a look at the mem leak - any clues as to where the problem might be?
Not really. I'm not unloading and reloading files often. I run my system for long stretches of time, the IDE was open for about a week with 4 moderate size files open, and the source was compiled probably 1,000 times or more during that time frame. The mem leak has occured about 5 times since I've started using the betas.

Also, what do you mean by switch focus from output? It sounds like you're saying that when compiling and running a program, the IDE won't let you switch tabs until it's ended? Sounds odd, and I'm 95% sure I can do that "here" - at work so can't check right now.
I'm talking about the "Hide output when complete" feature. In the old IDE, if you exited your program from the program itself, not just the stop function, it would restore focus from output to your source. Another problem is that the check mark for the hide output option in the ide options window is locked in place. Clicking it does not toggle the checkmark, it remains checked.


Cajun17(Posted 2006) [#35]
I'm having trouble accessing the CVS. I've tried using tortoise CVS and WinCVS, but both come back with the response that access is denied and I can't login as anonymous and then it asks me for a password. I've read the help for both clients and the sourceforge generichelp and help about both the clients specificly.

Something may be wrong with sourceforge because I also can't use their CVS web client, but I figured I'd mention it here.

Any suggestions/info?


Beaker(Posted 2006) [#36]
Does this IDE version have the same problems as the default one when using Ctrl+V (paste) in the Save Dialog box? ie. it overwrites your sourcecode. :/


dmaz(Posted 2006) [#37]
[edit]auth problem seems to now be fixed.

it seems the anonymous user's password was changed or something else is broke. I was able to log in just fine on Friday but haven't been able to all day today.

C:\> cvs -d:pserver:anonymous@...
sroot/blitzmax-ide login
Logging in to :pserver:anonymous@...
CVS password:
cvs [login aborted]: authorization failed: server cvs.sourceforge.net rejected a
ccess to /cvsroot/blitzmax-ide for user anonymous


Difference(Posted 2006) [#38]
Does this IDE version have the same problems as the default one when using Ctrl+V (paste) in the Save Dialog box? ie. it overwrites your sourcecode. :/

Beaker: Yes, I think so. Check out Mark Tiffanys posts here:
http://www.blitzbasic.com/Community/posts.php?topic=55866
http://www.blitzbasic.com/Community/posts.php?topic=56724

[EDIT] : What I ment to say was that I think both IDEs have the problem and that BLR needs to fix it.


dmaz(Posted 2006) [#39]
ok, the current CVS version seems to be broken... (beta 4) I had to change many of the superstricts back to strict to get it to compile. once I did that I found that there are a bunch of little things wrong.

Anybody know the status of that project. I would like to join and help out.


Mark Tiffany(Posted 2006) [#40]
Does this IDE version have the same problems as the default one when using Ctrl+V (paste) in the Save Dialog box? ie. it overwrites your sourcecode. :/


I haven't been able to reproduce this problem at all here, and a very quick scan of the code didn't show anything obvious. Maybe someone with the problem could take a look at the source?

Actually, I think Peter's got it (although I did realise myself, then click on the links above, honest!). Menu hotkeys in Bmax over-ride ALL other windows. So what's happening is that the Ctrl-V when in the requester is being passed back to the main window, hence it overwrites the source. It's a reported 'max bug, not a bug in the code I'm afraid!

ok, the current CVS version seems to be broken... (beta 4) I had to change many of the superstricts back to strict to get it to compile. once I did that I found that there are a bunch of little things wrong.


It works here. What version of 'max are you on? I'm on 1.16 and all syncmodded up.

Anybody know the status of that project. I would like to join and help out.

I'm sgtbilko on sourceforge, and pretty much the main contributor so far. Once you're up and running with the current code base, we'll see what we can do...


dmaz(Posted 2006) [#41]
poop... I installed 1.16 over the old one instead of deleting. just checked the compiler directly, I'm not on 1.16. downloading and installing now...

"I'm sgtbilko..."
yeah, I actually email you before I saw this.

gotta leave right now so I won't be able to test until tonight.


dmaz(Posted 2006) [#42]
that was it, it functions as it should.


Mark Tiffany(Posted 2006) [#43]
If you do a syncmods, and build the source code, you will find that the copy and paste in requesters bug is now fixed (thanks skid). I'll post an EXE soon for those unable to compile the code themselves.


RiK(Posted 2006) [#44]
The latest download from the sourceforge project is windows binary only. Any chance of either a current source or an up to date mac binary?


dmaz(Posted 2006) [#45]
Mark, I've been spending some time on a couple of bugs but I haven't yet killed them... Should I upload the block comment and bookmarking code without those fixes?


dmaz(Posted 2006) [#46]
I did find one of the bugs I was looking for... I will push those changes up in a couple of hours.


Mark Tiffany(Posted 2006) [#47]
dmaz, go ahead, put them in the CVS, I'll check them out and try to rebuild tonight, if not then by the weekend.

RiK, the very latest source is always available for download from the CVS under an anonymous login.

I do tend to agree that it would be nice to have a packaged version of the latest source for people to download without accessing the CVS. I may look into what we can do in this regard...I'm thinking that an overnight script can be run to extract the CVS contents and package them up into a tar or zip on a nightly basis - I just need to work out how!


tonyg(Posted 2006) [#48]
At what point (if at all) will any of the Community IDE features and fixes be released into the core IDE?


Mark Tiffany(Posted 2006) [#49]
As I understand it, the CE changes will not be backed into the core IDE. Even now, there are probably sufficient changes to the code that it would be difficult for skid to copy & paste any single fix into the original code.

I don't speak for BRL, but I would guess that the official IDE will in the main only receive bug fixes. If you want extra features, you will need to use an alternative IDE of your choice - hopefully the CE version!

Personally, I would like to see the CE version distributed (or at least mentioned / linked to an optional download post install) with the official download, although I doubt that will happen (as it would give the impression that BRL endorse / support the CE version in some way).


Boiled Sweets(Posted 2006) [#50]


RiK, the very latest source is always available for download from the CVS under an anonymous login.



Who do I do this - it said unknown user. I would be willing to help develop this...


Chris C(Posted 2006) [#51]
whats the status with this project, is it *far* more usable than the "official" ide if not why not?

more coders contributing should make brl unable to keep up is it because some one is insisting on solutions that work on all three platforms without letting one platform get ahead which would stimulate the other platforms...

can we have a feature list thats what this project does but the standard ide cant....


Mark Tiffany(Posted 2006) [#52]
New stuff compared to the standard IDE
* Auto-complete
* Auto-Tidy code
* Structured Language Reference
* Todo lists
* Existing project manager on own tab
* Block Comment / Uncomment
* Back and Forward work in the code tab
* Improved Home behaviour
* In-built syncing with known extra modules
* Bookmarks

Bugs Fixed:
* Ctrl-Tab does what it should
* Paste in requesters
* Some highlighting bugs fixed
* Auto-indent, tabbing, block tabbing bugs fixed
* Other miscellaneous bugs fixed

Pending:
* Continue button added (done, just need to check it in)
* Help links to versions & release notes
* Improved About box (distinguishes IDE version from bmx version)

Although there have been some excellent contributions from others, I'm the main contributor. And as I don't have much time, that doesn't add up to a lot. I'd love to see a few more people involved, but the existing codebase is rather confusing for newcomers, especially if you don't fully get the whole OO thing.

As for the cross-platform thing, I do think it is important that the CE IDE remain cross-platform. I'd love to add code folding, etc, and an obvious candidate might be scintilla - but that's Mac & Win only, not linux - so not a great idea.

If anyone wants to contribute, take a look at the link below for access to the latest code

http://sourceforge.net/cvs/?group_id=154065


Pit-le-rouge(Posted 2006) [#53]
Hi Marc,

I don't see any Mac version binaries on source forge.

Of course, I can try to compile it but I think that Max GUI is needed, isn't it ?
Is there any trial version of MaxGui ? In this case, I can try to compile.

Cheers


Mark Tiffany(Posted 2006) [#54]
I'm afraid I don't have a Mac, and yes, you do need MaxGUI to do a build. There's no Linux build either, as I'm on gcc4, so any build I did wouldn't be very compatible...


d-bug(Posted 2006) [#55]
Hi Mark,

check out this side, there is a Linux version of Scintilla too. Still wondering why you don't checked it until now. ;)

cheers


Mark Tiffany(Posted 2006) [#56]
Sorry, I meant scintilla is Linux and Win only - there's no Mac version, hence not cross-platform...

Also, the Linux version is based on GTK+, and Max uses FLTK, and I'm not convinced we could make them coexist???

I have been thinking about rolling our own recently, but if I'm going to use the textarea (and I really would prefer not to have to recode all that it does provide myself), I desperately need at least the ability to find out the scroll position of it. While I could probably find API code to do this on Windows, it's also not cross-platform, which was the point of avoiding scintilla...

If I ever manage to neatly separate the object structure such that a scintilla based or maxgui based codepanel can be shown in the editor, that might be a better way to work round the issue...


Pit-le-rouge(Posted 2006) [#57]
Hi All.

I bought the MaxGui !
So, now, I'm able to compile MaxIde on my Mac.
But, problem, on source forge, for the last release, I just find the .exe for windows.
Is it possible to provide also the source code ???
So, I will be able to compile it on my Mac...


Yan(Posted 2006) [#58]
The latest source is always available from the CVS repository...

https://sourceforge.net/cvs/?group_id=154065

You'll also find instructions on how to use CVS (if you're unfamiliar with it).


d-bug(Posted 2006) [#59]
I've got a bug at the Codeparser or something...

There was a string in my code wich contains some language-based (don't know the right word for this. In german it's 'Umlaute') chars. At a point I can't remember, all those chars where deleted from code....

cheers


Byteemoz(Posted 2006) [#60]
Hi, Mark.

I font a bug/incompatibility in the auto-tidy module:
The compiler doesn't accept spaces in "empty' multi-dimensional array declarations.
Local array[,,] ' OK
Local array[ , , ] ' error

The new auto-tidy-code does not add spaces between square-brackets and commas:

maxide.bmx , line 1323


-- Byteemoz


Mark Tiffany(Posted 2006) [#61]
I think this is more a bug in the compiler, although I recognise it means the IDE currently will try to encourage broken code!


Byteemoz(Posted 2006) [#62]
Hi, I just finished my all-purpose BlitzMax lexer/tokenizer and I'm currently rewriting the TBMXCodePanel.GetNode() Method to use it. (It also could be used to improve AutoTidy, AutoIndent or other code-related methods.)

Since I'm quite unfamiliar with the whole CVS/group-coding thing: How can I contribute without messing other peoples stuff up?

-- Byteemoz


Mark Tiffany(Posted 2006) [#63]
First up, you need to make sure that you are using the latest version of the source: anyone can check this out of the CVS under anonymous login, and I am assuming you have done this already. (If not, do it now! There's instructions on SF.net)

If you want to join as a developer, you need to sign up on SF.net and get an account. Then I think the process is to email me with your id / name on SF.net and I will grant you access to the project. I'm assuming that you have installed a CVS tool (I use TortoiseCVS) to get the latest source, you will just need to set up your account info in that tool once I've added you to the project and you should be ready to roll. Again, there are instructions on SF.net for all of this.

There are very few updates per week, so it's unlikely you'll end up with any conflicts, so hopefully you won't have to understand merging etc.

Feel free to email me if you have any issues getting up and running. You can also drop me an email with source if you want, although I'd prefer it if you did sign-up. I'm away over the bank holiday (camping in the wonderful UK weather!), so if you sign up in the next 24 hours, I should be able to sort you out before I go.


Byteemoz(Posted 2006) [#64]
Great, thanks!
With "messing up" I meant things like different development goals, coding style or so...

-- Byteemoz

PS.: My account data is on the way.


GfK(Posted 2006) [#65]
Anyone got a compiled version?

The latest one on Sourceforge is dated January 2006.


Mark Tiffany(Posted 2006) [#66]
I've been waiting on the fixes to textarea before doing another compile. I now just need to fix one little bug in block comment / undo and I'll do another full compile.


GfK(Posted 2006) [#67]
Does it include autolists for easier selection of functions/methods when using types etc?


Mark Tiffany(Posted 2006) [#68]
Not as yet - command completion is just for Blitz commands at the moment, but I would like to add this at some point. There is a new parser in the works, so I don't want to go messing with too many extra features until we plug that in.


Mark Tiffany(Posted 2006) [#69]
The latest version (1.15) of the Community Edition IDE for BlitzMax has been released. This update includes the following improvements over version 1.14:
+ Bookmarks
+ ToDo Lists
+ Auto-complete on Blitz commands
+ Auto-Tidy
+ Block comment / uncomment
+ Improved options
+ Improved help structure
+ Improved syntax highlighting
+ Continue button when in debug
+ Various code editing improvements
+ Numerous fixes

At present there are two file releases: Win32 binary and a source package. Get them here:

http://sourceforge.net/projects/blitzmax-ide/

Any volunteers who have MaxGUI and a Mac or Linux, please compile a version and email to me and I will post these too.


Byteemoz(Posted 2006) [#70]
I've sent you the Linux build.
--Byteemoz


Mark Tiffany(Posted 2006) [#71]
The Linux build is up (thanks Byteemoz) - built on Ubuntu 5.10.

I've also renamed the win32 filename to make things alittle clearer - i386 could mean anything now!


boomboom(Posted 2006) [#72]
Could we have Folding? and also, middle clicking the page tabs closes the page?


Yan(Posted 2006) [#73]
@boomboom - It's probably best to add feature requests here


WildStorm(Posted 2007) [#74]
what's about the help page? since the docs were changed in 1.26 (i think), i cannot see em at all :(


Abrexxes(Posted 2007) [#75]
Here is your topic with a 2.0 beta version. ;)

http://www.blitzbasic.com/Community/posts.php?topic=66944