Finally, after almost 1.5 years of development, here is the first public beta of IDEal - IDE for Blitz. I hope that you will like it, because I put a lot of hard work in it's development... Just as the name implies, IDEal is meant to be ideal editor for blitz programmers... I set myself a goal to release it by the end of 2006, so here it is, one day after deadline :)
The most advanced features of IDEal :
1. IDEal is FAST, really fast.. besides all the advanced features, IDEal IMHO is the fastest blitz editor.
- Loading time of the IDE - 1-1.5 seconds, depends on the current layout, number of userlibs etc..
- Loading, Parsing and Highlighting of the file with 15000 lines of code - 1 second ! ( on P4 2.4Ghz, 1GB RAM, Win XP )... Files with 2000-3000 lines of code are opened instantly.
2. REAL-TIME STRICT emulation - IDEal will highlight ( default in RED color ) all undeclared/misspelled variables immediately as you type !
Missed/ unmatched braces are also highlighted as bad. Many syntax errors will be immediately visible also !

3. Powerful highlighting and parsing engine, additionally to keywords, numbers , separators... will recognize and highlight inbuilt functions, globals, locals, labels - all of them can have separate font/style/color ! So , no need to create decls files anymore (except for DLL's) . Just include your library in the project and IDEal will recognize all functions, global variables, constants, labels... and color them as you like. They will also be included in autolists and intellisense.

4. Totally customizable.. you can fully customize menus, toolbars, layout, but most importantly, you can customize context menu and all shortcuts. You can even customize
basic commands like Line down, line up, new line etc. :) There are also plenty of options to customize editor behavior.
5. Advanced Smart Project wide intellisense for types/fields. Intellisense lists will popup automatically, and they will offer ONLY fields that are valid for that keyword/variable/function !
example: If you type 'Goto' list will popup with only labels , or after keywords like 'New' , 'Each' , 'Object' ... list will popup with only types... after "type" variables, it will offer only fields that belong to that type etc.
6. Advanced smart autocomplete system... IMHO Autocomplete is essential coding help, but many programmers don't use it because it is annoying popup most of the time. Now, in IDEal , you can really control how autocomplete works, when to popup, what to popup etc. so it can be your best friend which will drastically reduce typing time and chances for typing errors !
And, most importantly, autocomplete can include all your inbuilt functions, labels, variables and constants ! Project wide of course.
It is also smart, so in some particular function, it will include Local variables only from that function ! It also won't show up if there is no need for that - for example after 'Global' keyword.
- You can limit the minimum number of characters needed for autocomplete window to popup.. so it won't popup on short words like If, For, End etc.
- You can limit autocomplete to popup only when there is no more than X matches in the list, so it won't popup and offer 50 matches that begins with 'a' when you type just 'a'
- You can limit length of the words that will show in the list, so short words like If, Then, End, For, Next ( which are easier to type then to choose from the list ) won't be unnecessary included in the list
Example : If you have several variables like LongVariableNameX , you can limit the minimum length of words to be 10 and choose autocomplete to not include blitz keywords, then after typing just 'L' you can manually invoke autocomplete list which will offer only your variables that has names longer than 10 characters and begins with 'L' .
As in this example, you can set your autocomplete to be invoked manually or automatically as you type. You can also choose FillUp characters ( those that will complete the word automatically ) and Stop chars ( those that will immediately hide the autolist ).
7. Advanced AutoIndent system will fully autoindent code as you type ! This will reduce the number of TAB presses several times :)
Example:
For i=1 to 10
For k=1 to 5
a=a+1
Next
Next
For the above code, you don't need to press tab even once ! Just type the lines and IDEal will increase/decrease indent automatically.
Additionally, files can be autoindented automatically on load, you can autoindent blocks of code, and of course, you can switch to standard simple autoindenting seen in other editors.
8. Powerful auto correct of variable/function casing - When you change variable casing in it's declaration, IDEal will change casing of all occurrences in whole project, not only the newly created ones.
Example: If you have 'Global Myvariablename=1" and change that to "Global MyVariableName=1" , ALL occurrences of Myvariablename will be immediately changed to MyVariableName .
9. Unlimited number of compilers - you can define as many compiler / versions of compiler in IDEal as you like. Each opened file can have different compiler and you can switch between compilers almost in no time.
Example : You can install ten different versions of B3D ( lets say 1.77, 1.83, 1.89... 1.95 ) and compile your code with anyone of them in a matter of seconds - no need to reinstall different versions of B3D just to see if your code will work with some other version or not... Of course, same applies for B+ and old B2D
10. Instant( realtime ) function help with parameter highlighting - no need to call help, help tips appears in status bar automatically when cursor is over function/parameter
Function /parameter help additionally can also be opened as calltips in small window below current edited line.

