Customizing the IDE

The PureBasic IDE provides many options to customize or disable some of its features in order to become the perfect tool for you.

These options are accessible from the Preferences command in the File menu, and the meaning of each setting is described here.

Any changes made will only take effect once you click the "OK" button or "Apply".

General

Options that affect the general behaviour of the IDE.

Run only one Instance
If set, prevents the IDE from being opened more than once. Clicking on a PB file in the explorer will open it in the already existing IDE instance instead of opening a new one.

Disable Splash screen
Disables the splash screen that is displayed on start-up.

Memorize Window positions
Remembers the position of all IDE windows when you close them. If you prefer to have all windows open at a specific location and size, enable this option, move all windows to the perfect position, then restart the IDE (to save all options) and then disable this option to always open all windows in the last saved position.

Show main Toolbar
Allows to hide/show the main toolbar in order to gain space for the editing area.

Show window contents while moving the Splitter
Enable this only if you have a fast computer. Otherwise moving the Splitter bar to the Error Log or Tools Panel may flicker a lot.

Auto-Reload last open sources
On IDE start-up, opens all the sources that were open when the IDE was closed the last time.

Switch to correct source file on error
When a compiler error occurs, the IDE will try to load the file in which the error occurs and display the correct line. If disabled, no sources will be opened in this case.

Display full Source Path in Title bar
If set, the IDE title bar will show the full path to the currently edited file. If not, only the filename is shown.

Display Icons in the Menu (Windows only)
Disable this if you have any trouble with the custom-drawn menus with icons in the IDE. Disabling this gives the standard windows menu.

Recent Files list
This setting specifies how many entries are shown in the "Recent Files" submenu of the File menu.

Search History size
This setting specifies how many recent search words are remembered for "Find/Replace" and "Find in Files"

Visual Designer
This setting allows to set a different visual designer program when selecting the Menu command or toolbar icon.

General - Language

This allows you to change the language of the IDE. The combo box show the available languages, and you can view some informations about the language file. (for example who translated it and its last time of update.)

General - Shortcuts

Here you can fully customize all the shortcut commands of the IDE. Select an entry from the list, select the shortcut key and modifier keys and click "Set" to change the entry.

Note that Tab & Shift+Tab are reserved for block-indentation and unindentation and cannot be changed. Furthermore some key combination might have a special meaning for the OS and should therefore not be used.

General - Toolbar

This allows to fully customize the main Toolbar. By selecting an entry and using the Buttons in the "Position" section, you can change the order. The "Item Settings" section can be used to modify the entry or add a new one. (new ones are always added at the end of the list)

Types of items:
Separator : a vertical separator line.
Space : an empty space, the size of one toolbar icon.
Standard Icon : allows you to select a OS standard icon from the combo box on the right.
IDE Icon : allows you to select one of the IDE’s own icons in the combo box on the right.
Icon File : allows you to specify your own icon file to use in the edit box on the right. (on Windows, only icon files are supported, on Linux/MacOSX, only PNG files are supported.)

If you do not select a separator or space, you can specify an action to carry out when the button is pressed:
Menu Item : carries out the menu command specified in the combo box on the right.
Run tool : executes the external tool specified in the combo box on the right.

The "Default Sets" section contains two standard toolbar sets which you can select, and later modify.

Editor

Settings that affect the management of the source codes.

Auto-save before Compile/Run
Saves the current source code before each compile/run. Note that any open include files are never automatically saved.

Auto-save before Create Executable
Saves the current source before creating an executable file.

Memorize cursor position
Saves the current cursor position, as well as the state of all folding marks with the compiler options for the source file.

Memorize Marker positions
Saves all the Markers with the options for the source file.

Use UTF8 encoding
All source files loaded and saved will be handled as UTF-8. This is an encoding for special characters in text format, and allows to use languages that use non-ASCII characters.

Save settings to
This option allows to specify where the compiler options of a source file are saved:

The end of the Source file
Saves the settings as a special comment block at the end of each source file.

The file <filename>.pb.cfg
Creates a .pb.cfg file for each saved source code that contains this information.

A common file project.cfg for every directory
Creates a file called project.cfg in each directory where PB files are saved. This one file will contain the options for all files in that directory.

