Waffle's IDE v2.0


Thankyou for trying my IDE. Version 1 had many-many features and became too unusuable. This I decided to tone it down and focus instead on things truely needed, or at least features I though DBC lacked. Actually, I use Dark Edit 1.56 by Guy Savoie in 2000. Some don't like it, but I do because it was simple (I don't use the advanced features) and it works fast (well), faster than mine.

For my IDE, I felt it needed features that nobody else seems to be adding to other IDEs; such as context help and Debugger Options. I also did a sorta keyword-tips thingy to provide a parameter list for a keyword at the bottom of the window. Those are the KEY features. The keyword-tips was done mainly because I can never remember all the settings for the command "Set Object ........." and it is much nicer to have a little reminder. I know some like a "code injector" thingy, but I don't. Things get pretty cluttered with multiple windows open, and I like to keep things simple. Some IDE use "Tabbed" windows to keep things clean looking, but I prefer MDI for viewing code side by side. Very usefull for examples and such.

Features



Back to Top
Using the IDE
Contacts

Using The IDE

File Menu:
Enables you to Open, Close or create a New empty code window. This will also maintain a list of the last 10 code modules you have opened.

Edit Menu:
Enables Cut, Copy and Paste to or from the clipboard. At the bottom is an Undo option that can Undo the last edit operation in the code window.

Search Menu:
Calls up the search and Replace dialog. You can also use F3 to continue a search operation.

Debug Menu:
Bested explained here.


Compile Menu:
Tools Menu:
Window Menu:
The only important one here is the one at the top; "Hide Project Window" is for hiding or showing Project Window. All currently open windows will be list at the bottom of this menu

Help Menu:
Displays information about various topics.

Back to Top
Toolbar Icons
Contacts

Tool Bar Icons

Most of the common things you need to do can be quickly completed via the Tool Bar.
Toolbar

New This will open a new code window
Open This will open a browser window permitting you to open an existing code file
Save The will save the changes in the current code window
Close This will close the current window and ask if you wish to save if you have made any changes

Cut Will cut selected text from the current window to the clipboard
Copy Will copy selected text to the clipboard
Paste Will paste text from the clipboard to the current code window
Search Will open a dialog permitting you to scan for selected test in the code

Debugger On This enables extra debugging code
Debugger Off Turns off debugging code

Compile Compile Source. This checks for errors without executing code
Execute Execute code. This does not build executables.
Make EXE Makes a stand alone *.exe file without included media
Build Final EXE Makes a stand alone *.exe with included media
Directives This calls up the Compiler Directives window

Project This hides or displays the Project Window
Prev or Next This cycles through all open windows

Project This shows this really cool help file

Back to Top
Using the IDE
Contacts

Help Viewer

This is just your basic htm viewer. I use this for both Dark Basic Help and for my own htm help files. For context help, just click on a keyword. When the keyword tip is displayed (not all keywords are supported) press F1 to obtain extra detailed help on that keyword. Very nice feature. You can also type in a keyword at the top and click go to search for another keyword. This also properly supports the display of examples.

Back to Top
Using the IDE
Contacts

Project Viewer

This displays all targets (functions, macros and labels) used by all open code windows. It also has a table listing ASCII codes and SCANCODE() values. This does not update in real time. You can force a refresh by clicking the refresh button on the toolbar. If you double-click on a target, that code window will be brought to the front and that line will be displayed. Click the Project Window toolbar button to toggle the display of the project window. You can also use the Window - Hide Project Window menu option.

Back to Top
Using the IDE
Contacts

Error Reporting

In the event of an error during compiling, your build will be canceled and (in then event of enabled compression) compressions will not occure. My IDE will try and locate the correct model (#INCLUDE) holding the error and place a marker (in red) in the margin next to that line. The Error will be reported in the status bar, but will be overwritten on the next keyword tool-tip. In the event the error should occur in a macro , only the call to the macro will be marked. It would be up to you to decide if the actual error is in the macro definition or in the call. To help you determine that, you can use the Project Window to quickly jump to the macro. You can also open the file "FullDBCFile.dba" to see how your macro was expanded in the source.

Back to Top
Using the IDE
Contacts

Macro Support

Dark Basic does not support Macros.Guy Savoie tried it with Dark Edit but it was rather cumbersome, and would confuse the error reporting and only work for the current code module. Mine is much more versitile. It works accrossed all project modules (#INCLUDE) and reports the correct error line. Mine works this way by combining all sources into one file before sending to the compiler. I also add extra markers to the source to help in tracking error line numbers. Generally, you don't need to know the details, but from time to time you will need to be "aware". You can examine this file at any time by opening the file "FullDBCFile.dba". This is usefull when you have a macro that does not work as expected. Or for when you have a question about which line the error really is on, I may have a few mistakes here.



Multiline macros get two extra tags added to help with determining the actual error line. So the complete macro replacement looks like

`Macro Global X = 34
dim X(1)
X(1) = 34
`EndMacro

Back to Top
Using the IDE
Contacts

Debugging Options

Dark Basic Classic does not always report the correct error, sometimes your application terminates without a reason or sometimes you get a "Global Protection Fault" (system crash) and need some way to quickly locate it. I created some special debug settings and options to help locate these kind of bugs. For even extra support, you can enable compiler directives and check Enable Directives, and check CompilerDebug so you can check debug settings in your code.

Back to Top
Using the IDE
Contacts

Compiler Directives

Most other IDEs do not have this option. Dark Basic Classic technically does not have any compiler directives. These options are added by adding additional variables to the source code or doing things after a build. To display the Compiler Directives dialog, use the Compile - Directives menu option

On the left are Directive Options while on the right are Compression Options.


Compression Options:

I added a self extracting compressing tool that is integrated into this IDE. The compression is slow, but extraction is lightning fast and very small. The various options are for determining when to compress and how to compress. You can also add extra files to the pack, such as source, or help files.



Manual Packing:

You can create a self extracting pack file manually by opening the Compiler Directives and setting the compression options and then clicking the Pack button. If the options are already set, you can also just use the Compile - Make Pack File menu option.


Packing Non-DarkBasic Files:

This is not really supported, but here is a hack methode to make a self extracting pack file for any "exe" file.

Thats it. Not too difficult was it?

Back to Top
Using the IDE
Contacts

Managing External Tools

Click on Tools - Configure to bring up the external tool manager. I tried to keep this window nice and clean. On the left will be your list of tools, in the same order as displayed in the tool menu. Even the same name. Also listed is the full path to the tool and the command line options you desire for the tool. The buttons on the right are for acting on this list.

Back to Top
Using the IDE
Contacts

Configure External Tool

This dialog is just a little complicated. Don't worry though, most settings are not needed.
The big button on the top left (it says "FileName" if you are Adding a new tool) is for selecting your tool. When you click this button, a browser will open for the selection of your tool. After you have found your tool, this button will rename itself to your tool.

Below this is the Menu Name. Change this to say whatever you want displayed in the Tool Menu.

If you do not need any advanced options, just click the OK button to save the changes and go back to the Tool Manager


Back to Top
Using the IDE
Contacts

Visit my website www.archonrpg.com online for more fun free things.
Or email waffle if you have any questions.

License for Scintilla and SciTE

Copyright 1998-2003 by Neil Hodgson < neilh@scintilla.org >
All Rights Reserved

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation.

NEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.