11. Code Browser - Multiple levels Code browser will allow you to go to Previous/Next position and works globally, i.e. positions can be in different files. You can customize it's behavior, default to remember position whenever you edit something
Example: Type something, Scroll to some line, type something, Jump to some definition, type something there, then again jump to definition, and the go back, then again back, then again back to the first position ! From there you can again just go Next, Next, Next and you will be again to the last position ...
Code Browser will speed up your moving across your project and decrease the need for bookmarks.
12. HotCodes - HotCode is abbreviation for longer, aka 'real' code, you can define as many as you like and you can expand hotcodes to 'real' code with shortcut.
example : type SBBB press shortcut and SBBB will instantly be replaced with SetBuffer BackBuffer()
HotCodes are very useful for longer Variable/Functions names : type MLV, press CTRL+ENTER ( default shortcut ) and you get MyLongVariableName ( or whatever you defined for 'MLV')
HotCodes can be as short as one char and replacement i.e. real code can be as long as you like, including whole function for example...
Of course, you can edit HotCodes, Assign HotCode for selection etc. You must agree that this can accelerate typing a lot ! Using abbreviations also reduces number of typing mistakes.
13.. Layouts ( aka perspectives ) - save and restore different layouts with just a key press, like for example - you can switch between all docking windows open and full screen editor layout with just a keypress.
14. IDEal will remember all bookmarks and folding states of files when you close them, so the next time files will be opened in exact same state, i.e. with bookmarks, lines that were folded will be folded again etc. So, no need for everytime to FOLD/UNFOLD certain functions or add bookmarks... Additionally, last used compiler, last used command line is also remembered... IDEal embed those info in the file itself, so it won't create any additional files.. file that is saved on this PC, can be opened on another PC in the same state ( If it's opened in IDEal of course :) )
15. Workspaces - Workspace is all your opened files/projects ... you can save workspace and restore later, you can load last active workspace ( aka 'load last opened files' ) , but you have total control over it..
Example: If you have your project open and close the editor, workspace will be automatically saved . Next time when you open IDEal, you can open last automatically saved workspace, some other previously saved workspace ( maybe some other project ) or simply open new file and you can load the workspace anytime later. Workspace will remember which files/projects were opened and their exact order on the ' Tabs line' , any splited windows, grouped windows etc...

16. Global bookmark system - standard bookmarks may work globally across all open files - i.e. pressing next bookmark will bring you to the next bookmark in other file
17. Help Browser can have multiple help files opened in separate tabs and all of them are again separate from the main files tabs, so multiple opened help tabs won't mess with other files tabs. One handy function in Help Browser is "Back to Code" which will get you back to the place where you invoke help command.

18. Find and Replace works with files, all opened files, project wide search, Find Next, Find Previous, Wrap search, Start searching from cursor or from Top of the file
19. Various Drag & Drop support - starting from dragging and dropping between opened files up to dragging and dropping between IDEal and other programs, between File Explorer and Editor etc. Files and Folders in Snippet explorer and in Project explorer can be arranged with dragging and dropping... IDEal will open files /group of files that is dropped from windows explorer etc etc...
20. Very low CPU / Memory usage... Massive Project with 80.000 code lines needs only 30MB of RAM
There are plenty more nice features , but I'll mention just some of them that are not so common in other editors :
- Snippets manager
- File Explorer together with explorer context menu and favorites folders / files , to speed up access to your files
- Code Folding - Functions, Types and Custom blocks of code
- Second type of comment with different color/style, used, for example to mark more important comments in the code.
- Multiple instances of IDEal, Brace Highlighting inside braces, Indent highlighting on Scope keywords, Cutting/Deleting/Moving up -Down of whole lines etc, Line wrapping, 6 different user interface styles, Split window functionality etc...
NOTE: This is the first beta of IDEal, so probably there are bugs left... and it's tested on Win98 and XP, so anyone with Vista, please report if everything works fine under Vista ?
Several functions ( like Print/preview ) are not available yet, and also several other features ( Auto backup, To-Do list, Media files in code explorer... ) are planned to be implemented soon. BMax is not supported currently, and I don't know if it will ever be.
Happy New Year !!! .. and Please provide me with some feedback, bug reports, feature requests etc.
Edit: Go to www.fungamesfactory.com to download the latest release
The most advanced features of IDEal :
1. IDEal is FAST, really fast.. besides all the advanced features, IDEal IMHO is the fastest blitz editor.
- Loading time of the IDE - 1-1.5 seconds, depends on the current layout, number of userlibs etc..
- Loading, Parsing and Highlighting of the file with 15000 lines of code - 1 second ! ( on P4 2.4Ghz, 1GB RAM, Win XP )... Files with 2000-3000 lines of code are opened instantly.
2. REAL-TIME STRICT emulation - IDEal will highlight ( default in RED color ) all undeclared/misspelled variables immediately as you type !
Missed/ unmatched braces are also highlighted as bad. Many syntax errors will be immediately visible also !