Don’t save anything
No options are saved. When reopening a source file, the defaults will always be used.


Tab Length
Allows to specify how many spaces are inserted each time you press the Tab key.

Use real Tab (Ascii 9)
If set, the tab key inserts a real tab character instead of spaces. If not set, there are spaces inserted when Tab is pressed.

Note that if real tab is used, the "Tab Length" option specifies the size of one displayed tab character.

Source Directory
Specifies the default directory used in the Open and Save dialogs if no other files are currently open (if another file is open, its path will be used as default).

Set this to the path were you usually save the source codes.

Editor - Defaults

This page allows you to set the default compiler options that will be used when you create a new source code with the IDE.

For an explanation of the meaning of each field, see the Compiler Options.

Editor - Fonts/Margins

Use "Select Font" to change the font used to display the source code. To ensure a good view of the source code, it should be a fixed-size font, and possibly even one where bold characters have the same size as non-bold ones.

Enable Syntax coloring
Enable/Disable the coloring of the source code. Disabling it makes the IDE a little bit faster.

Enable bolding of keywords
If your font does not display bold characters in the same size as non-bold ones, you should disable this option. If disabled, the keywords will not be shown as bold.

Enable case correction
If enabled, the case of PureBasic keywords, PureBasic Functions as well as predefined constants will automatically be corrected while you type.

Display line numbers
Shows or hides the line number column on the left.

Enable Markers
Enables or disables the ‘Marker’ feature of the Edit menu.

Enable Source Line folding
Enables or disables the the folding feature. Disabling both folding and Markers will remove the symbol column at the left of the source code.

Editor - Colors

Here you can change the color settings for the syntax coloring, as well as he debugger marks. Default color schemes can be selected from the box on the bottom, and also modified after they have been set.

Note: by setting the line background for the Debugger marks to the background color, you remove the displaying of the lines in a special color.

Editor - Folding

Here you can set the keywords in the source code that start/end a foldable section of code. You can add any number of words that will mark such a sections.

Words that are found inside comments are ignored, unless the defined keyword includes the comment symbol at the start. (like the default ";{" keyword)

A keyword may not include spaces.

Editor - Auto complete

Enable the Auto complete feature
Here you can completely disable the feature if you do not like it.

Display the full Auto complete list
Always displays all keywords in the list, but selects the closest match.

Display all words that start with the first character
Displays only those words that start with the same character as you typed. The closest mach is selected.

Display only words that start with the typed word
Does not display any words that do not start with what you typed. If no words match, the list is not displayed at all.

Box width / Box height
Here you can define the size of the auto complete list (in pixel)

Add opening Brackets to Functions/Arrays/Lists
Will automatically add a "(" after any function/Array/Linked list inserted by auto complete. Functions with no parameters or Linked lists get a "()" added.

Add a Space after PB Keywords followed by an expression
When inserting PB keywords that cannot appear alone, a space is automatically added after them.

Add matching ‘End’ keyword if Tab/Enter is pressed twice
If you press Tab or Enter twice, it will insert the corresponding end keyword (for example "EndSelect" to "Select" or "EndIf " to "If") to the keyword you have just inserted. The end keyword will be inserted after the cursor, so you can continue typing after the first keyword that was inserted.

Automatically Popup the AutoComplete window
If disabled, the list is only displayed if you press the Ctrl+Space shortcut. If enabled, the list is also displayed after a certain amount of characters has been typed, and a possible match in the list is found. (The manual display with Ctrl+Space is still available.)

Disable automatic Popup inside Strings / Comments
Disables the above auto popup feature inside of strings or comments.

Characters needed before opening the list
Here you can specify how many characters the word must have minimum before the list is automatically displayed.

Editor - Auto complete – Displayed Items

This shows a list of possible items that can be included in the Auto complete list.

Note that for Variables, only explicitly declared variables can be included for now (which are declared by DefType, Global, Shared, Protected or Static)

Debugger

Settings for the internal Debugger, or the Standalone Debugger. The commandline debugger is configured from the commandline only.

Debugger Type
Select the type of debugger you want to use when compiling from the IDE here.

Memorize debugger window positions
The same as the "Memorize Window positions" for in the General section, but for all Debugger windows.

