BLIde 0.7.1 available

BlitzMax Forums/BlitzMax Programming/BLIde 0.7.1 available

ziggy(Posted 2006) [#1]
Hi, BLIde version 0.7.1 is available for free to all BlitzMax windows users. For newcomers, BLIde is a free IDE (Integrated development environment) for BlitzMax.

This is the changelog



FIXED: A bug that was freezing BLIde sometimes, when user was declaring a TYPE, GLOBAL or FUNCTION.

FIXED: Open brackets indicator now ignore comments

FIXED: Open brackets indicator now understands multi-line declarations

FIXED: Console lag caused by threads priority

FIXED: .bak files generation now works as spected in the preferences dialog

FIXED: There was a scope bug with intelisense (thanks Tiger)

IMPROVED: Autolist generation (a little bit faster)

NEW FEATURE: Bug-line is now hilighted in a semi-transparent way, so it's compatible with any color scheme

NEW FEATURE: First 100% working PlugIn engine (SDK is in alpha state, but will be released soon, as it's very stable)

FIXED: Console was switching black/white when it received data

NEW FEATURE: Build as BLIde PlugIn now generates native BLIde PlugIns. You will have to wait for the release of the SDK to use this option properly.

NEW: There are some very little and stupid PlugIns included. those PlugIns are there just for testing. Try them out.

FIXED: AutoList Shortcuts assignation window, now conforms BLIde standards

FIXED: F1 now treats selected text as spected

NEW FEATURE: Intelisense now handles the 'self' keyword, depending on scope

NEW INTELISENSE SYSTEM: The new intelisense system handles all data-type tracking for types with fields and functions returning types. This is due a new self-recursive implementation of the intelisense system. I've been working on this for months and, finaly, it's out! :D BLIde has now a super precise intelisense algorithm, and it provides much more information, allowing complex inheritance tracking

NEW Reorganization of the pannels to make BLIde look less bloated

NEW FEATURE: The local shortcuts are automaticaly updated. You don't need to 'Refresh local shortcuts' any more.

NEW FEATURE: Audio preview (This new feature works as a front-end of a BlitzMax audio player, sources of his player are included to let you add any sound format handled by your BlitzMax installation)

FIXED: There was a bug in the Self-Defined keywords recognition algorithm, that was disabling self-defined keywords hilighting. this bug was really not happening usualy, but has been fixed.

NEW FEATURE: When declaring a new function, type, etc, and it generates a new keyword, the keyword is hilighted in the declaration code line.

FIXED: There were some missing keywords in the 'learning module's keywords' algorithm

NEW FEATURE: Level 2 start-up caché, ultra fast load when the caché is created. (4 secs on my laptop, with official modules and Irrbmax)

FIXED: The ; character was not treated properly by the KeyWord processor, now it has been fixed

NEW FEATURE: The Find and Replace dialog, now resets its contents when the window is closed and reopened

NEW FEATURE: The find and replace dialog, now assumes ENTER key press, as a FIND button click

NEW UTILITY: BLIde Recovery Utility. This is a little application that 'resets' all BLIde configuration, and leaves BLIde in the state it was when it was used for first time.

NEW FEATURE: Automatic module builder. If you're coding a module, BLIde will detect it, and will build the module, instead of generating a EXE. To activate module building, just place your code in the apropiate folder, and Build your program. You'll get the module compiled

NEW FEATURE: Project-oriented building.
Now BLIde has improved from application oriented development to Project oriented development. This means that BLIde now can generate several executables and modules from the the current opened project. This big change has introduced several changes in the way BLIde handles things. Here you have the most important changes:
-Additional files are now named 'Additional media files'
-All the references to 'Application' have been changed to 'Project'
-The New application dialog has been rewritten, and now it's named 'New Project wizard'
-There's a new dialog called 'Project Manager' that let's you decide the build order of the entire project, and add or remove programs to the project.
-bmx files can't be opened as projects. Only BLIde files are considered projects. Anyway, you can open and create single bmx files, edit them and compile them, in the same way you would do in the official IDE.

NEW FEATURE: BLIde files and bmx files doesn't need to have the same name any more, and they can be stored in separate folders

FIXED: Bug when opening the 'Define editor colors and look' dialog, when no project was loaded. An sception was thrown.

FIXED:Problem with the lists. Multiple declarations of Globals in a single line, inside a TYPE was not treated as spected by the intelisense system.

FIXED: Configuration settings were not saved properly from the First run configuration wizard.

NEW FEATURE: BLide now shows parameter information for Methods and functions

Stnderror not processing correctly some Non-BlitzMax Standar error and debug information, this has been solved to let BLIde support external DLLs with a debug engine. (SOW library for example)

FIXED: Error reading dependant files when a project was containing an already opened BMX file



you can download the IDE for free at http://www.blide.org

Remember you will need the .net framework 1.1 to run BLIde. If you have (only) .net framework 2.0, you will need to install also .net 1.1 (they are compatible and can be installed in the same computer without any problem). You'll find a link to the .net 1.1 in the blide website.

For BLIde users, this update introduces several changes and improvements in application/project handling. Take a look to the documentation.

PLEASE, UNINSTALL AND DELETE FOLDER OF ANY PREVIOUS VERSION OF BLIDE BEFORE UPDATING TO 0.7.1


Why0Why(Posted 2006) [#2]
Awesome! Thanks for the continued work. I only use BLide now.


Jake L.(Posted 2006) [#3]
You saved my day!

Where can I get some docs/infos about the IDE commands (for developing plugins) ?


ziggy(Posted 2006) [#4]
Thanks!
The BLIde SDK is not yet released, it will be available next week (If everything goes as spected). With the SDK you'll get a module with all functionalituy integrated. (the module source code will be also be included)


Cajun17(Posted 2006) [#5]
Nice job ziggy.


R0B0T0(Posted 2006) [#6]
Wow!


H&K(Posted 2006) [#7]
Hi Ziggy,

Good Work.

1) The instaler crashes when it trys to put the program into the start menu (It has installed just not crated the prgram group)

2) If You have a comma in a Rem on the same line as a Field declare, Blide then includes whatever is after the , as a field


ziggy(Posted 2006) [#8]
@H&K:

1) I'll fix it :D Has anybodyelse have the same crash as H&K when installing BLIde? It's very strange, I'll take a look...

2) It's a stupid small bug in the intelisense parser. It doesn't take in consideration comments in field declarations. It doesn't affect BLIde performance or stability, I'll arrange it soon.


ozak(Posted 2006) [#9]
I get the following exception after upgrading when I run the app: (A quick press on continue allows execution to continue though.)

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at Compona.SourceCode.Pattern..ctor(String pattern, Boolean iscomplex)
   at TheFactoryBlitzIde.MainForm.CreateComponaKeywords()
   at TheFactoryBlitzIde.MainForm.MainForm_Activated(Object sender, EventArgs e)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnActivated(EventArgs e)
   at System.Windows.Forms.Form.set_Active(Boolean value)
   at System.Windows.Forms.Form.WmActivate(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


And a few needed fixes!

- Optimize startup. Going through the modules even with cache is quite slow when there's very complex modules in the path.

- Stop calling the shortcut The factory.ws. Call it Blide so I won't have to rename it :)


Smurftra(Posted 2006) [#10]
I never got blide to show any Parameters of methods or functions. Seems it doesnt work at all for me. Is there somethign special i must do?

Also

When completing the field of a type, you overwrite the user's text which is bad:

ex:

Type Test
Field One
Field Two
End Type

If i type Test. you show me One, Two, if i type Three (a field i havent created yet but know i will as soon as i finish typing that) and press space bar to continue typing, you overwrite it was Two, erasing what i just typed


GfK(Posted 2006) [#11]
Couple of things:

First, I'd recommend you click on "Rerun Configuration wizard" if you've had an older version of BLIde installed. This new version was all over the place until I did (for instance, Edit menu was completely blank).

Second, there's a really irritating bug in this version.

If you open up the function list (click on the Functions node), as soon as you start typing, it closes again!

I found that turning off the "Autolearn" option kind of solves this problem... but next time I run BLIde, Autolearn switches itself back on. I don't even know what Autolearn does. There's a really long tooltip but I don't get time to read it all before it goes off.


Tiger(Posted 2006) [#12]
Thanks for all the hard work, I always use blide.
As Gfk ask, what does 'Autolearn' do??

Thanks again!!


Jake L.(Posted 2006) [#13]
Blide IS my one and only editor, too. In fact, before buying BMax I looked around for a good IDE I could use. Found Blide, got happy ;)

I've found no problems with the new version until now. Only a typo - in the compiler options-window it should be DebuGGer, shouldn't it?


ziggy(Posted 2006) [#14]
@Ozak: Could you please tell me wich modules are you using? I think there must be a parsing error. What modules was being processed when you get this error window?

@Smurfra: You may see the function declaration (parameters included) in the quick info area, at the botton of the editor window.

@Gfk: Autolearn is the engine that reads what you're typing, to generate the localshortcuts list, and the inheritance self-defined types system, that create the autolists. Setting this off, some functionality gets lost, as instance, the automatic refreshing of the local shortcuts list. I'll try to make a system to keep the local shortcuts updated without rebuilding the treeview (that is the reason why the tree gets closed again, it's rebuilded). I'll arrange this.

If anyone of you are having problems running BLIde after updating to version 0.7.1, run the application Blide Recovery Utility. This will act as a FRESH installation of BLIde.


ziggy(Posted 2006) [#15]
There's a bug in the NEW project wizard. The wizard starts from the last page, please click the Back < button untill you see the first page of the wizard, to create a new project. I'll fix this as soon as possible (maybe tomorrow)


H&K(Posted 2006) [#16]
@Ziggy I wondered about that

Another, not important thing. If you have a '#Region without a '#End Region, when you close all regions/functions, the cursor jumps to the top of the listing, and when you scroll down to the region, it jumps back to the start. (Once I realize my error I just expanded the listing, and added the Endregion, but I dont thing its the behavior you wanted)

And Why does it think 2 and 4 are commands (Syntax colouring)


Dreamora(Posted 2006) [#17]
Opening the project manager without generating a project first leads to similar error collections as the new project wizard.


Sean Doherty(Posted 2006) [#18]
Ziggy,

There seems to be issues with building and complile. When I try to compile using the toolbar command build it produces errors that are not there and sometimes it doesn't build at all.

However, if I Build Only from the menu it compiles properly?

Thanks


Matt McFarland(Posted 2006) [#19]
I can't start a new project!!!!

Everytime I start a project it starts at the end of the wizard and I click finish and then it crashes saying it can't open the file (because it doesnt exist!!)

I tried reinstalling it, I even checked folder permissions, and I reran the recovery tool.. I can't get this to work! :( I can load old projects, but can't make a new one :(


EDIT: NEVERMIND I JUST SAW YOUR POST ZIGGY! You have to click BACK a bunch of times :-O

PS: Thanks for the really good IDE :-) BLIDE stomps all over MaxIDE and its not even 1.0.


ziggy(Posted 2006) [#20]
@Sean, can you please give more information about this building errors? do they happen always? What do you mean errors that there aren't?

@Matt and Dreamora: I'll make and update with this fixed tomorrow


ziggy(Posted 2006) [#21]
Double post


Sean Doherty(Posted 2006) [#22]
Ziggy,

1) Here is a valid line of code:

Local test:Int = 4

2) If changed it to an invalid line of code and it still compiles fine with the Build (control f5 icon):

Local test:IntThatIsNot = 4

3) Then I use the Build and Run Current Program Icon (f6) and I get an error.

4) Then I change it back to:

Local test:Int = 4

5) Compile with the Build Icon (control f5) and I still get an error.

6) then use the Build and Run Current Program Icon (f6) and it compiles fine.

Not that I am not actually using the function keys I just mentioned then so you can tell which option I'm using from the tooltips.

Thanks


Dreamora(Posted 2006) [#23]
Debug tree still is bugged.
The first entry of an array (or any array chunk if more than 10 elements) isn't showing up.


H&K(Posted 2006) [#24]
Request.

Maybe this is already there, but how do I make Debug the default build? (Ie when I start BLide it starts in debug)


Sean Doherty(Posted 2006) [#25]
Request.

Don't make debug the default build. Sorry:)


2nd Request.

Only expand the incbin files if you actually press the + key. At present, the list expands if you click the file.


H&K(Posted 2006) [#26]
@Sean I asked for the ability to make it the default build, which you could simply not use if you wanted the default build not to be debug


Sean Doherty(Posted 2006) [#27]
The debug build is quite a bit slower. Also, as a result of the way max deals with try, catch, and throw it actually crashes if you catch an error while in debug (something along those lines I can't remember off hand).

Maybe you could make it an option for people to set in the settings.


H&K(Posted 2006) [#28]
@Sean, Thats what I asked for the "Ability" ie an option to make it so.

And I must say, you must be a very confident programmer if you are recomending not useing debug. If I did that, it would probably work, but when I made a debug build I would findout Id been using unallocated memory and stuff.


Sean Doherty(Posted 2006) [#29]
@H&K

I don't recommend for other people not use the debug as a best practice. However, I would probably recommend that you program in release mode and only switch to debug when you have a problem.

I'm not following what your telling me about only seeing unallocated memory in debug mode? If you try to access unallocated memory in release mode the application should throw and error which you can catch?

What are you saying you can see in debug mode?

Yes, I'm confident in my abilitiy to debug code. This comes from many Years of programming in multiple languages: C, C++, ASM, VB6, VB.Net, C#, ASP, VB6 Com. Many of the languages didn't really have any ways to other than raising errors.

At present, I'm a Development Manager a team of .Net developers. So a lot of the code I actually write these days is in max.:)


H&K(Posted 2006) [#30]
@Ziggy Sorry to have "Stolen" your thread ;)

@Sean

Type TBase
	Field FOne:Int =3
'---------------------------------------------
Function Create:TBase ()
	Local 	Temp:TBase 	= New TBase
		Temp.FOne		= 1
	Return Temp
End Function
EndType
'----------------------------------------------
Type TExtend	Extends TBase
Field FTwo:Int=4
'---------------------------------------------
Function Create:TExtend ()
		Local	Temp:TExtend	= New TExtend
				Temp.FTwo		= 2
		Return Temp
	End Function
End Type

Global mine:TBase	= TBase.Create()
Print mine.FOne
Global newmine:TExtend	= TExtend(mine)
Print mine.FOne
Print newmine.FOne+","+newmine.FTwo
mine.FOne:+999
newmine.FOne:+ 1
Print mine.FOne
Print newmine.FOne+","+newmine.FTwo

Run this in release and it works. But realy its not working, run in Debug to find out. This sort od thing can happen all the time if you are not "Dios de Blitz". No change that, it happens all the time if you are me ;(


Sean Doherty(Posted 2006) [#31]
Thread split (Debugging in max) is here:

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

Please continue to post you comments, issues, and questions about Blide in this thread.

Blide Rules...