3. Powerful highlighting and parsing engine, additionally to keywords, numbers , separators... will recognize and highlight inbuilt functions, globals, locals, labels - all of them can have separate font/style/color ! So , no need to create decls files anymore (except for DLL's) . Just include your library in the project and IDEal will recognize all functions, global variables, constants, labels... and color them as you like. They will also be included in autolists and intellisense.

4. Totally customizable.. you can fully customize menus, toolbars, layout, but most importantly, you can customize context menu and all shortcuts. You can even customize
basic commands like Line down, line up, new line etc. :) There are also plenty of options to customize editor behavior.
5. Advanced Smart Project wide intellisense for types/fields. Intellisense lists will popup automatically, and they will offer ONLY fields that are valid for that keyword/variable/function !
example: If you type 'Goto' list will popup with only labels , or after keywords like 'New' , 'Each' , 'Object' ... list will popup with only types... after "type" variables, it will offer only fields that belong to that type etc.
6. Advanced smart autocomplete system... IMHO Autocomplete is essential coding help, but many programmers don't use it because it is annoying popup most of the time. Now, in IDEal , you can really control how autocomplete works, when to popup, what to popup etc. so it can be your best friend which will drastically reduce typing time and chances for typing errors !
And, most importantly, autocomplete can include all your inbuilt functions, labels, variables and constants ! Project wide of course.
It is also smart, so in some particular function, it will include Local variables only from that function ! It also won't show up if there is no need for that - for example after 'Global' keyword.
- You can limit the minimum number of characters needed for autocomplete window to popup.. so it won't popup on short words like If, For, End etc.
- You can limit autocomplete to popup only when there is no more than X matches in the list, so it won't popup and offer 50 matches that begins with 'a' when you type just 'a'
- You can limit length of the words that will show in the list, so short words like If, Then, End, For, Next ( which are easier to type then to choose from the list ) won't be unnecessary included in the list
Example : If you have several variables like LongVariableNameX , you can limit the minimum length of words to be 10 and choose autocomplete to not include blitz keywords, then after typing just 'L' you can manually invoke autocomplete list which will offer only your variables that has names longer than 10 characters and begins with 'L' .
As in this example, you can set your autocomplete to be invoked manually or automatically as you type. You can also choose FillUp characters ( those that will complete the word automatically ) and Stop chars ( those that will immediately hide the autolist ).
7. Advanced AutoIndent system will fully autoindent code as you type ! This will reduce the number of TAB presses several times :)
Example:
For i=1 to 10
For k=1 to 5
a=a+1
Next
Next
For the above code, you don't need to press tab even once ! Just type the lines and IDEal will increase/decrease indent automatically.
Additionally, files can be autoindented automatically on load, you can autoindent blocks of code, and of course, you can switch to standard simple autoindenting seen in other editors.
8. Powerful auto correct of variable/function casing - When you change variable casing in it's declaration, IDEal will change casing of all occurrences in whole project, not only the newly created ones.
Example: If you have 'Global Myvariablename=1" and change that to "Global MyVariableName=1" , ALL occurrences of Myvariablename will be immediately changed to MyVariableName .
9. Unlimited number of compilers - you can define as many compiler / versions of compiler in IDEal as you like. Each opened file can have different compiler and you can switch between compilers almost in no time.
Example : You can install ten different versions of B3D ( lets say 1.77, 1.83, 1.89... 1.95 ) and compile your code with anyone of them in a matter of seconds - no need to reinstall different versions of B3D just to see if your code will work with some other version or not... Of course, same applies for B+ and old B2D
10. Instant( realtime ) function help with parameter highlighting - no need to call help, help tips appears in status bar automatically when cursor is over function/parameter
Function /parameter help additionally can also be opened as calltips in small window below current edited line.