Keep all debugger windows on top
All debugger windows will be kept on top of all other windows, even from other applications.

Bring Debugger windows to front when one is focused
With this option set, focusing one window that belongs to the debugger of a file, all windows that belong to the same debugging session will be brought to the top.

Display Timestamp in error log
Includes the time of the event in the error log.

Stop execution at program start
Each program will be started in an already halted mode, giving you the opportunity to start moving step by step, right from the start of the program.

Stop execution before program end
Stops the program execution right before the executable would unload. This gives you a last chance to use the debugging tools to examine Variables or Memory before the program ends.

Kill Program after an Error
If a program encounters an error, it will be directly ended and all debugger windows closed. This gives the opportunity to directly modify the code again without an explicit "Kill Program", but there is no chance to examine the program after an error.

Keep Error marks after program end
Does not remove the lines marked with errors when the program ends. This gives the opportunity to still see where an error occurred while editing the code again.

The marks can be manually removed with the "Clear error marks" command in the "Error log" submenu of the debugger menu.

Clear error log on each run
Clears the log window when you execute a program. This ensures that the log does not grow too big. (This option is also available with the commandline debugger selected.)

Debugger - Individual Settings

This allows to set options for the individual debugger tools. The "Display Hex values" options switch between displaying Byte, Long and Word as decimal or hexadecimal values.

Debug Output – Add Timestamp
Adds a timestamp to the output displayed from the Debug command.

Asm Debugger – Update Stack trace automatically
Updates the stack trace automatically on each step/stop you do. If disabled, a manual update button will be displayed in the Asm window.

Memory Viewer – Array view in one column only
If the memory area is displayed in array view, this option selects whether it should be multi-column (with 16 bytes displayed in each column) or with only one column.

Debugger - Default Windows

The debugger tools you select on this page will automatically be opened each time you run a program with enabled debugger.

Tools Panel

This allows to configure the internal tools that can be displayed in the side panel. Each tool that is in the "Displayed Tools" list is displayed in the Panel on the side of the edit area. Each tool that is not listed there is accessible from the Tools menu as a separate window.
Put only those tools in the side panel that you use very frequently, and put the most frequently used first, as it will be the active one once you open the IDE.

By selecting a tool in either of the lists, you get more configuration options for that tool (if there are any) in the "Configuration" section below.

Here is an explanation of those tools that have special options:

Explorer
You can select between a Tree or List display of the file system. You can also set whether the last displayed directory should be remembered, or if the Source Path should be the default directory when the IDE is started.

Color Picker
You can change the number of saved color buttons that will be displayed in the Colorpicker.

Procedure Browser
"Sort Procedures by Name" : sorts the list alphabetically (by default they are listed as they appear in the code).
"Group Markers" : groups the ";-" markers together.
"Display Procedure Arguments" : Displays the full declaration of each procedure in the list.

Variable Viewer
The "Display Elements from all open sources" option determines whether the list should only include items from this code, or from all open codes.

Furthermore you can select the type of items displayed in the Variable viewer.

Tools panel – Options

Here you can customize the appearance of the Tools Panel a bit more. You can select the side on which it will be displayed, a Font for its text, as well as a foreground and background color for the displayed tools.

Do not use colors/fonts for tools in external windows
If set, the color/font options only apply to the Tools displayed in the Panel, those that you open from the Tools menu will have the default colors.

Automatically hide the Panel
To save space, the Panel will be hidden if the mouse is not over it. Moving the mouse to the side of the IDE will show it again.

Milliseconds delay before hiding the Panel
Sets a timeout in ms, after which the Panel is hidden if you leave it with the mouse.

Import/Export

This section allows you to export the layout settings of the IDE in a platform independent format, which allows you to import them again into the PureBasic IDE on another Operating System, or to share your options with other PB users.

To export your settings, select what types of settings you want to include, select a filename and press the "Save" button.

To import settings, select the filename and press "Open". You will then see the options that are included in this file as enabled checkboxes. After selecting what you want to import, click the "Import Settings" button.

For the new settings to take effect, you have to first click the apply button.

Note: You can import the style files from the jaPBe Editor, but only the color settings will be imported.