The Windows version now finally gets the promised IDE and Debugger too.

This update consists of IDE, Debugger and bugfixes.
Get it at http://www.purebasic.com/ on your personal account.
Note: the compiler interface didn't change much, so it should still work
with jaPBe, but i urge everybody to give the new IDE a try... it rocks

Have fun with it, and do a lot of testing...
The PureBasic Team
Code: Select all
-------------------------------------------------------------------------------
PureBasic v3.94 beta 1
-------------------------------------------------------------------------------
Information:
------------
This beta is for testing purpose only. Never assume it to be stable
or even working. But, we provide it to public beta testing as we don't
found any bugs anymore and want to be sure to have a correct product before
release it. Be free to test it with all your program and reports
any problem to the bug report section, with 'Beta - ' in the title.
We strongly suggest to makes a whole copy of the 'PureBasic' folder
and install this beta on it, to keep a working distribution. You have
to install this beta over a regular PureBasic 3.93.
This beta requiers the registered version of PureBasic.
News:
-----
- Added: Brand a new IDE and 3 Debuggers (!), see below for more informations
- Added: Resource file support to the compiler and IDE (/RESOURCE compiler switch)
- Fixed: MovieLength() and MovieInfo() were incorrect with WMV format (thanks to Traumatic ;-)
- Fixed: ToolBar disable bug when mixing image and icon with XP skins
- Fixed: Possible crash when closing a window with a free'ed statusbar or toolbar
- Fixed: ImageGadget() and ButtonImageGadget() couldn't be used with AnimateWindow_()
- Fixed: ImageGadget() bug when using DisableGadget()
- Fixed: LineXY() didn't release memory correctly
- Fixed: Line() and LineXY() affected the DrawText() position
- Fixed: SortList() could crash with big already sorted lists
- Fixed: SetMenuItemState() did change the disable state
- Fixed: Editable combobox created with #PB_Any didn't handle TAB correctly
- Fixed: OpenFileRequester() fails if the default filename wasn't correct
- Fixed: Compiler bug with string concatenation and procedures
IDE Features:
-------------
- all the features of the old PB IDE
Code editing:
- scintilla is used for the editing gadget (thanks to inner)
- folding with custom folding marks
- line markers (bookmarks)
- hilightning is much faster than with the old ide
- real tab can be used instead of spaces
- the case correction and bold keywords can be disabled for the hilightning (was requestet quite a while ago)
- autocomplete with many options
General editor settings:
- all shortcuts are fully customizable (also for external tools)
- the main toolbar is fully customizable (you can even add buttons for external tools)
- you can fully customize the compiler settings for new files in the Preferences
- on compiling errors, the correct file with the error is opened and displayed
Buildin tools:
- several tools are available to put on the editor side
- they can be enabled/disabled and configured in the preferences
- available tools for this are:
Procedure Browser
Ascii Table
Color Picker
Variable Viewer
Explorer
- Structureviewer can now also display predefined constants.
- buildin fileviewer that can display files from the explorer tool or from doubleclick on "IncludeBinary"
External tools:
- external tools can now have a completly custom shortcut
- tools can be automatically executed by certain "triggers" like:
ide startup
ide shutdown
before or after compiling a source (the tool can also alter the source that will be compiled by passing a %TEMPFILE.. good for preprocessor like tools)
before running an allready compiled source
before or after creating an executable
after loading a source file
after saving a source file
- tools can also be configured to replace the internal fileviewer for all files, for only unknown files,
or for a specific file extension. this allows you to use your favorite image viewer, or to extend the
fileviewer with filetypes that it doesn't know.
- tools can be hidden from the ide menu, if they are executed by a different "trigger"
Misc features:
- internal help viewer for the PB help.
- all files in the PB help/ subdirectory will be added to a "external help" menu.
they will be opened with the fileviewer, or if so configured by an external tool that replaces the fileviewer.
- sizes of lists like "recent files" or the search&replace history can be customized
- position and size of all ide windows can be memorized
- search&replace and find in files options extended to not search inside comments or strings
New Debugger Features:
----------------------
The Debugger now comes in 3 forms:
- a Commandline only debugger, for use in a non-gui environment, or for other special purposes
- a Debugger build directly into the IDE.
- a Standalone GUI debugger with almost all features of the IDE one, to be used with other Editors
All these debuggers provide:
- basic program control (Stop/Run, Step, Step repeated a defined number of times, Breakpoints)
- breakpoints are dynamic and can be set/removed during program execution (CallDebugger is still available to create a fixed (compiled) breakpoint)
- debug output like the old Windows debugger.
- display of variables, including local variables and values inside structures.
- display of Arrays & Linkedlists (in full, or specific ranges only)
- viewing of memory areas, with the ability to save them as text or raw data
- a "Callstack" display, displaying all the nested procedure calls, that the current line is inside,
with the ability to display the local variables of each of these procedures
- display and modification of the CPU registers (while the execution is halted)
- display of the Stack contents, with comments for PB function calls
- display of integer output in either decimal or hexadecimal format.
- automatic halting of execution at program start or end (for consoledebugger set per config file)
- the program execution can be continued after minor errors
The console debugger additinally provides:
- redirection of the debugger output to STDERR, or a file
- automatic action on errors (ignore, exit, ask, open debugger command console)
The IDE & standalone Debuggers additionally provide:
- a "Watchlist" feature to keep track of Variables/Array items/Linkedlist items in realtime
- statistics on the number of calls for each procedure
- a log window to log events and errors
- errors are marked in the source for easyer correction later
- ability to copy/save the Debug output (like the old windows one)
- view Memory area in hex-display, or as a table (single- or multicolumn) of any type. (for example: table of long values)
The buildin IDE debugger additionally provides:
- a CPU monitor with information on each debugged program