11. Code Browser - Multiple levels Code browser will allow you to go to Previous/Next position and works globally, i.e. positions can be in different files. You can customize it's behavior, default to remember position whenever you edit something
Example: Type something, Scroll to some line, type something, Jump to some definition, type something there, then again jump to definition, and the go back, then again back, then again back to the first position ! From there you can again just go Next, Next, Next and you will be again to the last position ...
Code Browser will speed up your moving across your project and decrease the need for bookmarks.
12. HotCodes - HotCode is abbreviation for longer, aka 'real' code, you can define as many as you like and you can expand hotcodes to 'real' code with shortcut.
example : type SBBB press shortcut and SBBB will instantly be replaced with SetBuffer BackBuffer()
HotCodes are very useful for longer Variable/Functions names : type MLV, press CTRL+ENTER ( default shortcut ) and you get MyLongVariableName ( or whatever you defined for 'MLV')
HotCodes can be as short as one char and replacement i.e. real code can be as long as you like, including whole function for example...
Of course, you can edit HotCodes, Assign HotCode for selection etc. You must agree that this can accelerate typing a lot ! Using abbreviations also reduces number of typing mistakes.
13.. Layouts ( aka perspectives ) - save and restore different layouts with just a key press, like for example - you can switch between all docking windows open and full screen editor layout with just a keypress.
14. IDEal will remember all bookmarks and folding states of files when you close them, so the next time files will be opened in exact same state, i.e. with bookmarks, lines that were folded will be folded again etc. So, no need for everytime to FOLD/UNFOLD certain functions or add bookmarks... Additionally, last used compiler, last used command line is also remembered... IDEal embed those info in the file itself, so it won't create any additional files.. file that is saved on this PC, can be opened on another PC in the same state ( If it's opened in IDEal of course :) )
15. Workspaces - Workspace is all your opened files/projects ... you can save workspace and restore later, you can load last active workspace ( aka 'load last opened files' ) , but you have total control over it..
Example: If you have your project open and close the editor, workspace will be automatically saved . Next time when you open IDEal, you can open last automatically saved workspace, some other previously saved workspace ( maybe some other project ) or simply open new file and you can load the workspace anytime later. Workspace will remember which files/projects were opened and their exact order on the ' Tabs line' , any splited windows, grouped windows etc...

16. Global bookmark system - standard bookmarks may work globally across all open files - i.e. pressing next bookmark will bring you to the next bookmark in other file
17. Help Browser can have multiple help files opened in separate tabs and all of them are again separate from the main files tabs, so multiple opened help tabs won't mess with other files tabs. One handy function in Help Browser is "Back to Code" which will get you back to the place where you invoke help command.

18. Find and Replace works with files, all opened files, project wide search, Find Next, Find Previous, Wrap search, Start searching from cursor or from Top of the file
19. Various Drag & Drop support - starting from dragging and dropping between opened files up to dragging and dropping between IDEal and other programs, between File Explorer and Editor etc. Files and Folders in Snippet explorer and in Project explorer can be arranged with dragging and dropping... IDEal will open files /group of files that is dropped from windows explorer etc etc...
20. Very low CPU / Memory usage... Massive Project with 80.000 code lines needs only 30MB of RAM
There are plenty more nice features , but I'll mention just some of them that are not so common in other editors :
- Snippets manager
- File Explorer together with explorer context menu and favorites folders / files , to speed up access to your files
- Code Folding - Functions, Types and Custom blocks of code
- Second type of comment with different color/style, used, for example to mark more important comments in the code.
- Multiple instances of IDEal, Brace Highlighting inside braces, Indent highlighting on Scope keywords, Cutting/Deleting/Moving up -Down of whole lines etc, Line wrapping, 6 different user interface styles, Split window functionality etc...
NOTE: This is the first beta of IDEal, so probably there are bugs left... and it's tested on Win98 and XP, so anyone with Vista, please report if everything works fine under Vista ?
Several functions ( like Print/preview ) are not available yet, and also several other features ( Auto backup, To-Do list, Media files in code explorer... ) are planned to be implemented soon. BMax is not supported currently, and I don't know if it will ever be.
Happy New Year !!! .. and Please provide me with some feedback, bug reports, feature requests etc.
Edit: Go to www.fungamesfactory.com to download the latest release
