The Preferences dialog is used to configure SlickEdit® Core. To display it, from the main menu, click Window → SlickEdit Preferences, or use the config command on the SlickEdit® Core command line.

The following sections describe how to use the Preferences dialog. For descriptions of individual preferences, skip to the index located at Option Categories.
The Preferences dialog is divided into two sections: the tree on the left, which contains category nodes (see Option Categories), and the option panel on the right, which contains specific preferences. Right-click inside the tree area to expand or collapse all nodes in the tree.
As you click on nodes, the option panel updates to show the applicable preferences. The layout of the option panel can be either a property sheet in tabular format (like Window → SlickEdit Preferences → Appearance → General), or a form with radio buttons, check boxes, etc. (like Window → SlickEdit Preferences → Appearance → Colors).
The Preferences dialog supports keyboard shortcuts, so you can use the dialog and change settings without having to touch the mouse. See Keyboard Shortcuts in the Options Dialog for more information.
See the following sections for more information:
When preferences are displayed as a property sheet, the name of the option is shown in the Option column, and the setting is shown in the Value column. The manner in which an option value is changed depends on the type of option:
For preferences with combo boxes - Use the drop-down arrow to make a selection. Alternately, to cycle through and select a setting, double-click on the option. If you're using keyboard shortcuts, you can toggle a combo box up and down using F4 or Alt+Up and Alt+Down, respectively, and then use the Up and Down keys to make a selection.
For preferences with numeric text boxes - Click on the option and type directly in the text box to change the value. If you're using keyboard shortcuts, use one of the keys Right, Space, or F4 to enable the text box.
For color preferences - Double-click on the color block or press F4, and the color picker is displayed.
For file and directory path preferences - Double-click on the value or press F4, and a directory picker is displayed. If you have specified a file name or directory in a field and wish to change it back to the default, press the Delete key. This clears the value and SlickEdit® Core will use the default setting.
For both forms and property sheets, when you change the value of an option, an asterisk appears after the node name in the tree. If the option is in a property sheet, an asterisk also appears next to the option name. This helps you see the preferences that have changed when you've made a lot of settings changes at once. The asterisks remain until you click Apply or close the dialog. To see changes made in previous dialog sessions, click the Preferences History node in the tree. See Options History for more information.
Click Apply to save option changes and leave the dialog open, or click OK to save the changes and close the dialog. If you attempt to close the dialog by any other means, and if changes have been made but not yet applied, you are prompted to save the changes. When the Preferences dialog is closed, the view is saved and restored the next time the dialog is opened.
Some preferences link to other option panels, like preferences for Adaptive Formatting. To make it easy to get back to an option panel after clicking a link, Backward and Forward navigation buttons are available along the top right side of the dialog. These buttons let you navigate between previously viewed panels, similar to the Windows Explorer back/forward navigation features. Click the drop-down arrows to see lists of the previously viewed option panel. Click on an item in one of the lists to navigate to the panel directly.
If your mouse has Back and Forward navigation buttons, you can use them to navigate through previously viewed option panels.
If you prefer to use keyboard shortcuts, use Alt+Left and Alt+Right to navigate backward and forward, respectively. See Keyboard Shortcuts in the Options Dialog for more information about keyboard navigation.
You can mark a frequently used preferences page as a favorite for quicker access. To add the current page to your favorites list, click the Add [PreferencesPage] to Favorites button located at the bottom of the tree. After adding favorites, click the Show Favorites button located above the tree, and the tree changes to only show a list of nodes which are favorites or parents of favorites. Favorite nodes are displayed in bold type. To remove the selected favorite, click Remove from Favorites. To reset the tree to the default view, click Show All. Note that initiating a search while viewing Favorites causes the tree to reset as well.
The dialog lets you search for keywords throughout the preferences with an incremental search field located at the top left of the dialog under Enter search text. As you type each character in the search box, the tree is filtered to show only nodes that contain the search text. The node that contains a match is displayed in bold type in the tree.
To perform a more in-depth search, check the Search descriptions checkbox. In the case that you do not find what you are looking for using the regular search, this will enable searching of help information included in the preferences dialog. This search will likely yield more results. Since the additional results will be more difficult to go through, this search is off by default.
To reset the tree and clear the search box, click the Clear button or press Alt+C. Note that viewing Favorites resets the tree and clears the search box as well.
After you have initiated a search, to see a list of search results, select the Search Results node. This node only appears in the tree (at the bottom of the list) after you have started a search. The search results are divided into columns showing the option name and the path to the option in the dialog. Double-click on an option to navigate to the corresponding option page. For preferences in forms embedded in the Preferences dialog, the results only show the name of the form. For example, if the Fixed Fonts Only option on the Fonts form was a match, the results show "Fonts" as the option name and "Appearance" as the path.
If you prefer to keep your hands on the keyboard, invoke the Preferences dialog with the config command and use keyboard shortcuts to navigate and change preferences.
Some quick tips:
Each time the dialog is displayed, the focus is in the Search box at the top left of the dialog. Use Tab to navigate through the elements on the dialog.
Use the Right and Left keys to expand and collapse nodes in the tree.
Prefix matching is supported for tree nodes and in property sheets. For example, if the Appearance node category is expanded and focus is in the tree, you can type "F" and the first node beginning with that letter is selected (Fonts). Likewise, if focus is at the top of the Window → SlickEdit Preferences → Appearance → General property sheet, you can type "C" and the first option beginning with "C" is selected (Cursor style). Note that only the current visible hierarchy of the tree is searched, and on property sheets, property group headings are not included in the search.
Use Alt+O to jump from the option tree to the option panel.
On property sheets, use F4 to toggle combo boxes up and down, enable numeric text boxes, and display color and directory pickers.
Press Enter to save changes and close the Preferences dialog, or Esc to prompt for changes before closing the dialog.
The table below describes all of the available shortcuts.
|
Summary |
Keyboard Shortcut(s) |
Description |
|---|---|---|
|
Navigation |
Alt+[ letter ] or Alt+[number] |
Performs the following actions:
|
|
Navigation |
Tab |
Moves the focus to each area/button on the Preferences dialog. In a form, Tab moves between each area/button on the form until reaching the last element and placing focus back on the Preferences dialog proper. In a property sheet, Tab jumps back to the dialog proper. |
|
Navigation |
Up and Down |
In the tree, moves up and down the visible nodes. In property sheets, moves up and down line-by-line. In combo boxes, moves up and down through the available settings. |
|
Navigation (dialog to panel) |
Shift+Tab |
Jumps from the OK button on the Preferences dialog to the currently visible option panel. |
|
Navigation (tree to panel) |
Alt+O |
Shifts focus from the tree to the currently visible option panel. Subsequently, if the panel is a property sheet, use the Up and Down keys to navigate through the preferences. If the panel is a form, use Tab to navigate through the elements on the form. |
|
Navigation (between panels) |
Alt+Left and Alt+Right |
Navigates backward and forward, respectively, between previously viewed option panels. Same as using the Back and Forward buttons on the Preferences dialog. |
|
Navigation or exit |
Enter |
Saves changes and closes the Preferences dialog, or, if inside a text box or combo box, shifts focus back to the option panel. Same as pressing OK on the Preferences dialog. |
|
Navigation or exit |
Esc |
Prompts to save any changes and closes the Preferences dialog, or, inside a text box or combo box, shifts focus back to the option panel. Same as pressing Cancel on the Preferences dialog. |
|
Expands/collapses tree nodes and enables property sheet controls |
Right and Left |
Expands/collapses nodes in the tree. In property sheets, enables numeric text boxes and drops down combo boxes (but not up). |
|
Enables property sheet controls |
F4 |
Toggles combo boxes up and down, enables numeric text boxes, and displays color and directory pickers. |
|
Enables property sheet controls |
Alt+Up and Alt+Down |
Toggles combo boxes on property sheets up and down, respectively. |
|
Enables property sheet controls |
Space |
In property sheets, enables a numeric text box and drops down combo boxes (but not up). In the Option Search results or Options History nodes, displays the selected option in the option panel (same as double-clicking). |
|
Scrolling |
Ctrl+Down and Ctrl+Up |
Scrolls the option tree and long property sheets one line at a time. |
|
Scrolling |
PageUp and PageDown |
Scrolls the option tree and long property sheets one page at a time. |
|
Clears a directory/file name property |
Delete |
Clears a directory or file name field, resetting the default value. |
|
Option search |
Alt+C |
Clears the Search box on the Preferences dialog. Same as using the Clear button. See Option Search for more information. |
|
Option favorites |
Alt+F |
Adds or removes the selected node to or from your favorites list. Same as using the Add to Favorites or Remove from Favorites button on the Preferences dialog. See Option Favorites for more information. |
|
Option favorites |
Alt+S |
Trims the tree to show only your favorite option nodes (same as the Show Favorites button), or displays all nodes again when viewing favorites (same as the Show All button). See Option Favorites for more information. |
|
Save changes |
Alt+A |
Saves all option changes yet leaves the Preferences dialog displayed. Same as using the Apply button on the Preferences dialog. |
|
Help |
Alt+H |
Displays the Help topic for the Preferences dialog. |
The tree in the Preferences dialog (Window → SlickEdit Preferences) contains the following category nodes, which are described in subsequent sections:
Appearance preferences (Window → SlickEdit Preferences → Appearance) allow you to customize the look of SlickEdit® Core. You can change fonts and colors, specify which toolbars and views to display, enable display of special characters, and more. Appearance option categories are:
General appearance preferences are shown below (Window → SlickEdit Preferences → Appearance → General).

The preferences are described as follows:
Window left margin - Specifies the amount of space, in inches, between the left edge of the window and the editor text. This option has no effect when there are bitmaps displayed in the left margin, since more space may be necessary to accommodate the size of the bitmap.
Cursor style - Specifies the style of the cursor (block/text mode style, or vertical).
Hide mouse pointer - When set to True, the mouse pointer is hidden when typing, but visible when moving the mouse or when a dialog box is displayed.
Vertical line column - Specifies the column in which the editor is to display a vertical line. When the value is set to 0, the vertical line is not displayed. The vertical line is not displayed in Unicode files or when using proportional fonts.
Vertical line color - Specifies the color of the vertical line when it is displayed.
List command line completions - When set to True, a pop-up list of possible commands and argument completions is displayed for partially typed commands and arguments on the SlickEdit® Core command line. See Command Line Completion for more information.
Scroll style preferences include:
Smooth horizontal scroll - When set to True, editor windows scroll column-by-column when the cursor moves out of view. When set to False, the cursor is centered and the text is scrolled one-fourth the width of the window when the cursor moves out of view.
Smooth vertical scroll - When set to True, editor windows scroll line-by-line when the cursor moves out of view. When set to False, the cursor is centered and the text is scrolled half the height of the window when the cursor moves out of view.
Scroll when - Specifies how close (in number of lines) the cursor may get to the top or bottom of the window before scrolling occurs. Does not affect horizontal scrolling.
Current line highlight preferences include:
Current line highlight - Specifies the type of highlight to be drawn around the current line. When None is selected, the current line is not highlighted. When Draw box only is selected, a dotted box is drawn around the current line. When Tabs ruler is selected, a box is drawn around the current line with tab stops marked. When Syntax indent ruler is selected, a box is drawn around the current line with Syntax Indent levels marked. When Decimal ruler is selected, a box is drawn around the current line with marks at multiples of five and 10. For Unicode files or when using proportional fonts, only a box will be drawn.
Current line box color - Specifies the color of the box outline when Current line highlight is enabled.
Current line column color - Specifies the color for column markers when using a current line highlight with column indicators (Tabs, Syntax Indent, or Decimal rulers). Note that this is the same as the margin color.
Color preferences are shown below ( Window → SlickEdit Preferences → Appearance → Colors ). These preferences let you specify colors for screen elements in SlickEdit® Core and create and manage color schemes. See Colors for more information.

The preferences are described as follows:
Scheme - Specify the color scheme to use from the drop-down list. Several predefined schemes are available or you can define your own. See Using Color Schemes for more information.
Save Scheme As... - Allows you to save the current color settings as a new color scheme with a name you specify.
Reset Scheme - Resets a SlickEdit Core installed scheme back to its default configuration.
Delete Scheme - Deletes the selected color scheme. Only available for user color schemes.
Rename Scheme... - Allows you to rename the selected color scheme. Only available for user color schemes.
Associated symbol coloring scheme - Each color scheme is associated with a corresponding symbol coloring scheme. This is necessary in order to insure that the symbol colors are compatible with the base colors in the color scheme. When you switch color schemes, you also switch symbol coloring schemes.
Press the Symbol Coloring... button to jump to the Symbol Coloring preferences dialog to take a closer look at the available schemes. For more information about symbol coloring, see Symbol Coloring.
Reset Colors - Restores all colors to the values they were when the Color Preferences dialog was invoked. All color changes to the selected scheme are saved when you exit the dialog or switch schemes.
Screen element - Select the screen element before changing the Foreground and Background colors. Most of the screen element items are obvious except for those in the following list. For a complete list of color elements, see Color Elements.
Window Text - This is the color of other text which is not a specific syntax element.
Attribute (XML and HTML only) - This is the color used for a recognized attribute of an XML or HTML tag. For example, in HTML, the src attribute of the img tag gets this color.
Cursor - This screen element is displayed in the active edit window when the cursor is placed on the command line. It is not the color of the blinking cursor.
Current Line, Current Selected Line, Selection - SlickEdit® Core will attempt to render these elements using your normal color settings for the Foreground color. The selected Foreground color will only be used if there is not enough contrast between the font colors to be readable. It is best to specify a Background color for these elements that is only a slight tint from your normal background color, ensuring that the color-coded text is still easy to read.
Foreground color - Click the color square to change colors for the selected element. The Color Picker dialog is displayed, allowing you to pick a color from the palette or set your own custom color using RGB values.
Background color - Click the color square to change colors for the selected element. The Color Picker dialog is displayed, allowing you to pick a color from the palette or set your own custom color using RGB values.
The Embedded code option is used to define the background color to be used for source code which is embedded in another language. (for example, JavaScript embedded in an HTML file). For HTML, the syntax color-coding recognizes the <script language="???"> tag and uses embedded language colors for the new language. In addition, for Perl and UNIX shell scripts, you can prefix your here-document terminator with one of the color-coding lexer names to get embedded language color-coding. For an example, see Setting Colors for Screen Elements
Only color elements recognized by Color Coding, current line, and selection colors have an embedded color option.
Select the Inherit option to specify that the background color and embedded code color should be inherited from the basic Window Text color. This feature can be used to keep the background colors synchronized among editor color elements.
Use system default - When this option is selected, the operating system's default colors are used. Currently, this check box is only available for the Status and Message fields. For UNIX, the system default colors are selected by the editor and not the operating system.
Font style - For color-coded elements, you may choose whether the element is normal, bolded, italicized, or underlined. For example, keywords are bold by default.
Sample Text - Use the sample text and the embedded sample text to preview the foreground, background, and font attribute choices, both in normal code and embedded code.
Sample Code - Use the sample code text box to view your selected color scheme in a language of your choosing. You can also cut and paste small samples of text into this box in order to view specific items.
Due to limitations in the Sample Code display, when you switch between color schemes with different background colors, the new color scheme will be automatically applied, as if you had pressed the Apply button.
Each of the following color elements which can be configured from within SlickEdit® Core.
General - These color preferences are for syntactic elements displayed in editor windows. They correspond to items defined in the language's Color Coding specification. For more information, see Color Coding.
Function - This color is used to highlight identifiers which are followed by an open parenthesis, provided the language's Color Coding preferences specify to color them as such. Note that this color can be easily overridden by Symbol Coloring. For more information, see Symbol Coloring
Identifier - This color is used to highlight symbols matching the identifier characters defined for the current language.
Keyword - This color is used to highlight identifiers which match one of the keywords defined in the Color Coding for the current language.
Library Symbol - This color is used to highlight identifiers which match one of the library symbols defined in the Color Coding for the current language.
Operator This color is used to highlight symbols and punctuation which match one of the operators defined in the Color Coding for the current language.
Preprocessor - This color is used to highlight preprocessor keywords defined in the Color Coding for the current language.
Punctuation - This color is used to highlight symbols and punctuation which match one of the punctuation symbols defined in the Color Coding for the current language.
Special Characters - This color is used for special characters such as tabs, newlines, and spaces. The color is only used when the option to view special characters is turned on either at the language level or for the current file.
User Defined Symbol - This color is used to highlight identifiers which match one of the user-defined symbols defined in the Color Coding for the current language.
Window Text - This color is used for all the text in an editor control which does not match one of the other color coding elements defined for the current language.
Selections - These color preferences are for text selections and the current line in the editor control.
Current Line - This color is used to highlight the current line under the cursor. Underlying items will be colored using their configured foreground color and the background color specified for the current line, unless there isn't sufficient contrast, in which the foreground color for the current line will be used.
Cursor - This screen element is displayed in the active edit window when the cursor is placed on the command line. It is not the color of the blinking cursor.
Selected Current Line - This color is used to highlight the current line under the cursor when in a selection. Underlying items will be colored using their configured foreground color and the background color specified for the current line, unless there isn't sufficient contrast, in which the foreground color for the current line will be used. Ideally, you should select a background for this color that is a combination of the Current Line and Selection colors.
Selection - This color is used to highlight selections within the editor.
Comments - These colors are used to highlight different comment types defined in the Color Coding specification for the current language. For more information, see Color Coding.
Block Comment - This color is used to highlight block comments.
Documentation Attribute - This color is used for attribute names within HTML and XML tags recognized within documentation comments.
Documentation Attribute Value - This color is used for attribute values within HTML and XML tags recognized within documentation comments.
Documentation Comment - This color is used for documentation comments. Three types of documentation comments are supported: JavaDoc, XMLDoc, and Doxygen.
Documentation Keyword - This color is used for documentation comment keywords and HTML and XML tag names recognized within documentation comments.
Documentation Punctuation - This color is used for punctuation used for HTML and XML tags recognized within documentation comments.
Inactive Code - This color is used for inactive code regions recognized by color coding. Inactive code regions are found in languages that support C/C++ style preprocessing provided the option to color inactive code regions is enabled for the current language.
Inactive Code Keyword - This color is used for keywords within inactive code regions. Generally, the colors chosen for inactive code are such that the code appears to be grayed out. Highlighting keywords helps make inactive code still look somewhat like code, as apposed to just looking like block comments.
Inactive Code Comment - This color is used for comments within inactive code regions. Generally, the colors chosen for inactive code are such that the code appears to be grayed out. Highlighting comments helps make inactive code still look slightly more like normal code.
Line Comment - This color is used for line comments.
Strings - These colors are used to highlight different string types defined in the Color Coding specification for the current language. For more information, see Color Coding.
Backquoted String - This color is used for strings which use the backwards single quote character as a delimiter, such as found in shell scripts and Perl. Because the contents of these strings are executed and evaluated, it is important to be able to visually distinguish this kind of string from a common literal string.
Single Quoted String - This color is used for strings and character literals which use the single quote character as a delimiter. Because these are usually character literals, it is useful to be able to distinguish between them and double quoted strings.
String - This is the general string color, used for double quoted strings, regular expressions, and anything else that is regarded as a string literal by the color coding engine. For example, this color is also used for here-documents when they have no embedded language.
Unterminated String - This color is used for the background of the right hand side of the line when the string does not yet have a closing quote. You can disable this coloring simply by allowing it to inherit it's background color from Window Text.
Numbers - These colors are used to highlight different numeric types defined in the Color Coding specification for the current language. For more information, see Color Coding.
Floating Point Number - This color is used to highlight floating point numbers.
Hexadecimal Number - This color is used to highlight numbers specified in hexadecimal format.
Line Number - This color is used to highlight line numbers. This is different from the Display → Line Numbers display option. This option is for coded line numbers, such as that found in dialects of Basic and COBOL.
Number - This color is used for all other numeric constants recognized by the Color Coding engine.
HTML and XML -
Attribute - This is the color used for a recognized attribute of an XML or HTML tag. For example, in HTML, the src attribute of the img tag gets this color. Unrecognized attributes are colored using the Window Text color. Attribute values are colored using the String color.
Unknown Tag Name - This is the color used for unrecognized XML or HTML tags. If an XML document has no DTD or Schema, all the tags in the document will be colored using this color. Recognized XML and HTML tags are colored using the Keyword color.
XHTML Element in XSL - This color is used for an XHTML element in an XSL style sheet.
Modifications - These color are used to show change bars in the left margin, as well as in DIFFzilla® to highlight changes.
Inserted Line - This color is used in the left-hand margin for lines that have been inserted into the current file since you started editing it. It is only displayed if you have Modified Lines coloring enabled for the current language. See Language-Specific General Options for more information.
Modified Line - This color is used in the left-hand margin for lines that have been changed in the current file since you started editing it. It is only displayed if you have Modified Lines coloring enabled for the current language. See Language-Specific General Options for more information.
Modified Whitespace - This color is used in DIFFzilla® when doing a source diff (ignoring whitespace). It is used to highlight locations where whitespace has been inserted, removed, or changed. To disable display of modified whitespace in DIFFzilla®, set the background for this color to inherit from Window Text.
No Save Line - This color is used to display lines which are shown in the editor or DIFFzilla® which will not be saved when the file is saved. These lines are also known as imaginary lines. This color is also used for the top-of-file line.
Highlighting - These color are used for various types of text highlighting used to display search results.
Block Matching - This color is used to highlight matching parentheses, braces, brackets, and keyword begin-end pairs. The behavior of this option is language-specific.
Filename - This color is used in the Search Results tool window to highlight file names. It is not used for file names in source code or for names displayed in the File Manager.
Hex Mode - This color is used to display hexadecimal characters when displaying text in hex mode or line hex mode.
Highlight - This color is used to highlight word matches found by word completion.
Incremental Search Current Match - This color is used to highlight the current matching word when doing an incremental search.
Incremental Search Highlight - This color is used to highlight matches to the current incremental search expression.
Symbol Highlight - This color is used to highlight other references to the current symbol under the cursor within the current file.
Margins - These colors are used for various marker lines and the left-hand indicator margin.
Current Line Box - This color is used for the box drawn around the current line or the ruler line drawn around the current line if a Current line highlight option is enabled. See Current line highlight for more information.
Line Prefix Area - This color is used for the background of the left-hand indicator margin and for line numbers when the Display → Line Numbers display option is on.
Line Prefix Divider Line - This color is used to draw the single thin line between the left-hand indicator margin and the editor control text area.
Margin Column Line(s) - This color is used to draw a thin vertical line where the word-wrap margins are set. This line is only displayed if word-wrap is enabled for the current file. This option does not apply to comment formatting or HTML and XML text wrap preferences. See Language-Specific Word Wrap Options for more information.
Truncation Column Line - This color is used to draw a hard vertical line at the column where this file is to be truncated. This option is only used, generally, for languages with fixed line length restrictions, such as COBOL or certain dialects of assembly. See Truncation Column for more information.
Vertical Column Line - This color is used to draw a thin vertical line at the column designated as the vertical column line. This line simply gives you a visual indicator when the current line may be getting longer than allowed by your coding conventions. See Vertical line column for more information.
Application Colors - The following colors are used to configure specific elements of the GUI displayed outside of the editor windows themselves.
Message - This color is used for the text displayed in the message bar found on the lower, left-hand side of the main SlickEdit® Core window.
Modified file - This color is used in the File Tabs tool window and the Files view to indicate that the current file has unsaved modifications.
Modified variable - This color is used in the debugger view and the to indicate that the the value of a variable or watch has changed in the last debug stepping operation.
Status - This color is used for the text displayed in the status bar found on the lower, right-hand side of the main SlickEdit® Core window.
Symbol Coloring preferences are shown below ( Window → SlickEdit Preferences → Appearance → Symbol Coloring ). These preferences let you specify colors for symbols identified using Context Tagging® and create and manage symbol coloring schemes. See Symbol Coloring Schemes for more information.

The preferences are described as follows:
Scheme - Specify the symbol coloring scheme to use from the drop-down list. Several predefined schemes are available or you can define your own. See Selecting a Symbol Coloring Scheme for more information.
Save As... - Allows you to save the current symbol coloring scheme as a new scheme with a name you specify.
Reset Scheme - Allows you to reset a modified system scheme back to its original configuration.
Delete Scheme - Deletes the selected symbol coloring scheme. Only available for user-created schemes.
Rename... - Allows you to rename the selected symbol coloring scheme. Only available for user-created schemes.
Compatible with and Edit Compatibility... - Each symbol coloring scheme can, optionally, be associated with a set of color schemes that it is compatible with. This is necessary in order to insure that the symbol colors are compatible with the base colors in the color scheme. If a scheme does not list any specific compatible color schemes, it will be regarded as compatible with all color schemes. For example, the Protected and Private scheme only changes font attributes and is therefore compatible with any color scheme.
Press the Edit Compatibility... button to select which color schemes which are compatible with the currently selected symbol coloring scheme.
Generally, compatibility hinges on the amount of contrast between the selection of foreground colors in the symbol coloring scheme and the selection of background color in the base color scheme. This is why the standard schemes are classified, generally, as Light and Dark background.
Rule list - The symbol coloring rules are presented in order of precedence. Symbol coloring rules are matched in order from the top to bottom. For a symbol to match a rule, it must be the first rule in the symbol coloring scheme that matches all of the requirements. See Color Rules for detailed descriptions of each of the standard symbol coloring rules shipped with SlickEdit® Core.
Rule name - This is the name of the symbol coloring rule.
Symbol declaration - This column contains a synopsis of the symbol coloring rule, including the types it matches, it's attribute requirements, and regular expressions, if applicable. It is rendered using color and font attributes specified for the rule. This is also why this column appears to have a different background in color schemes which have a non-white background.
Add rule - Click the plus bitmap to add a new symbol coloring rule. Focus will be placed on the rule name field.
Move Up - Use the up arrow button to move the currently selected rule up one position in the list precedence. Remember that rules are applied in order of precedence.
Move Down - Use the down arrow button to move the currently selected rule down one position in the list precedence. Remember that rules are applied in order of precedence.
Delete rule - Use the delete button to delete the currently selected rule.
Rule name - This is the name of the rule. Press Tab or Enter to apply your changes after editing the name of the currently selected symbol coloring rule.
Color and font attributes - Use this panel to select how symbols which match the current symbol coloring rule will be rendered in the editor.
Base color on rule - A symbol coloring rule can selectively inherit parts of it's color information from another symbol coloring rule within the currently selected symbol coloring scheme. It can also inherit color information from certain colors from the basic color scheme, listed below.
--Window Text-- - This color is used for all the text in an editor control which does not match one of the other color coding elements defined for the current language.
--Function-- - This color is used to highlight identifiers which are followed by an open parenthesis, provided the language's Color Coding preferences specify to color them as such.
--Preprocessor-- - This color is used to highlight preprocessor keywords defined in the Color Coding for the current language.
--Library Symbol-- This color is used to highlight identifiers which match one of the library symbols defined in the Color Coding for the current language.
--User Defined Symbol-- This color is used to highlight identifiers which match one of the user-defined symbols defined in the Color Coding for the current language.
--Highlight-- This color is used to highlight word matches found by word completion.
--Symbol Highlight-- This color is used to highlight other references to the current symbol under the cursor within the current file.
Foreground - Select Inherit to inherit the foreground color from the base color. If Inherit is unchecked, you can click on the color sample to change the foreground color for this symbol coloring rule. If Inherit is checked, the inherited foreground color will be displayed, but clicking on the sample to change it will be disabled.
Background - Select Inherit to inherit the background color from the base color. If Inherit is unchecked, you can click on the color sample to change the background color for this symbol coloring rule. If Inherit is checked, the inherited background color will be displayed, but clicking on the sample to change it will be disabled.
For best results, you almost always want the symbol color to inherit it's background color instead of setting it's own.
Font attributes - Select Inherit font to inherit the font attributes from the base color. If Inherit is unchecked, you can click on Normal, Bold, Italic, or Underline to select font attributes for this symbol coloring rule. Note that font attributes can not be combined. If Inherit is checked, the inherited font attribute will be checked, but all the font attribute choices will be disabled.
For certain languages, identifiers which are followed by a parenthesis are colored using "Function" color, as configured in the Color Preferences dialog. Typically, this will make those identifiers bold. Symbol coloring will preserve this information and propagate the font attributes for "Function" color forward when highlighting an identifier which is followed by a parenthesis. This makes it possible, for example, to visually distinguish between constant-like defines and function-like defines in a language such as C++.
Sample Text - The sample text shows what the symbol coloring text might look like in the editor. The text is rendered in the same font as used in the editor for SBCS/DBCS Source Windows.
Symbol types - A matching symbol's type must be one of the specified types. The special *SYMBOL NOT FOUND* type is used to identify symbols which Context Tagging® can not locate. See Symbol types for detailed descriptions of each symbol type.
Symbol attributes - The attributes can be either required, ignored, or disallowed. A matching symbol must have all the required attributes, and none of the disallowed attributes. See Symbol attributes for detailed descriptions of each symbol attribute.
Regular expression matching - In addition to the symbol type and attribute specifications, you can further refine a symbol coloring rule by adding a Class name or Symbol name regular expression, using the regular expression syntax of your choice. The class name regular expression is matched against the name of the scope (class, package, struct) which a symbol is defined in. Do not confuse this with the name of the scope in which the symbol is used. The symbol name regular expression is matched against the name of the symbol. For example, a Wildcards expression of "vs*" would match all symbols starting with the characters "vs". Case sensitivity for the regular expression matching is regulated by the language's case-sensitivity. See Color Coding for more information.
Use - This allows you to select the regular expression syntax you prefer to use for this symbol coloring rule's class and symbol name regular expressions. See Regular Expressions for more information.
Class name - A matching symbol must belong to a class matching the regular expression.
Symbol name - A matching symbol's name must match the regular expression.
The following symbol types may be included in a symbol coloring rule. A rule can include as many symbol types as it requires, and sometimes that is necessary to create a rule with enough generality. For example, to make a rule that matched any kind of constant value, you would need to include: Constant, Enumeration value, and Preprocessor macro.
*SYMBOL NOT FOUND* - This is a special symbol type used when a symbol found in the editor is not recognized by Context Tagging®. This type is useful to have in a single rule as a rudimentary form of error checking.
Context Tagging® tries very hard to correctly recognize symbols, but it is not as accurate as your language's compiler. There are situations where a symbol will be highlighted as unknown, even though it is not strictly an error. This is particularly true for dynamic languages and languages that depend heavily on implicit declarations of local variables, such as most popular scripting langauges.
Highlighting of unknown symbols can be turned off on a per-language basis. This is a good idea for languages that are dynamically typed or have implicit declarations.
Annotation or attribute instance - This is metadata. Examples include the use of a Java annotation or C# attribute in code.
Annotation or attribute type - This is the definition of a metadata type. Examples include a Java annotation type or C# attribute class.
Class constructor - This is a constructor for a class in an object-oriented language. Note that in some languages, constructors are treated as functions with a Constructor symbol attirbute.
Class destructor - This is the destructor for a class in an object-oriented language. Note that in some languages, destructors are treated as functions with a Destructor symbol attirbute.
Class property - This is a property variable within a class type, as found in C#, Visual Basic .NET, and Managed C++.
Class type - This type is used for classes in object oriented languages.
Constant - This is a named literal constant.
Container variable - This is used for a container (or group) variable, as found in COBOL data sections. A container variable is like an transparent structure type.
Control or widget - This is used for a control type in languages that have built-in support for user interfaces, such as Slick-C®.
Database - This type is used for the name of a database. It only applies to SQL dialects.
Database column - This type is used for the column name of a database table. It only applies to SQL dialects.
Database cursor - This type is used for a database cursor type. It only applies to SQL dialects.
Database index - This type is used for a database index name. It only applies to SQL dialects.
Database table - This type is used for a database table name. It only applies to SQL dialects.
Database trigger - This type is used for a database trigger definition. It only applies to SQL dialects.
Database view - This type is used for a database view name. It only applies to SQL dialects.
Enumerated type - This type is used for type names of enumerated types.
Enumeration value - This type is used for the names of the constants defined in an enumerated type.
Event table - This type is used for event tables, as found in languages that have built-in support for graphical user interfaces, such as Slick-C®.
File descriptor - This is a COBOL file descriptor declaration.
Form - This type is used for form or dialog names, as found in languages that have built-in support for graphical user interfaces, such as Slick-C®.
Friend relationship - This type is used for friend relationships. Note that friend relationships refer to other symbols, so a symbol coloring rule that colored friend relationships would only color the actual friend relationship declaration, not uses of the symbol that depended on the friend relationship.
Function - This type is used for function names, both global functions and class member functions.
Function prototype - This type is used for a function declaration, both global and abstract class member functions.
Global variable - This type is used for global variables and variables declared at the namespace or package level. It does not apply to local variables or member variables.
Interface type - This is a class interface declaration, as found in most object-oriented languages.
Library - This is a library module type, as found in Pascal.
Local variable - This is a local variable, that is, a variable declared within the scope of a function.
Member variable - This is a class member variable or the member of a structured or record type or variable declared in a COBOL data section.
Menu - This type is used for menu names, as found in languages that have built-in support for graphical user interfaces, such as Slick-C®.
Mixin construct - This type is used for class mixin statements, as found in the D Programming Language. Note that, like friends, mixin's are only detected at the point of use. A function or variable pulled into a class through a mixin will not be considered as a mixin type.
Nested function - This type is used for functions which are nested inside of other functions or procedures, as found in Pascal, Ada, and other languages.
Nested procedure or paragraph - This type is used for procedures which are nested inside of other functions or procedures. It is also used for COBOL paragraphs.
Package import or using statement - This type is used for an import or using statement. Note that that imports are only detected at point of use. A class or function pulled into a module through an import will not be considered as an import type.
Package, module, or namespace - This type is used for package, module, or namespace names used to divide code into logical boundaries.
Parameter - This type is used for the names of formal parameters to a function or procedure. It can also be used for template parameter names in class templates.
Preprocessor include - This type is used for a preprocessor include statement or COBOL copy book.
Preprocessor macro - This type is used for a preprocessor macro (for example, a #define in C and C++).
Procedure or command - This type is used for procedure names, both global and class members. It is also used for command names in languages that support command types.
Procedure prototype - Type type is used for procedure declarations, that is, forward declarations of procedures.
Program - This type is used for program names, as found in Pascal, Cobol, and other languages.
Statement label - This type is used for statement labels within functions or in assembly language code.
Structure type - This type is used for struct types or record types.
Task - This type is used for tasks, as found in Ada and Verilog dialects.
Type alias - This type is used for a type definition name, or type alias.
Union type - This type is used for union types, also known as variant types.
The following symbol attributes may be required or excluded in a symbol coloring rule. Each attribute can be in one of three states:
If the attribute is checked, then it is required to be set for a symbol to match the rule. For example, if you check the Inline function attribute then the rule will only match functions that are recognized as inline, as in C++.
If the attribute is unchecked, then it is required to be unset for a symbol to match the rule. For example, if you uncheck the Abstract attribute then the rule will only match functions which are not recognized as abstract (also known as pure virtual in C++).
If the attribute is in the grayed state, then it is ignored with respect to rule matching.
Some attributes are mutually exclusive, such as Public, Protected, Package, and Private. In these cases, checking two mutually exclusive attributes will produce a rule which will not match anything. Instead, you need to use boolean logic and create a rule which unchecks the mutually exclusive attributes that you do not want.
01 level in Cobol linkage section - Variables at the 01 level in COBOL data sections are given this flag to indicate that they are at the top-most level of the data section. This may be a very useful attribute to configure specialized coloring for if you are a Cobol programmer.
Abstract - This attribute is set for abstract classes as well as pure-virtual methods or abstract methods within a class definition.
Ambiguous prototype/var declaration - In C and C++ and some other languages, there is an ambiguity in syntax between function prototype declarations and variable declarations with initializers. See the example below, not knowning type information, it could either be the prototype for a function named ambiguousDeclaration which returns a ClassName and takes one parameter of type Argument, or a variable named the same thing which is of type ClassName and is initialized with Argument.
ClassName ambiguousDeclaration(Argument);
Class constructor - This attribute is set for functions or procedures which act as a class constructor or static initalizer for a class type.
Class destructor - This attribute is set for class destructors.
Const - This attribute is set for variables which are declared with a const return type, meaning that they can not be modified, or that they point to data which can not be modified. It is also set for class member functions that are declared as const, meaning that the function is not allowed to modify members of the class or call other non-const functions.
Created by preprocessor macro - This attribute is set for symbols which are declared in a section of code that was expanded from a preprocessor macro, for exmaple, in C++ where it is common to use preprocessor macros to generate code.
External function or data - This attribute is set for functions or global variables which are declared as extern, meaning that they are defined in another module.
Final - This attribute is set for functions which can not be overridden in derived classes. It is also set for variables, for example, in Java, which are initialized only once and do not change.
Forward declaration - This attribute is set for a forward declaration of a symbol. Since there is a separate symbol type for function prototypes, this attribute is primarily used for forward declarations of classes and structured types.
Ignore/placeholder - This attribute is set for symbols which are merely placeholders, and should be ignored by symbol searches.
Inline function - This attribute is set for functions which are marked as inline, meaning that instead of being compiled into separate functions, their function bodies may be pulled inline at the point where the function is called.
Member of class or package - This attribute is set for symbols which are declared inside a class, package, namespace, or other structured type.
Mutable - This attribute is set for variables which are declared as mutable in, for example, C++.
Native code function - This attribute is set for functions which are implemented in native code, for example, in Java, where certain functions are implemented in DLLs for better performance.
Opaque enumerated type - In C++, the constants declared in an enumerated type do not need to be qualified with the name of the enumerated type. In this sense, they are transparent. In certain other languages, enumeration constants need to be qualified with the name of the enumerated type. These are considered as opaque. This attribute is set for enumerated types whose constants are opaque.
Overloaded operator - This attribute is set for functions whose purpose is to overload standard language operators, such as multiplication, division, assignment.
Package scope - This attribute is set for symbols which are scoped at the package or namespace level. They are visible within the package they are declared in, but considered as private outside of that package. Package scope is the default scope in Java if no other scope (public, protected, or private) is specified.
Part of an external file - This attribute is set for symbols which are declared in an external file which was parsed as part of the process of parsing the current file. For example, this attribute is set for symbols in COBOL copy books.
Partial class - This attribute is set for classes which are marked as partial, meaning that the complete class definition may be spread across several modules.
Private scope - This attribute is set for symbols declared in classes which have private scope. These symbols are visible within the class they are declared in, but not in derived classes, and not outside of the declaring class.
Protected scope - This attribute is set for symbols declared in classes which have protected scope. These symbols are visible within the the class they are declared in, derived classes, but not outside of the declaring class.
Public scope - This attribute is set for symbols declared in classes which have public scope. These symbols are visible everywhere. Note that in many languages, public scope is the default scope if none is otherwise specified (private, protected, or package).
Static - This attribute is set for symbols which are marked as static. The static attribute can be applied in several contexts:
Local variables which are marked as static will retain their last value between function calls.
Global variables and functions which are marked as static are visible only with the current module or compilation unit.
Class members which are marked as static do not require an instance of the class in order to be accessed. In many respects, they are like globals, but scoped within the class declaration.
Synchronized - The synchronized attribute is set for functions which are marked as synchronized, meaning that the function is not re-entrant and can not allow two threads to enter it at the same time.
Template or generic - The template attribute is set for class and function templates, also known as generic functions or generic classes.
Transient data - The transient attribute is set for variables which contain non-persistent data. This is a Java-specific attribute.
Unnamed structure - This attribute is used for anonymous structure types and other anonymous (unnamed) types.
Virtual function - This attribute is used for virtual functions in class definitions.
Volatile - This attribute is used for variables and functions which are marked as volatile. A volatile variable is one whose value can change unpredictably, such as a memory address that echos the value of the system clock. A volatile function is one that accesses a volatile variable.
The standard color rules in the All symbols - Default symbol coloring scheme are described below. These same rules are used in most all the standard symbol coloring schemes, just with different colors, or a subset of the rules.
The list below not only explains the rule types, but also tries to explain the reasoning behind the coloring choices that were made for various rules.
Local variable - This rule matches local variables within a function, excluding static local variables. In most schemes, variable types are colored green, mirroring the color used for variables in the Defs view.
Static local variable - This rule matches static local variables. It is colored slightly more blue that the variable rule, in order to indicate the static (or frozen) nature of the local variable.
Parameter - This rule matches function parameter names and template argument names. Like local variables, they are colored green, matching the color used for variables in the Defs view.
Public member variable - This rule matches public member variables. In most schemes, variable types are colored green, mirroring the color used for variables in the Defs view.
Package member variable - This rule matches package scope member variables. In most schemes, variable types are colored green, mirroring the color used for variables in the Defs view.
Protected member variable - This rule matches protected member variables. In most schemes, variable types are colored green, mirroring the color used for variables in the Defs view. Protected and private members are shown in italic in order to indicate their limited scope.
Private member variable - This rule matches private member variables. In most schemes, variable types are colored green, mirroring the color used for variables in the Defs view. Protected and private members are shown in italic in order to indicate their limited scope.
Public static member variable - This rule matches public member variables. In most schemes, variable types are colored green, mirroring the color used for variables in the Defs view. It is colored slightly more blue, in order to indicate the static nature of the variable.
Package static member variable - This rule matches package scope member variables. In most schemes, variable types are colored green, mirroring the color used for variables in the Defs view. It is colored slightly more blue, in order to indicate the static nature of the variable.
Protected static member variable - This rule matches protected static member variables. In most schemes, variable types are colored green, mirroring the color used for variables in the Defs view. It is colored slightly more blue, in order to indicate the static nature of the variable. Protected and private members are shown in italic in order to indicate their limited scope.
Private static member variable - This rule matches private static member variables. In most schemes, variable types are colored green, mirroring the color used for variables in the Defs view. It is colored slightly more blue, in order to indicate the static nature of the variable. Protected and private members are shown in italic in order to indicate their limited scope.
Global variable - This rule matches global variables. In most schemes, variable types are colored green, mirroring the color used for variables in the Defs view.
Static global variable - This rule matches static global variables, which are visible only within the current module. In most schemes, variable types are colored green, mirroring the color used for variables in the Defs view. It is colored slightly more blue, in order to indicate the static nature of the variable.
Global function - This rule matches global functions and functions declared within namespaces and packages. In most schemes, functions are colored magenta, mirroring the color used for functions, procedures, and prototypes in the Defs view.
Static global function - This rule matches static global functions. In most schemes, functions are colored magenta, mirroring the color used for functions, procedures, and prototypes in the Defs view. It is colored slightly more blue, in order to indicate the static nature of the function.
Class constructor - This rule matches class constructors. Class constructors, destructots, and class names are colored blue, mirroring the color used for Class constructors and destructors in the Defs view.
Class destructor - This rule matches class destructors. Class constructors, destructots, and class names are colored blue, mirroring the color used for Class constructors and destructors in the Defs view.
Public member function - This rule matches public class member functions. In most schemes, functions are colored magenta, mirroring the color used for functions, procedures, and prototypes in the Defs view.
Package member function - This rule matches package scope class member functions. In most schemes, functions are colored magenta, mirroring the color used for functions, procedures, and prototypes in the Defs view.
Protected member function - This rule matches protected scope class member functions. In most schemes, functions are colored magenta, mirroring the color used for functions, procedures, and prototypes in the Defs view. Protected and private members are shown in italic in order to indicate their limited scope.
Private member function - This rule matches private scope class member functions. In most schemes, functions are colored magenta, mirroring the color used for functions, procedures, and prototypes in the Defs view. Protected and private members are shown in italic in order to indicate their limited scope.
Public static member function - This rule matches public static class member functions. In most schemes, functions are colored magenta, mirroring the color used for functions, procedures, and prototypes in the Defs view. It is colored slightly more blue, in order to indicate the static nature of the function.
Package static member function - This rule matches package scope static lass member functions. In most schemes, functions are colored magenta, mirroring the color used for functions, procedures, and prototypes in the Defs view. It is colored slightly more blue, in order to indicate the static nature of the function.
Protected static member function - This rule matches protected static class member functions. In most schemes, functions are colored magenta, mirroring the color used for functions, procedures, and prototypes in the Defs view. It is colored slightly more blue, in order to indicate the static nature of the function. Protected and private members are shown in italic in order to indicate their limited scope.
Private static member function - This rule matches private static class member functions. In most schemes, functions are colored magenta, mirroring the color used for functions, procedures, and prototypes in the Defs view. It is colored slightly more blue, in order to indicate the static nature of the function. Protected and private members are shown in italic in order to indicate their limited scope.
Public class property - This rule matches public class property names. In most schemes, properties are colored cyan, mirorring the color used for properties in the Defs view.
Package class property - This rule matches package scope class property names. In most schemes, properties are colored cyan, mirorring the color used for properties in the Defs view.
Protected class property - This rule matches protected class property names. In most schemes, properties are colored cyan, mirorring the color used for properties in the Defs view. Protected and private members are shown in italic in order to indicate their limited scope.
Private class property - This rule matches private class property names. In most schemes, properties are colored cyan, mirorring the color used for properties in the Defs view. Protected and private members are shown in italic in order to indicate their limited scope.
Class - This rule matches Class names. Class names are colored blue, mirroring the color used for class constructors in the Defs view.
Template class - This rule matches template or generic class names. Class names are colored blue, mirroring the color used for class constructors in the Defs view.
Abstract class - This rule matches an abstract class name. Class names are colored blue, mirroring the color used for class constructors in the Defs view.
Interface class - This rule matches class interface names. Class and interface names are colored blue, mirroring the color used for class constructors in the Defs view.
Struct - This rule matches a structured type, such as a struct in C/C++ or a record type in Pascal or Modula. Structure types are colore blue-green.
Union or variant type - This rule matches union types or variant record types in Pascal. They are colored yellow, mirroring the color used for union types in the Defs view.
Type definition or alias - This rule matches type definitions or type aliases.
Preprocessor macro - This rule matches preprocessor macro names. The color inherits it's color from the preprocessor keyword color of the base color scheme.
Package or namespace - This rule matches a package or namespace name. In most schemes, they are colored red, mirroring the color used for package, namespace, and programs in the Defs view.
Symbolic constant - This rule matches symbol constants used to give names to constant literal values. In most schemes, they are colored gray, mirroring the color used for constants in the Defs view.
Enumerated type or constant - This rule matches enumerated types and constants defined in enumerated types. In most schemes, they are colored cyan, mirroring the color used for enums in the Defs view.
Statement label - This rule matches statement labels. They are colored blue, matching the color used for labels in the Defs view.
Symbol not found - This rule is present as a catch-all for the case where a symbol is not found by Context Tagging®. It is colored bright red in order to indicate that there is a fair likelihood that the source file contains an error.
You can specify which fonts are used by screen elements using the preferences shown below (Window → SlickEdit Preferences → Appearance → Fonts). See Fonts for more information about changing fonts and a list of recommendations.

The preferences are described as follows:
Element - This drop-down contains the screen elements for which fonts can be changed. When an element is selected, the font type and size will automatically adjust to the current settings for that element, and a preview of the font will be displayed in the Sample area. Select from the following elements:
SBCS/DBCS Source Windows - Editor windows that are displaying non-Unicode content (for example, plain text).
Hex Source Windows - Editor windows that are being viewed in Hex mode (Display → Hex).
Unicode Source Windows - Editor windows that are displaying Unicode content (for example, XML).
File Manager Windows - Controls the display of the SlickEdit® Core File Manager (File → File Manager).
Diff Editor Source Windows - The editor windows used by DIFFzilla®.
Parameter Info - Controls the fonts used to display pop-ups with information about symbols and parameters.
Parameter Info Fixed - Used when SlickEdit® Core needs to display a fixed-width font for parameter info, such as when displaying example code.
Selection List - The font used for selection lists, like the buffer list (Format → List Buffers).
Dialog - Controls the font used in SlickEdit® Core dialogs and views.
HTML Proportional - The default font used by HTML controls for proportional fonts. In particular, this affects the Version Control History dialog, the About SlickEdit Core dialog, and the Cool Features dialog.
HTML Fixed - The default font used by HTML controls for fixed-space fonts.
Font and Size - The Font and Size fields allow you to make typeface and point size changes to the selected screen element. The fonts that are listed are the fonts that are installed on your computer.
Style - Styles, such as bold and italic, can be set to affect the selected font.
Sample area - This area provides a preview of the selected font, size, and style.
Fixed Fonts Only - Select this option to display only fixed fonts in the Font field. By default, this option is not selected.
Use fixed spacing for bold and italic fixed Unicode fonts - (Unicode support required) When this option is selected, and a fixed font is selected for a Unicode source window, bold and italic color-coding is supported. Since this requires the Unicode text to be converted to the active code page, some characters may be displayed incorrectly. The current editor display engine ignores bold and italic settings for proportional fonts or fixed Unicode fonts (which are treated like proportional fonts).
Script (Windows only) - Choose Default unless you are editing files that have characters not in the active code pages. Choose Western to use the typical English characters.
Special character preferences are shown below (Window → SlickEdit Preferences → Appearance → Special Characters). These preferences are used to define the characters that are displayed when the view of special characters is enabled. Enabling special characters inserts characters into your file to show such items as tabs, spaces and line endings that are otherwise invisible. See Viewing Special Characters for more information about these settings.
The viewing of special characters is only available for ASCII files.

Keyboard and Mouse preferences (Window → SlickEdit Preferences → Keyboard) pertain to use of the keyboard and mouse, and include preferences for setting the emulation you want to use and creating custom key bindings.
Keyboard option categories are:
Emulation preferences (Window → SlickEdit Preferences → Keyboard → Emulation) are shown below. Use these preferences to specify the editor's emulation mode and to restore default key bindings. Be sure to save your custom bindings before switching emulations. This can be done by exporting (click Key Bindings in the Preferences tree) or by using the prompt that is displayed when you switch emulations. See Emulations for more information about these settings.

Key binding preferences are shown below (Window → SlickEdit Preferences → Keyboard → Key Bindings). From here, you can view, create, and manage key binding associations for SlickEdit® Core commands and user-recorded macros. You can also import, export, or save a chart of your key bindings. See Managing Bindings for more information.

The first time the Key Bindings option screen is invoked, the Building Tag File progress bar may be displayed while Slick-C® macro code is tagged.
Bindings are based on the editor emulation mode (CUA is the default). To change the emulation mode, click Window → SlickEdit Preferences → Keyboard → Emulation. For more information, see Emulations.
The Key Bindings option screen is described as follows:
Search by command - This filter is used for searching commands in the Command column. Type a string in the filter box, and the list of commands is filtered as you type to show only those commands that contain the specified string. The red X button is used to clear the text box or you can edit inside the text box manually.
Search by key sequence - This filter is used for searching bindings in the Key Sequence column. It captures literal keyboard input. For example, when the focus is in this filter, press Ctrl and C at the same time, and "Ctrl+C" is displayed. Press the Backspace key and "Backspace" is displayed. Mouse events inside the filter are literal as well. For example, right-clicking within the filter displays the text "RButtonDn". Because the key sequence filter captures literal keyboard input, you cannot edit the text or use key functions such as backspacing or tabbing in and out of the field. You must use the red X button to clear the filter.
Command - This column lists, in alphabetical order by default, the SlickEdit® Core commands and user macros that are or can be bound to keys or mouse events. Click on the column label to sort bindings by this column. An arrow in the column header indicates the sort order (ascending or descending).
If a command/macro has more than one binding, each instance is listed on a separate row. For example, in CUA emulation, the command gui_open is bound to F7, Command+O (on the Mac), and Ctrl+O. Therefore, gui_open appears in the Command column three times, once for each binding.
Key Sequence - This column shows the mouse event or key sequence associated with the command or macro. If a Key Sequence cell is empty, no binding is associated with that command/macro. Click on the column label to sort bindings by this column. An arrow in the column header indicates the sort order (ascending or descending).
Mode - This column shows the language editing mode to which the key binding applies. The default mode causes the binding to work in all language editing modes. However, the default mode will be overridden by any language-specific mode binding to another command/macro. Click on the column label to sort bindings by this column. An arrow in the column header indicates the sort order (ascending or descending).
To change the mode for a command/macro that is already bound, first you should unbind the command/macro, then recreate the binding with the mode you want to use. See Editing Bindings for more information. For information about editing modes, see Language Editing Mode.
Recorded - This column indicates if the item in the Command column is a SlickEdit® Core command (No) or a user-recorded macro (Yes).
Documentation pane - The bottom pane displays the code documentation for the selected command or macro, if it exists. Click "See Also" hyperlinks (if any exist) to display Help for that item. For See Also links, if a Help entry does not exist, a message box notification is displayed. The documentation pane can be resized by dragging the size bar above it. The size is remembered the next time the screen is displayed.
Import and Export- These buttons allow you to import and export bindings. This is useful for creating backups, sharing with other team members, or taking with you should you switch computers. See Exporting and Importing Bindings for details of these features.
Save Chart - This button allows you to save a reference chart of all current bindings for all language editing modes in the selected emulation. The chart is saved in HTML format with a name and location that you specify. Commands/macros that are not bound are not included.
Remove - This button clears the binding for the selected command/macro. You can also press the Delete key to clear the binding.
Add - This button displays the Bind Key dialog, which is used to initiate a new binding. See Bind Key Dialog and Creating Bindings for more information.
This dialog is used to initiate a new key binding and is displayed when you click Add on the Key Bindings option page.

The dialog is described as follows:
Command - This field shows the command that you have selected to bind.
Key Sequence - This field is used to enter the key sequence or mouse event that you want bound to the command. For example, to enter the key sequence Ctrl+W, literally press the Ctrl and W keys together. It accepts literal keyboard/mouse input, so you cannot edit the text or use key functions such as backspacing or tabbing in and out of the field. You must use the red X button to clear the filter.
Mouse Event button - Click this button located next to the red X button to pick a mouse event to use for the binding. If the event involves pressing a modifier key or keys, such as Ctrl, Alt, Shift, Cmd, Ctrl+Alt, etc., in conjunction with a mouse click, for example, Ctrl+RButtonDn, press the modifier key(s) when clicking the Mouse Event button. Then the Select Mouse Event dialog shows a list of modifier-prefixed mouse events. After selecting the mouse event you want to look up, click OK. The Key Sequence field updates to show the selected mouse event.
Bind - After entering the key sequence or mouse event, click this button to save the binding and close the dialog. Prior to clicking Bind, you may want to assign the binding to a specific language editing mode (see below).
Cancel - Click this button to cancel the binding operation and close the dialog.
Advanced - Click this button to expand the language editing mode settings. By default, all new bindings are assigned to the "default" language editing mode, which means that the binding will work in all modes. To assign the binding to a specific language editing mode, select Bind to mode and click the language editing mode from the drop-down list.
Redefine Common Key preferences (Window → SlickEdit Preferences → Keyboard → Redefine Common Keys) allow you to change the behavior of certain common keys. See also Redefining Common Keys for more information.

The preferences are described as follows:
Backspace in Replace mode - Specifies the behavior of the Backspace key when the Start mode is set to Replace (Window → SlickEdit Preferences → Editing → General → Start mode). When Remove previous character only is selected, Backspace removes the previous character and moves the cursor left. Otherwise the previous character is replaced with a space.
Backspace over tab - Specifies the behavior of the Backspace key when the previous character is a tab. When Convert tab to spaces and remove 1 space is selected, the Backspace key deletes through tab characters one column at a time.
Use Ctrl+Space for input method editor - (Linux only) When set to True, pressing Ctrl+Space activates the Smart Common Input Method (SCIM) editor. When set to False, Ctrl+Space executes its key binding, which performs symbol completion by default. You must enable SCIM support for this option to have any effect. To enable SCIM support, set the VSLICK_XIM environment variable to scim, and set the XMODIFIERS environment variable to @scim. This feature only supports the SCIM editor on Linux.
Redefinable keys preferences are:
Backspace key - Specifies when the cursor is allowed to wrap to the previous line when pressing the Backspace key at the left margin.
Delete key - Specifies the behavior of the Delete key when the rest of the current line is empty. When Next line always joins is selected, the line below the current line is joined with the current line.
End key - Specifies where the cursor is placed when pressing the End key. The Toggle option is useful for trimming extra spaces from long lines, because it gives you a natural and quick way to get to your vertical line column and the last non-blank column.
Enter key - Specifies whether a line is split when pressing Enter and how the cursor is aligned on the new line. Nosplit Insert Line inserts a blank line after the current line and aligns the cursor with the first non-blank character of the original line. The current line is not split. Split Insert Line splits the current line at the cursor. Enough blanks are inserted at the beginning of the new line to align it with the first non-blank character of the original line. Maybe Split Insert Line means that if the Start mode is set to Insert (Window → SlickEdit Preferences → Editing → General → Start mode), the current line is split at the cursor. Enough blanks are appended to the beginning of the new line to align it with the first non-blank character of the original line. If the Start mode is set to Replace, the cursor is moved to column one of the next line.
When changing the key binding for the Enter key, the binding for Ctrl+Enter will automatically switch to the opposite setting, depending on whether it is bound to Split Insert Line or Nosplit Insert Line.
Home key - Specifies where the cursor is placed when pressing the Home key.
Advanced keyboard preferences are shown below (Window → SlickEdit Preferences → Keyboard → Advanced).

The preferences are described as follows:
Key message delay - Specifies the maximum delay, in tenths of a second, between two key combinations when used as a single key binding (for example, Ctrl+X,Ctrl+C). If the time limit is exceeded between when the two key combinations are pressed, the key sequence is interpreted as two separate bindings.
Command line prompting - When set to True, pressing a key binding that normally opens a dialog box causes the SlickEdit® Core command line to prompt for arguments instead of opening the dialog. For example, instead of displaying the Open file dialog, Ctrl+O (bound to gui_open) opens the command line prompting for the file to open. See Command Line Prompting for more information.
Selective Display, Expand/collapse - Specifies how Selective Display expand/collapse bitmaps (Display → Selective Display) are clicked in order to expand/collapse areas. For more information, see Selective Display.
The following preferences are specific to the Vim emulation and are only available after you have selected it. See Emulation Options.

Enter command mode on ESC during codehelp - when set to True, pressing the Escape key during any codehelp or autocomplete will dismiss the dialog and switch to command mode.
Change cursor shape between modes - when set to True, the cursor will change shape when switching between insert mode and command mode.
Verbose Ex mode prompt - when set to True, a warning is displayed in front of the prompt when staying in Ex mode.
Always highlight search results - when set to True, the editor will always highlight search results.
Start in command mode - when set to True, the editor will switch to command mode any time you switch to a different buffer.
The following preferences are specific to the ISPF emulation and are only available after you have selected it. See Emulation Options.

Prefix area width - Sets the width of the prefix area.
Display prefix area for readonly files - By default, the prefix area is not displayed for read-only files. Since the prefix area can be used to enter commands, you may wish to have the prefix area visible for these files.
Enter places cursor in prefix area - When set to True, pressing the Enter key places the cursor in the prefix area on the next line.
Right CTRL = Enter/Send - When set to True, pressing the right-hand CTRL key sends the command.
Cursor page up/down - When set to True, pressing PageUp or PageDown will move the current line to the top or bottom of the screen, respectively. If the current line was already at the top/bottom of the screen, then the display is scrolled one page. When False, the display is always scrolled one page.
END command saves the file - When set to True, the END command saves the file before closing the file. When set to False, you will be prompted whether to save.
XEDIT line commands - When set to True, allows the use of XEDIT commands.
Home key places cursor on command line - When set to True, pressing the Home key puts the cursor on the SlickEdit command line.
Editing preferences (Window → SlickEdit Preferences → Editing) directly impact your SlickEdit® Core coding experience. By customizing these preferences so that SlickEdit® Core works the way you prefer and to which you are accustomed, you can greatly improve your coding speed and efficiency. Editing preferences include default search/replace values, selection styles, specifying the size of new editor windows, and more.
Editing option categories are:
General editing preferences are shown below (Window → SlickEdit Preferences → Appearance → General).

The preferences are described as follows:
Start mode - Specifies the default insert/replace editing mode to use each time the editor is invoked. The editing mode is indicated in the status line of the editor (Ins or Rep). You can also click on the indicator to toggle the editing mode.
Line insert style - SlickEdit® Core treats line selections differently than character selections. This option controls whether lines are inserted before or after the current line when you paste a line selection. This feature saves you from having to tediously position the cursor at the beginning or end of a line prior to pasting.
Next word style - Specifies the cursor behavior when navigating with the next_word command (Ctrl+Right). When Begin is selected, the cursor is placed on the beginning of the next word. When End is selected, the cursor is placed at the end of the next word.
Maximum clipboards - Specifies the maximum number of clipboards saved. By default, a stack of your last 50 clipboards are kept, any one of which can be pasted with Ctrl+Shift+V.
Allow drag/drop of text - When set to True, selected text can be copied or moved by dragging and dropping the selection using the left mouse button.
Reflow next - Specifies where the cursor is placed when running the reflow_paragraph command. When Cursor on next paragraph is selected, the cursor is placed on the next paragraph after it has reformatted the current paragraph.
Protect read-only mode - When set to True, read-only files cannot be modified. If you attempt to modify a read-only file, SlickEdit® Core displays a notification. If you attempt to save a read-only file, SlickEdit® Core prompts for a different output file name.
CUA text box - When set to True, the keys Ctrl+X, Ctrl+C, and Ctrl+V perform cut, copy, and paste commands respectively for text boxes other than the command line, regardless of the emulation. When False, these keys operate the same in a text box as they do in the command line and edit windows, which could be useful if you're using a non-CUA emulation or prefer to use your own editing key bindings.
Preserve column on top/bottom - When set to True, the top_of_buffer (Ctrl+Home) and bottom_of_buffer (Ctrl+End) commands do not change the column position unless already at the top or bottom of the buffer.
Parenthesis matching - See Begin/End Structure Matching for more information about paren matching. The following preferences available:
Parenthesis matching style - When Highlight is selected, after typing a closing paren, SlickEdit® Core temporarily block-selects the text within the paren pair. When Cursor to Begin Paren is selected, after typing a closing paren, SlickEdit® Core temporarily places the cursor on the matching begin paren. When None is selected, SlickEdit® Core just inserts the closing paren.
Highlight matching blocks - When set to True, the corresponding parenthesis, brace, bracket, or begin/end word pair under the cursor is automatically highlighted.
To customize the highlight color, go to Window → SlickEdit Preferences → Appearance → Colors, and select the Block Matching screen element. To adjust the delay in milliseconds before the highlighting is updated, go to Macro → Set Macro Variable and modify the variable def_match_paren_idle. See Setting Colors for Screen Elements and Setting/Changing Configuration Variables for more information.
Cursor Movement preferences are shown below (Window → SlickEdit Preferences → Editing → Cursor Movement). These preferences control the movement of the cursor within editor windows.

The following preferences are available:
Cursor right/left wraps to next/previous line - When set to True, the cursor_left and cursor_right commands wrap to the previous or next line respectively.
Cursor up/down places cursor in virtual space - When set to True, the cursor_up and cursor_down commands place the cursor up or down, respectively, at either the end of the line or at the column of the original location, whichever comes first. The cursor is never placed past the end of the line. When set to False, cursor_up and cursor_down go to the same column of the next or previous line, regardless of the length of the line.
Click past end of line - When set to True, the cursor can be placed past the end of a line into virtual space.
Cursor up/down within soft wrapped lines - When set to True, if Soft Wrap is enabled (Display → Soft Wrap), the cursor_up and cursor_down commands move the cursor up to the next or previous visible line, including line continuations. When set to False, cursor_up and cursor_down moves the cursor to the previous or next physical line (the same position to which the cursor would move if Soft Wrap was off).
Cursor left/right in leading spaces - Specifies the behavior of the cursor_left and cursor_right commands when moving the cursor within leading space. The purpose of this option is to emulate the "feel" of real tab characters even if you only use spaces for indentation.
Line wrap - Specifies when line wrapping occurs, either when the cursor reaches column one or when it reaches the left margin. When language-specific Word Wrap is on (Window → SlickEdit Preferences → Languages → [Language Category] → [Language] → Word Wrap), wrapping occurs when the left margin is reached regardless of this setting.
Jump over tab characters - When set to True, moving the cursor over a tab character with the Left or Right arrow key causes the cursor to jump across the virtual space. When set to False, the Left and Right arrow keys move the cursor into the virtual space of tab characters. Note that this setting also controls where the cursor is placed when clicking in a buffer or making a selection.
Subword navigation - When set to True, the word navigation commands, like next_word, behave like their subword navigation counterparts, like next_subword. Word navigation jumps to the next word based on the Word chars value set at Window → SlickEdit Preferences → Languages → [Language Category] → [Language] → General. Subword navigation stops within a word at each capital letter or after each underscore or dash, making it easier to edit the name of a symbol. For more information, see Subword Navigation.
Undo affects cursor movement - When set to True cursor movement is added to the undo stack, so undo operations will also undo cursor movement and edits.
Context Tagging preferences are shown below (Window → SlickEdit Preferences → Editing → Context Tagging). These preferences let you set general parameters for the Context Tagging features. You can designate the way Context Tagging is performed and how the references function within the application, and you can also tune the application to maximize performance. See also Building and Managing Tag Files for more information.

The following preferences are available:
Background tagging of open files:
Tag file on save - When set to True, files are retagged when you save a modified file.
Background tagging of open files - When set to True, all open files are retagged in the background if they have been modified.
Use background thread when possible - When set to True, open files are tagged using a separate thread instead of using a timer on the main thread.
Start after seconds idle - Specifies the amount of time, in seconds, the editor remains idle (no keyboard or mouse movements) before retagging of buffers starts, when Background tagging of open files is enabled.
Max size of files to tag - Specifies the maximum size, in kilobytes, a file is allowed to have in order to be tagged.
Max number of tags per file - Specifies the maximum number of tags (including statements, if Statement Level Tagging is enabled) that a file is allowed to have in order to appear in the Defs and Current Context views.
Background tagging of other files:
Background tagging of other files - When set to True, tag files are updated when another application modifies a file. Note that this causes SlickEdit® Core to constantly perform disk I/O to check dates of files on disk.
Use background thread when possible - When set to True, all open files are retagged in the background using a thread instead of being tagged on the main thread using a timer. This option applies only to languages that support threaded tagging.
Start after minutes idle - Specifies the amount of time, in minutes, the editor remains idle (no keyboard or mouse movements) before retagging of files on disk starts, when Background tagging of open files is enabled.
Maximum number of files to tag - Specifies the maximum number of files that SlickEdit® Core re-tags in one pass, when Background tagging of open files is enabled.
Maximum number of files to consider - Specifies the maximum number of file dates to consider for processing when background tagging starts. Specifying a smaller maximum value allows you to regain editor access more quickly, but re-tagging is slower. Specifying a larger maximum value allows re-tagging to be quicker, but it will take longer to regain editor access.
Minutes before restarting - Specifies the number of minutes to wait for background tagging to start again after all files have been fully tagged.
Workspace tag file only - When set to True, background tagging cycles through only the workspace tag file. When set to False, background tagging cycles through all of your language-specific tag files (listed under Tools → Tag Files) in addition to the workspace tag file.
Background Tagging Threads:
Number of tagging threads to start - The number of threads to be used for background tagging. This number should be based on the number of processors/cores on your computer and the other tasks you may be running while editing.
Create dedicated tagging thread for reading files from disk - When set to True, an additional background tagging thread is created which is dedicated to reading files from disk. This improves performance by reducing disk contention between tagging threads and by pipelining reading and parsing operations. You have to restart the editor for a change to this setting to take effect.
Create dedicated tagging thread for writing to the tag database - When set to True, an additional background tagging thread is created which is dedicated to writing tagging information to the tag database. This improves performance by reducing disk contention between tagging threads and by pipelining parsing operations and tag database updates. You have to restart the editor for a change to this setting to take effect.
Use background thread to build workspace tag file when possible - When set to True workspace files are initially built on a background thread instead of being built synchronously. This option applies only to languages that support threaded tagging.
Use background thread to build language support tag files when possible - When set to True tag files for language support, like compiler libraries, are built initially using a background thread instead of being built synchronously. This option applies only to languages that support threaded tagging.
Report background tagging progress on status bar - When set to True messages are written to the message line indicating the progress of background tagging.
Process background tagging jobs after (ms) idle - Specifies the amount of idle time to wait before polling for completed background tagging jobs.
Background tagging timeout (ms) - Specifies the maximum amount of time to spend gathering background tagging results before returning control to the editor.
Maximum number of active tagging jobs - Specifies the maximum number of background tagging jobs to allow to be active in the background tagging processing queues at once. This setting is used to limit the amount of memory that background tagging can consume while running. You have to restart the editor for a change to this setting to take effect.
Minimize write locking when updating database (uses more memory) - When set to True, specifies that background tagging should minimize the amount of time the database is locked for writing. It does this by caching modified blocks in memory until background tagging is done updating all the records for a file. There is no set limit on how much more memory this option uses, but in general, it will require an additional 10-50M while background tagging is running. You have to restart the editor for a change to this setting to take effect.
Tagging Views:
Update tool windows after (ms) - Specifies the amount of idle time before the Preview window is updated to match the current location. Prevents the Preview window from showing results as you cursor through the code.
Additional time to wait before updating tool windows (ms) - Additional delay before updating other tool windows. This gives background threads more time to update the current file before other windows are updated.
Preview window timeout (ms) - Specifies the maximum amount of time that the preview window should spend trying to look up a symbol. If the symbol is not found in that time, it will not display the symbol preview. Smaller values will help prevent typing delays.
References - Select from the following:
Build workspace tag file with references - When set to True, newly created tag files are built with support for symbol cross-references.
Find references incrementally (faster) - When set to True, reference queries are faster because analysis stops when a file is found containing a valid reference. However, you may see files which do not have any references to the symbol you are looking for listed in the References view. When set to False, all files with potential references are searched and analyzed so that the files which do not contain any references are removed.
Update references and call tree on single click - When set to True, references in the References view are updated when you click on a new symbol in the Classes, Defs, or Symbols view.
"Go to references" only lists references - When set to True, Go to Reference searches for references but does not jump immediately to the first reference. When set to False, Go to Reference searches for references and automatically jumps to the first one. Note that you can find the next reference by using the find_next command (Edit → Find Next or Ctrl+G).
Search for word matches if symbol is not found - When set to True, Go to Reference will search for simple word matches if the symbol under the cursor is not found by Context Tagging®.
Highlight references in editor - When set to True, each reference is highlighted within files.
Maximums (tune for performance) - You can tune Context Tagging performance and accuracy by adjusting these values. Higher values will find more tags but increase search time. Lower values improve performance but may cause tags to be omitted.
Maximum functions found by parameter help - Specifies the maximum number of overloaded functions to display when function parameter help (Parameter Information) is invoked.
Maximum globals shown in list members - Specifies the maximum number of global symbols to display when List Members is invoked.
Maximum class/struct members shown in list - Specifies the maximum number of class/struct members to display when List Members is invoked.
Maximum candidates for list parameters - Specifies the maximum number of local variables and class members that are evaluated to determine assignment compatibility when Auto List Compatible Parameters is invoked.
Maximum response time to list parameters - Specifies the maximum amount of time, in milliseconds, that SlickEdit® Core spends finding compatible parameters. Note that this is not a hard limit; in some cases, evaluating the assignment compatibility of a single variable can be time-consuming, especially when templates are involved.
Maximum tags found in symbol search - Specifies the number of tags found when Find Tag is invoked (right-click in the Symbols View and select Find Tag). This setting also controls the number of duplicate tags that are tried when SlickEdit® Core is attempting to evaluate the type of a symbol.
Maximum items found in references search - Specifies that a symbol references search should stop after this many hits are found.
Tag file cache size - Specifies the cache size, in kilobytes, for tag files. Tagging performance can be improved by adjusting this setting to better match the size of your tag files. Generally, a tag file cache size that matches the total size of the tag files being used will provide the best performance. For example, if the tag files for your source code and libraries adds up to 100 MB, you should set your cache size to 100 MB. You may have to experiment to find the optimum value. Use the following recommendations as a guide:
* Minimum - 8 MB
* Default - 64 MB
* Ideal - Sum of tag file sizes
* Maximum - 25% of physical system memory
Note that this is the same as the Tag file cache size option under Window → SlickEdit Preferences → Application Options → Virtual Memory.
Tag file cache maximum - Specifies the maximum cache size, in kilobytes, for tag files. The tag file cache size can be dynamically adjusted as high as this amount depending on the amount of available memory on your machine at the time SlickEdit Core is started.
Note that this is the same as the Tag file cache maximum option under Window → SlickEdit Preferences → Application Options → Virtual Memory.
Update after (ms) idle (0 implies no delay) - This option controls the idle time in milliseconds before the List Members feature displays a list.
Maximum response time (ms) for highlighting matching symbols - Specifies the maximum amount of time to spend locating matching symbols. Only symbols found in this amount of time will be displayed.
Symbol coloring performance: - Use these preferences to fine tune symbol coloring performance.
Update after (ms) idle - Specifies the amount of time (in milliseconds) to wait to update the symbol coloring information for a file after the file has been modified. Based on average typing speed, we do not recommend setting this value to less than 250 ms.
Timeout after (ms) - Symbol coloring will be performed in time slices no greater than the amount specified. Setting this value very low will protect against typing delays. However, you may see the symbols coloring from top to bottom rather than seeing the whole page colored in one shot.
Number of lines to color above and below the current page - For best performance, symbol coloring only colors the current visible page of lines and a small window of surrounding lines. This setting allows you to configure how many lines before and after the current visible page of lines are also colored. Set this to 0 for optimal performance with no prefetch of symbol coloring information.
Number of off-page lines to color per pass (chunk size) - After calculating the symbol coloring for the lines on the current page, symbol coloring will start prefetching coloring for surrounding lines. This setting controls the number of lines calculated per pass.
Auto-Complete performance tuning:
Maximum symbols - For performance tuning, you can limit the maximum number of symbols displayed by Auto-Complete. This setting affects all file extensions.
Maximum word completion - For performance tuning, you can limit the maximum number of word completions displayed by Word Completion. This setting affects all file extensions. This is especially useful when editing large files.
Display after (ms) idle - The number of milliseconds the editor must be idle before auto-completion suggestions will be displayed. This setting affects all extensions.
Update after (ms) idle - The number of milliseconds the editor must be idle before auto-completion suggestions will be refreshed. This setting affects all extensions.
Timeout after (ms) - The number of milliseconds allowed for Auto-Complete to find suggestions.
Selection preferences are shown below (Window → SlickEdit Preferences → Editing → Selections). See also Selections for more information.

The following preferences are available:
Styles - Choose the selection style you wish to use from the following preferences:
User defined - This option is for setting your own selection preferences. Any changes that are made to the CUA behaviors automatically select User Defined. Selecting CUA automatically resets the select behaviors.
CUA - When this style is selected, selected text is deleted before a paste or character is inserted unless the selection is locked. Pressing the Backspace or Delete keys deletes the selection unless the selection is locked. Advanced selections (those selections not started with the mouse or Shift+<arrow keys>) are extended as the cursor moves. Locking a selection requires one of the emulation commands select_line, select_block, or select_char. To access these commands from Edit pull-down menu, select this option in any emulation.
SlickEdit default - When this style is selected, SlickEdit® Core uses the default styles that are enabled when the product is installed.
Extend selection as cursor moves - When checked, the selection is extended to cursor position. This option is not available if using Brief or Emacs emulation.
Deselect after copy - Indicates whether copied text is selected. This is not available if using Brief or Emacs emulation.
Deselect after paste - Indicates whether pasted text is selected. This is not available if using Brief or Emacs emulation.
Inclusive character selection - When checked, a character selection includes the character following the cursor. This option is not available if using Brief or Emacs emulation.
Delete selection before insert - Indicates whether a selection is deleted before new text is inserted. This option is not available if using a Brief or Emacs emulation.
Auto deselect (i.e. when cursor moves) - Check this box to clear a selection when the cursor moves or one of a few other editor operations occurs. This option is not available if using a Brief or Emacs emulation.
Shift+Cursor always char select - When this check box is cleared, pressing the Shift+<arrow keys> will select line or block selections, depending upon the direction the cursor moves. This is not available if using a Brief emulation.
Mouse selection creates clipboard - Select this option to use the left mouse button to create a clipboard and to use the middle mouse button to paste.
Arrow keys traverse selection - If checked, the Left arrow key moves the cursor to the beginning of the selection and the Right arrow key moves the cursor to the end of the selection.
Enable block selections with right-click and drag - If checked, then clicking the right mouse button and dragging allows you to make block selections.
Clipboard formats - (Windows only) Select the type of editing format for clipboards, allowing you to paste formatted and color-coded text to other applications (as well as plain text). Choose from RTF Format or HTML Format.
Search preferences are shown below (Window → SlickEdit Preferences → Editing → Search). This option screen can also be displayed from the Find and Replace view (Edit → Find/Replace or Ctrl+F), or right-click in the background and select Configure Preferences.
These are the default search preferences that control the behavior of Find and Replace operations in the following instances:
The very first time the Find and Replace view is displayed. After that, dialog history takes over, unless:
You set the default search option Initialize with default preferences setting to True, then the preferences are reset to default every time the view is invoked, or
You use the right-click context menu in the Find and Replace view to select Use Default Preferences, which resets to the default state.
The default preferences are always applied when using:
Quick Search and Quick Replace.
Incremental Search.
Command-line searches (find and /) if you don't specify preferences explicitly.
Selective Display commands when searching by text.
For more information, see Find and Replace.

The following preferences are available:
Default search preferences - The following default search preferences apply to all command line searches, quick searches and incremental searches, and to the Find and Replace view when the option Initialize with default preferences is enabled.
Match case - When set to True, search commands default to case-sensitive searches.
Match whole word - When set to True, search commands default to only finding matches to the word as a whole. When set to False, search commands default to finding all instances of the word, ignoring characters that are to the left and right of the occurrence.
Regular expression - When set to True, search commands default to regular expression searching.
Regular expression syntax - Specifies which regular expression syntax to use for default regex searching, when Regular expression search is enabled.
Wrap at beginning/end - Specifies whether or not search commands always wrap at the beginning or end of a buffer during a search/replace operation to complete a search.
Search backward - When set to True, searches are always performed from the end to the beginning.
Place cursor at end - When set to True, the cursor is placed at the end of the found occurrence.
Search hidden text - When set to True, text hidden by Selective Display is allowed to be searched. To set Selective Display preferences, from the main menu click Display → Selective Display. See Selective Display for more information.
View preferences - Select from the following:
Search string initialization - The following preferences provide starting values for when a search and replace operation is activated:
Initialize search string - Specifies the initial value to be used in the Search for fields of the Find and Replace view when the window is activated. When History retrieval is selected, the Find and Replace view uses the last item that was searched for as the word used when performing a search. When Word at cursor is selected, the Find and Replace view uses the word that is at the cursor when performing a search.
Selected text (if exists) - When set to True, the current selection is used as the initial value in the Search for fields of the Find and Replace view when the window is activated. If a selection doesn't exist, the value specified by the Initialize search string option is used.
Additional preferences - Select from the following:
Restore cursor after replace - When set to True, the cursor is restored to its original position after a search/replace operation completes without being cancelled.
Leave selected - When set to True, the last occurrence of a matching search string is left selected when a search operation completes. This also affects whether pressing Esc during a search and replace leaves the search string selected.
Incremental search highlighting - When set to True, incremental searching highlights matching occurrences with two colors: one for the current match at the cursor and one for all possible matches. Highlights are removed when the search terminates. These colors are controlled by the I-Search Current Match and I-Search Highlight screen elements (Window → SlickEdit Preferences → Appearance → Colors). See Incremental Searching for more information.
Maximum search results output (KB) - Specifies the maximum amount of search results, in kilobytes, to return after a search operation.
Auto-Close automatically inserts matching closing punctuation when opening punctuation is entered. Auto-Close preferences are shown below (Window → SlickEdit Preferences → Editing → Auto-Close).

The following Auto-Close preferences are available:
Show navigation hints - This option controls whether a navigation hint is shown when Auto-Close is used. These hints will tell you where you can jump by using the completion keys. Select from the following choices:
Caret - The navigation hint will appear as a small triangle at the bottom of the line of code.
Vertical pipe - The navigation hint will appear as a vertical pipe, similar to a non-blinking cursor.
None - Select this choice if you do not wish to see any navigation hints.
Completion Keys - These Preferences determine which keys can be used to jump to the end of automatically inserted punctuation.
Enter - When set to True, pressing Enter will jump to the end of automatically inserted punctuation. When set to False, Enter will perform its usual function when in the middle of automatically inserted punctuation.
Tab - When set to True, pressing Tab will jump to the end of automatically inserted punctuation. When set to False, Tab will perform its usual function when in the middle of automatically inserted punctuation.
Global alias preferences are shown below (Window → SlickEdit Preferences → Editing → Global Aliases). After using this screen to create an alias, use the alias in the editor by typing the identifier and pressing Ctrl+Space.

Note that the Global Aliases preferences page uses the same form that is used to create and manage Language-Specific Aliases. See Global Aliases for more information about this feature.
SlickEdit® Core provides many preferences that can be configured on a language-specific basis, such as indenting and word wrap. For example, settings for coding in C/C++ can be set differently than those used for Java. SlickEdit® Core uses the extension of the current file to determine what language you are using, thereby only making available the features that are possible in that language and applying the associated settings. For convenience, we provide a means to set most of these values for all languages, too.
Use the [Language] section of the Preferences dialog (Window → SlickEdit Preferences → Languages → [Language Category] → [Language]) to control the behavior of SlickEdit Core for specific a language. Each supported language is categorized by its language type. Expand the applicable category node to find your language. For example, C/C++ and Java are located under the Application Languages node.
A shortcut method to access language preferences for the current buffer is to use the Format → [Language] Options menu item. This will open the Preferences dialog to the General language-specific option screen for that language.
The preferences available for each language are further categorized by type. In general, the option categories are the same for each language (General, Indent, View, etc.), although if a particular language does not support a particular set of preferences, that preferences category is not included. Conversely, some languages include additional preferences that are not available in other languages. While most of the preferences are common among all languages, the default settings for these preferences vary.
Many of the language preferences can be set for all languages as well, using Window → SlickEdit Preferences → Languages → All Languages. This avoids having to repetitively set preferences for things like viewing line numbers. The All Languages preferences are arranged in the same hierarchy and screens used for the individual language preferences. For more information, about this section, see All Languages
The Language Manager and Extension Manager nodes are used to add and remove languages and manage language extension associations. See Managing Languages and Managing File Extensions for more information on these screens. You can also use the Extensionless File Manager to associate files without extensions to languages. See Managing Extensionless Files for more information about this screen.
The common categories for each language (when supported) are:
The Language Manager provides and alphabetical listing of all languages known to SlickEdit Core. By selecting a language and clicking the Settings button, you can navigate to the general options page for that language. See Language-Specific General Options for more information.

The File Extension Manager associates a file extension with a language. You can set the default encoding for files with that extension or specify an application to use to open files of this type. Click the Language Setup button to go to the General options for the selected language. See Language-Specific General Options for more information.

Some files do not have extensions. The Extensionless File Manager allows you to specify the language for these files. You can specify the language for a specific file or a group of files that match a pattern.

The top part of the Extensionless File Manager screen allows you to define the language for specific files. The following buttons are provided to manage the list:
Edit - click this button to edit the language for the specified file.
Add - click this button to add a new file to the list.
Delete - click this button to remove the selected file from the list.
The bottom part of the Extensionless File Manager screen allows you to define the language for files that match the specified patterns. The following buttons are provided to manage the list:
Edit - click this button to edit the selected pattern.
Add filename - click this button to add a pattern that matches a filename. You will be prompted for the filename and the language it should be associated with.
Add path - click this button to add a pattern that matches a path. You will be prompted for the path and the language it should be associated with.
Add pattern - click this button to add a pattern on your own. You will be prompted for the painter and the language it should be associated with. You can use this button to add patterns for filenames or paths, but it is easier to enter them using the buttons described, above.
Delete - click this button to remove the selected pattern from the list.
Move up - click this button to move the selected pattern higher in the list.
Move down - click this button to move the selected pattern lower the list.
SlickEdit supports many languages and allows you to configure each one on an individual basis. Should you wish to set a language-specific setting to the same value for each language, you can use the All Languages Preferences (Window → SlickEdit Preferences → Languages → All Languages). By expanding this category, you can see the same options nodes found underneath the individual languages.
To set an all language preferences, simply use the control as you would any other control. Set the value you wish to be used by all languages, then click OK or Apply. The settings of each language will be updated. Once you set a value, other language options nodes will be updated to reflect that change. For example, if you set All Languages > Indent > Tabs to +3, when you navigate to C/C++ > Indent, the Tabs value will be set to +3. You can still set an individual language option. If you then set Tabs for C/C++ to +4 and click OK, then the tabs for C/C++ will be set to +4, while the tabs for every other language will still be set to +3, as specified in the All Languages preferences.
When you first view an preferences node for an individual language, the preferences show the current settings for that language. However, for All Languages, the options shown reveal amalgamated settings for all the languages that SlickEdit supports. If every language has a setting turned off, it will be shown as off under All Languages. Additionally, each control has a "neutral" setting, which indicates that all the languages do not share the same setting. This neutral setting appears differently for different controls.
Radio buttons - When all languages do not have the same setting for a radio button set, then none of the radio buttons will be selected.

Check boxes - A check box option will be filled in with a square to indicate that all languages do not have the same value for the setting.

Text boxes - Text boxes will be left blank to indicate that all languages do not share the same value.

Combo boxes - When all languages do not have the same value for a combo box setting, the combo box will say Languages Differ in the text area.

Property Sheet Preferences - If an option found in a property sheet does not have the same setting for all languages, then the property value will say Languages Differ.

This option screen shows the mode name and associated file extensions for the selected language, and provides other general preferences. The settings on this page depend on the selected language. As an example, the C/C++ General preferences are shown below (Window → SlickEdit Preferences → Languages → Application Languages → C/C++ → General).

The preferences are described as follows:
Mode name - Allows you to enter a more meaningful name for this extension setup. Define a mode name here for the Format → Select Mode menu item to work well. See Language Editing Mode for more information.
File Extensions - This area displays a list of file extensions associated with the selected language. See Managing File Extensions for more information.
Edit These Extensions - Allows you to add or remove file extensions for the language mode. The language-specific File Extensions dialog is displayed. Click the green Plus button to add a new extension and use the red X button to delete the selected extension. You can also add an extension by double-clicking where indicated.

Truncation - When On or Auto is selected, all editor operations prevent the data from the right of the truncation line length to be moved or to be modified. For example, search and replace operations do not find data to the right of the truncating line length. In addition, when a replace occurs, the data to the right of the truncation line length will not move.
Set this to Auto for the editor to determine the truncation line length based on the record format of the file. For files that do not have a record format, the truncation length is turned off. For example, when Auto is on and the record width of the file is 80, 72 is used as the truncation line length (the record length minus eight).
Auto CAPS - If selected, and a file is opened that does not contain any lowercase characters, caps mode is turned on (not the same as caps lock). When caps mode is on, all text is inserted in uppercase. This feature is intended to emulate ISPF.
Context menus - These preferences specify which context menu to display in the editor window based on whether a text selection is made in the editor window.
Menu if no selection - This specifies the menu that is displayed when right-clicking in an edit window that does not have a selection.
Menu if selection - This specifies the menu that is displayed when right-clicking in an edit window that has a selection.
Select first (Affects all extensions) - When checked (default), a selection can be made with the right mouse button instead of displaying the language-specific menu. When this is not checked, select menu items by clicking and dragging the mouse.
Begin/end pairs - Specify the begin/end pairs to use for the selected extension in a format similar to a regular expression. This text box is unavailable for languages that have special begin/end matching built-in. See Begin/End Structure Matching for more information about begin/end pairs and using this option.
Word chars - These are the characters that SlickEdit® Core uses to recognize a string of text as a word. The word characters affect the operation of all word-oriented commands, including word searching. You can use a dash (-) character to specify a range, such as "A-Z", which specifies uppercase letters. To specify the dash (-) character as a valid word character, place a dash at the beginning or end of the word character string.
Word chars are not used for tagging operations. To adjust the identifier characters used by Context Tagging®, use the Identifiers preferences on the Tokens tab of the Color Coding preferences page (Window → SlickEdit Preferences → Languages → [Language Category] → [Language] → Color Coding).
These preferences control the display of special characters, line numbers, and more. C/C++ View preferences are shown below (Window → SlickEdit Preferences → Languages → Application Languages → C/C++ → View).

When this option is selected, view of all types of special characters is enabled for the language. This includes Tabs, Spaces, and Newline characters as well as all of the other special characters listed on the Window → SlickEdit Preferences → Appearance → Special Characters option screen.
Alternately, select the individual preferences to enable display of the special characters you want to see. Note that you can also toggle display of special characters on a per-document basis with the menu item Display → Special Chars (or use the view_specialchars_toggle command). Viewing of special characters is only available for ASCII files. See Viewing Special Characters for more information.
Configure Special Characters - Jumps to the Window → SlickEdit Preferences → Appearance → Special Characters node in the Preferences dialog, where you can define the visible characters that represent each type of special character. See Special Character Options for more information.
When this option is selected, display of line numbers is enabled for the selected language. By default, SlickEdit Core automatically adjusts the width of the line numbers based on the length of the current file. You can set a fixed width if you prefer.
Note that you can also toggle display of line numbers for a single document with Display → Line Numbers (or the view_line_numbers_toggle command). See Viewing Line Numbers for more information.
When checked, modified and inserted lines are indicated with a color bar in the left margin. Click the Select color link to select the colors for each. For more information see Modified Lines.
When checked, the current line is highlighted using the selected background and foreground color. To select the colors used, click the Select colors link. For more information see Current Line.
This option is used to enable Hex mode editing (choose Hex or Line hex). You can also enable Hex mode on a per-document basis with the menu items Display → Hex and Display → Line Hex (or use the commands hex and linehex). See Hex Mode Editing for more information.
These preferences lets you set the indenting style you like on a language-specific basis. You can also specify whether code is indented with spaces or tabs and set the behavior of the Tab key. The features Syntax Indent, SmartPaste®, Dynamic Surround, and Syntax Expansion are also enabled through this page.
The settings on this page depend on the selected language. As an example, the C/C++ Indent preferences are shown below (Window → SlickEdit Preferences → Languages → Application Languages → C/C++ → Indent).

The preferences are described as follows:
Indent style - Select from the following indent styles:
None - When this option is selected, the Enter key will put the cursor at the beginning of the line.
Auto - When this option is selected, the Enter key indents according to the previous line.
Syntax indent- When this option is selected, the Enter key indents according to language syntax. The value in the text box specifies the amount to indent for each level. The hyperlink indicates if Adaptive Formatting is on or off for this setting. See Syntax Indent for more information.
When tab key reindents the line - These preferences specify that the Tab key be used to beautify or reindent the current line. Select from the following settings:
Never - When this option is selected, pressing Tab will never reindent the line. It will indent to the next tab stop.
Always - Pressing the Tab key in any column will reindent the current line.
In leading blanks - Pressing the Tab key will reindent the line if the cursor is positioned within the leading white space of the line. Otherwise it will indent to the next tab stop. This option is further controlled by the Strict check box.
Strict - Strict only applies to the In leading blanks option. When this option is selected, it reindents the line only if the cursor position is before the intended indent location; otherwise, it will insert an additional tab stop. When this option is cleared, it reindents the line when the cursor is located on the leading whitespace, regardless of whether the column is before or after the intended indent location.
Tabs - Set tabs in increments of a specific value or at specific column positions. To specify an increment of three, enter 3 in the text box. To specify columns, for example, enter 1 8 27 44, to specify tab stops that are not an increment of a specific value. The hyperlink indicates if Adaptive Formatting is on or off for this setting.
Indent with tabs - Determines whether Tab key, Enter key, and paragraph reformat commands indent with spaces or tabs. The hyperlink indicates if Adaptive Formatting is on or off for this setting. See Indenting with Tabs for more information.
Insert real indent - When this option is selected, the Enter key inserts real spaces or tabs representing the indent instead of virtual spaces. This option allows the function for the End key on the keyboard to place the cursor after blank text where new text can be typed.
Indent selection when text selected (affects all extensions) - When this option is selected, it affects all of the extensions, and pressing Tab or Shift+Tab indents or unindents the selected text.
Backspace at beginning of line unindents - When this option is selected and the cursor is located before the first non-blank character, pressing the Backspace key unindents the current line by one indent level. See also Setting the Backspace Unindent Style.
Use SmartPaste® - Specifies whether copied or pasted text should be reindented according to what the editor thinks is the correct indent level. See SmartPaste® for more information.
Use Dynamic Surround - Provides the ability to surround a group of statements with a block statement, indented to the correct levels according to your indent settings on this tab. In order for Dynamic Surround to work, the option Syntax Expansion must also be selected (see below). See Dynamic Surround for more information on how to use this feature.
Syntax expansion - Activates the Syntax Expansion feature. When this option is selected, pressing the spacebar after typing a keyword such as if or for will cause that syntax element to be expanded, inserting the rest of the if or for statement. Alternately, you can bind a space command to a key other than the spacebar. See Syntax Expansion for more information on using this feature.
Minimum expandable keyword length - Sets the minimum length for a keyword that will trigger Syntax Expansion. For example, if this is set to 3, then two-letter keywords such as if will not be expanded.
These preferences let you configure the way SlickEdit® Core formats code as you type. Depending on the language, you can specify the code formatting templates, how various syntactical elements are treated, when and what code elements are automatically inserted, and more. The formatting preferences that are available depend on the selected language. For more information, see the following section for your language (or the one that most closely relates to your language):
Adaptive Formatting scans a file for the formatting styles in use and automatically matches those settings for the current editing session. The preferences on this screen are used to enable/disable Adaptive Formatting and configure the styles that SlickEdit® Core should recognize for the language. The C/C++ Adaptive Formatting preferences are shown below (Window → SlickEdit Preferences → Languages → Application Languages → [Language] → Adaptive Formatting).

Select or clear the Use Adaptive Formatting option to enable or disable the feature for the selected language. When Adaptive Formatting is enabled, use the subsequent check boxes to select the individual style settings for which SlickEdit Core should scan. The individual style settings that appear on the Preferences screen will vary depending on the language. See Adaptive Formatting for more information.
Comment preferences let you control how block and line comments are created.
To comment out selected lines, select text in the editor and then click Format → Comment BlockorFormat → Comment Lines (box and comment commands, respectively). These operations use the matching comment style to comment out all text on the lines containing the selection. Comment Block surrounds multiple lines with a single block comment. Comment Lines comments out each line in the selection with a line comment. See Commenting for more information.
The settings on this page are used only when inserting block and line comments. To configure which characters are recognized as comments, go to Window → SlickEdit Preferences → Languages → [Language Category] → [Language] → Color Coding and then select the Comments tab.
The settings on the Comments screen depend on the selected language. As an example, the C/C++ preferences for comments are shown below (Window → SlickEdit Preferences → Languages → Application Languages → C/C++ → Comments).

These settings are used when you comment out a selected block of text (Format → Comment Block or box command). SlickEdit® Core provides eight fields to specify the characters used in your commenting style. If you want to apply a comment with no additional decoration, fill in the upper-left and lower-right fields with the characters to begin and end a block comment. To draw a box around the comment, fill in additional characters in the other fields. For example, you might put an asterisk in each of the other fields to draw a box of asterisks around the block comment.
SlickEdit Core interprets the contents of these fields literally. If you want the asterisks on the left-hand side to line up, you need to put a space before the asterisk in the left, middle field. Likewise you would put a space before the asterisk and slash in the field containing the end of comment characters. Trailing spaces are ignored on the right-hand fields.
To illustrate, the following code sample is a selection:
if (!enabled) {
tabState = TIS_DISABLED;
}From the main menu, click Format → Comment Block, and the selection is commented out as follows:
/*
if (!enabled) {
tabState = TIS_DISABLED;
}
*/Select from the following comment block preferences:
First line is top - When this option is selected, the first line of the text selection is used as the first line of the comment. The top border is not drawn. Otherwise the open comment characters will appear on their own line.
If this option is selected for the preceding code sample, the comment will instead be formatted as follows:
/* if (!enabled) {
tabState = TIS_DISABLED;
}
*/Last line is bottom - When this option is selected, the last line of the text selection is used as the last line of the comment. The bottom border is not drawn. Otherwise the open comment characters appear on their own line.
Using the same example, if this option is selected, the comment will be formatted as follows:
/*
if (!enabled) {
tabState = TIS_DISABLED;
} */These settings are used when you comment out selected lines (Format → Comment Lines or comment command).
Left and Right - Characters that you specify in these boxes are literally inserted to the left and right of the text on each line of the selection when you use SlickEdit® Core to create a line comment. The placement of the Left characters can be controlled through the Location preferences below. Characters specified in the Right box are placed and aligned vertically at the end of the longest line of text in the selection. For example, if the Left and Right boxes both contain the characters //, clicking Format → Comment Line comments out the example code as follows:
// if (!enabled) { //
// tabState = TIS_DISABLED;//
// } //Location - Mutually exclusive location preferences control where characters specified in the Left box are placed:
At left margin - Places characters flush against the left margin of the editor window, as shown in the previous example. The indent levels are not changed. This provides better visibility for your comments and a way to clearly see the indent level relative to lines that are not commented out.
At level of indent - Places and aligns characters vertically at the current indent level. For example:
//if (!enabled) {
// tabState = TIS_DISABLED;
//}Automatically close block comments - Enables automatic completion of C-style comment block start and end markers. Typing /* on a blank line will auto-complete to /**/, with the cursor placed between the two asterisks. This option applies to all languages.
Select from the following preferences:
Automatically expand doc comments - When this option is selected, SlickEdit® Core automatically inserts a skeleton doc comment when you type comment start characters and then press Enteron a line directly above a function, class, or variable. The type of skeleton that is inserted is based on your start characters and style settings.
In C#, you do not need to press Enter, as the skeleton comment is inserted after you type the third slash.
Edit expansion - Click this button to open the Doc Comment Editor, where you can define and edit the templates that are inserted when doc comments are expanded. See Modifying Doc Comment Templates for more information.
Extend leading border - Put a check in this box to precede each line with the leading characters from the previous line. This is useful if you like to have an asterisk in the first column of your doc comments, for example.
The following preferences control comment editing behaviors. These preferences will be unavailable for non-applicable extensions.
Split line comments - If selected, when you press Enter in the middle of a line comment, a new line comment will automatically be started on the new line. For example:
// The quick brown fox [CURSOR_HERE]jumped over the lazy dog.
Pressing Enter will result in:
// The quick brown fox // [CURSOR_HERE]jumped over the lazy dog.
Extend line comments - If selected, when you press Enter at the end of a line containing a line comment, and there is also an aligned line comment on the line before or after the current line, a new line comment will automatically be started on the new line. For example:
// The quick brown fox // jumped over the lazy dog.[CURSOR_HERE]
Pressing Enter will result in:
// The quick brown fox // jumped over the lazy dog. // [CURSOR_HERE]
Join comments when joining lines - If selected, when you press Delete at the end of a line containing a line comment to join the current line with the next line, and the next line is also a line comment, the line comment characters will automatically be deleted. For example:
// The quick brown fox [CURSOR_HERE] // jumped over the lazy dog.
Pressing Delete will result in:
// The quick brown fox[CURSOR_HERE] jumped over the lazy dog.
If Split strings on Enter is selected, when you press Enter to split a line when the cursor is inside of a string, the closing and opening quotes and, if necessary, operators, will automatically be inserted, and the string will be aligned with the original string. For example:
String x = "The quick brown fox [CURSOR_HERE]jumped over the lazy dog.";
Pressing Enter will result in:
String x = "The quick brown fox "+
"[CURSOR_HERE]jumped over the lazy dog.";Comment Wrap preferences let you activate wrapping and configure the way block, line, and doc comments are wrapped. See Comment Wrapping for more information.
The settings on this page depend on the selected language. As an example, the C/C++ Comment Wrap preferences are shown below (Window → SlickEdit Preferences → Languages → Application Languages → C/C++ → Comment Wrap).

The preferences are described as follows:
Enable comment wrap - When selected, comments are allowed to be wrapped. You must still specify the type of comments that you want wrapped by selecting one or more of the Enable preferences for block, line, and doc comments.
Start wrapping on line - This setting pertains to line comments only. Make sure line comment wrapping is turned on, then type or select the number of consecutive line comments that must be present before wrapping is activated. If your code contains many one line descriptive comments, you may want to set this to 2 or more so that comment wrapping will not affect these short line comments.
Comment width - There are three types of width settings for comments:
Fixed width - If selected, comments are formatted to the specified width. This is useful since comments are typically indented with the corresponding code. This option maintains the original left margin of the comment and adjusts the right margin to meet the target width.
If Maximum right column is used, comment lines will be wrapped when they reach the specified column, even if they have not reached the specified fixed width. This is useful if coding standards mandate that text should not exceed a specified column.
Automatic width - If selected, the width of the longest multi-line paragraph in the comment block is used as the width for block comments. This is useful for preserving the formatting of existing comments.
If Maximum right column is used, comment lines will be wrapped when they reach the specified column, even if they have not reached the specified fixed width. This is useful if coding standards mandate that text should not exceed a specified column.
Fixed right margin - If selected, lines will break before the specified number of columns in the Right column field has been reached.
Preserve width on existing comments - If selected, when editing an existing comment, SlickEdit® Core preserves the width of the existing comment. The width is determined by the length of the longest multi-line paragraph. If the width of the existing comment cannot be determined, the formatting option specified under Comment width will be used instead.
Continue bullet list on Enter - If selected, when Enter is pressed inside a bulleted paragraph, a new bullet will be inserted and the cursor will be placed at the text starting position.
Javadoc - If Use hanging indent on block tag commentsis selected, the second line of a block tag comment will be automatically aligned to the first non-whitespace character after the first word after the tag.
Sync vertical line column - This button will make visible and move the vertical line column to match the hard margin column (if using fixed right column margins) or the maximum right column (if using fixed width). To set the vertical line column to a different value, see Vertical line column.
These language-specific preferences let you set margins and the justification style and configure Word Wrap, which keeps the cursor within the specified margins when entering text, moving the cursor, and deleting characters. Note that Word Wrap is intended for plain text only.
The settings on this page depend on the selected language. As an example, the C/C++ Word Wrap preferences are shown below (Window → SlickEdit Preferences → Languages → Application Languages → C/C++ → Word Wrap).

The preferences are described as follows:
Margins - Sets the left, right, and new paragraph margins. Specify the column number at which each margin should begin. The margin indicator will only appear if the Word wrap option is selected, which activates word wrapping.
Justify style - Select from the following justification styles:
Left and respace - Left justification with space character reformatting. One space is placed between words except after the punctuation characters period, ?, and !, which get two spaces. To have only one space after the period, question mark, and exclamation point punctuation characters, turn on 1 space after period.
Left - Left justification with respect for space characters between words. This setting requires the Save preferences to be set such that trailing spaces are not stripped when a buffer is saved. See Save File Options for more information.
Justified - Full justification. Left and right edges of text will align exactly at margins.
Word wrap - This option activates/deactivates Word Wrap. When selected, the editor keeps the cursor within the margins when entering text, moving the cursor, and deleting characters. Note that Word Wrap is intended for plain text only.
Soft wrap - Soft Wrap makes it easy to view long lines of code without scrolling. Each line is wrapped as though a carriage return was inserted, however, the file itself is not modified. The preferences are as follows:
Enable soft wrap - This option activates Soft Wrap. A curved arrow is displayed at the end of each line, along the right-hand border of the edit pane, indicating that the text continues on the next line. The horizontal scrollbar disappears as it is no longer needed.
Break on word boundary - Breaks the text at the end of the line so that words are kept whole. This makes for easier reading, especially in text files.
Aliases are identifiers that you can quickly type, which are then expanded into snippets of text. Language-specific aliases are useful for inserting comment headers, statement and function templates, or any other text that you frequently use. This option screen is used to manage language-specific aliases. As an example, the C/C++ Aliases preferences are shown below. See also Language-Specific Aliases for more information.

The name of the file that contains the aliases is displayed next to the label Alias file.
The left side of the preferences screen contains the alias list. The box on top of the alias list allows you to search the alias list incrementally as you type, so you can find the alias you want to edit or remove.
The Surround With check box is used to specify that you are working with aliases for Surround With. Surround With is a feature that lets you surround existing code with text or predefined structures. When this option is selected, the alias list changes to show only Surround With aliases. When this option is not selected, the alias list shows only normal aliases. See Surround With for more information about creating and working with Surround With aliases.
The large box on the right is the alias edit window. When an alias is selected in the alias list, you can type directly inside this window to define or edit the alias expansion.
Use the Insert Escape Sequence button to insert escape sequences into your alias expansion. See Alias Escape Sequences for a list of available sequences.
The following buttons appear under the alias list and alias edit window:
New - Click this button to create a new alias name to be added to the alias list. After doing this, define the expansion by typing in the alias edit window.
Delete - Deletes the alias that is currently selected in the alias list.
The bottom of the Aliases preferences page is used to create and manage parameter prompts in aliases. Parameter Prompting is a feature that lets you insert a parameter inside an alias so that when the alias is expanded, a dialog is displayed, prompting you to input the values.
The parameter list contains a list of the parameters you have created. It is divided into sections that correspond to the fields on the Enter Alias Parameter dialog, which is used to add a new parameter:
Param Name - The name that is used in the alias to identify this parameter.
Prompt String - This string appears as a label on the dialog that prompts for values when the alias is expanded.
Initial Value - (Optional) This text is automatically entered as the initial value for the parameter on the dialog that prompts for values when the alias is expanded.
The Parameters section of the Aliases preferences page provides the following buttons:
Add - Displays the Enter Alias Parameter dialog, used to add a new parameter for the alias that is currently selected in the alias list. See Parameter Prompting for more information.
Remove - Deletes the parameter that is selected in the parameter list.
Edit - Displays the Edit Alias Parameter dialog, used to edit the parameter that is selected in the parameter list. See Parameter Prompting for more information.
Up and Down - Use these buttons to change the order of the parameters, moving the selected parameter up or down in the parameter list.
Language-specific aliases can be automatically expanded when you type the alias identifier and press space.
Expand aliases on space - When set to True, typing an alias identifier, then pressing space will automatically expand the alias. When set to False, space does not expand aliases automatically.
These preferences let you configure the behavior of the Auto-Complete feature. The settings on this page depend on the selected language. As an example, the C/C++ Auto-Complete preferences are shown below (Window → SlickEdit Preferences → Languages → Application Languages → C/C++ → Auto-Complete).

The preferences are described as follows:
Enable auto-completion - If selected, activates the Auto-Complete feature. See Auto-Complete for more information.
Syntax expansion - If selected, Auto-Complete will show Syntax Expansion choices for the word prefix under the cursor. Syntax Expansion completes syntactic elements of the language, like if or for statements, putting in the parentheses and braces matching your specified coding style settings. See Syntax Expansion for more information.
Keywords - If selected, Auto-Complete will show keyword choices for the word prefix under the cursor, if it matches one or more keywords in the current language.
Alias expansion - If selected, Auto-Complete will show the matching alias for the word under the cursor. Aliases names require an exact word match, not just a prefix match. For more information on using aliases, see Aliases.
Symbols - If selected, symbols will be displayed as completion preferences if the word prefix at the cursor matches one or more symbols using a strict, context-sensitive and language-specific tag search.
Word completion - If selected, word completions will be displayed if the word prefix under the cursor matches one or more words in the current file. The strength of this option is that it ties into the word and line completion features of SlickEdit® Core. After you select a word completion, you can press Ctrl+Shift+Space to complete the rest of the line from which the original word came. See Word Completion for more information.
Argument completion - If selected, turns Auto-Complete on in the Build view for completing file names and paths.
List include files after typing #include - When editing in certain languages that use #include, Auto-Complete can generate a list of possible files for you. To view a list of quoted files after typing #include followed by a space, set this option to List quoted files after typing #include. To see a list of files after typing " or <, select List files after typing " or <. If you do not wish to see a list of possible files, select Do not list include files.
Preferences - More preferences are available:
Tab inserts longest unique prefix - If selected, pressing Tab will cause Auto-Complete to attempt to insert the longest unique prefix match of all its completions. If the word prefix cannot be extended, Tab will cycle to the next completion choices.
Tab cycles through choices - Select this option if you want to use Tab and Shift+Tab to cycle through completion choices, as is done in some command shells. If cleared, Tab will attempt to insert the longest unique prefix (if selected), or insert the selected completion, or cancel Auto-Complete and behave normally if there is no completion selected.
Minimum prefix length - The minimum number of characters the word prefix must contain before auto-completions will be displayed automatically.
Completion choice - When set to Automatically choose unique completion, if Auto-Complete finds exactly one word match, it will automatically select that match for completion. If Insert current completion in file is selected, then completions selected from Auto-Complete will replace the current text, modifying the file as you work. Choose Manually choose completion to select and insert the completion manually.
Details - Detailed preferences include:
Show light bulb - If selected, displays the light bulb as a reminder when Auto-Complete suggestions are available for the current word prefix.
Show expanded text - If selected, shows the rest of the word or statement being completed.
Show list of matches - If selected, shows the list of matches underneath the word prefix.
Show icons - If selected, displays symbol icons and folder icons. Turn this feature off to get a more compact list containing only completions.
Show categories - If selected, shows completions in a categorized list for each type. If cleared, all completions will be shown in one flat, sorted list.
Show symbol declaration - If selected, for symbol completions, this will show the symbol declaration as a comment to the right of the symbol completion.
Show comments - If selected, for symbol completions, this will display the symbol's comments to the right of the symbol completion.
These options let you configure Auto-Close for a specific language. Auto-Close inserts matching closing punctuation when opening punctuation is entered. For example, when you type an open parenthesis, Auto-Close automatically inserts the closing parenthesis right next to it.
The settings on this page depend on the selected language. As an example, the C/C++ Auto-Close preferences are shown below (Window → SlickEdit Preferences → Languages → Application Languages → C/C++ → Auto-Close).

The following preferences are available:
Enable Auto-Close - When set to True, the punctuation items selected in the additional checkboxes will Auto-Close. To turn off Auto-Close for all punctuation, set this value to False.
Parenthesis () - When set to True, Auto-Close will automatically insert a closing parenthesis when an open parenthesis is entered.
Insert padding - To insert spaces between the parentheses, set this value to True.
Bracket [] - When set to True, Auto-Close will automatically insert a closing bracket when an open bracket is entered.
Insert padding - To insert spaces between the brackets, set this value to True.
Angle Bracket <> - When set to True, Auto-Close will automatically insert a closing angle bracket when an open angle bracket is entered.
Insert padding - To insert spaces between the angle brackets, set this value to True.
Double Quote "" - When set to True, Auto-Close will automatically insert a closing double quote when an open double quote is entered.
Single Quote '' - When set to True, Auto-Close will automatically insert a closing single quote when an open single quote is entered.
Configure completion (Enter, Tab) - This link takes you to Auto-Close so that you can configure completion keys.
Configure automatic closing of block comments - This link takes you to Language-Specific Comment Options so that you can configure the automatic closing of block comments.
These preferences let you configure language-specific settings for Context Tagging (see Context Tagging Features). Note that global Context Tagging preferences are located at Window → SlickEdit Preferences → Editing → Context Tagging (see Context Tagging® Options).
The settings on this page depend on the selected language. As an example, the C/C++ Context Tagging preferences are shown below (Window → SlickEdit Preferences → Languages → Application Languages → C/C++ → Context Tagging).

The following preferences apply to List Members. See List Members for more information.
Auto-list members - If selected, typing a member access operator (for example, "." or "->" in C++) will trigger SlickEdit® Core to display a list of the members for the corresponding type. To access this feature on demand, press Alt+Dot. If you use this feature on demand, and you are not in a member expression, this feature will display a list of locals, global variables, current class members, etc.
Show comments - If selected, the comments are displayed for the currently selected symbol in the list displayed by List Members. When a symbol has multiple definitions or overloads, and multiple sets of comments, the comments will indicate that you are looking at item "< 1 of n >". Click on the arrows or use Ctrl+PgUp and Ctrl+PgDn to cycle through the comment sets.
Completion on space - If selected, pressing the spacebar when List Members is displayed will insert the longest unique matching prefix from the symbols in the list. For example, if the list contains FLAG_CHAR and FLAG_LONG, then typing FL<Alt+Dot><spacebar> completes the line of code up to FLAG_. If this option is not selected, use Ctrl+Space when List Members is displayed to perform completion.
Space always inserts space - If selected, pressing the spacebar when List Members is displayed will insert the current item and a space in the list after the current item. If this option is not selected, pressing the spacebar will only insert the current item with no extra space.
Insert open parenthesis - If selected, selecting an item in the list inserts the current item in the list and any extra characters that are required by the symbol. For example, an open parenthesis is inserted after a function name for languages that require an open parenthesis after a function name. For C++, the less-than symbol (<) is inserted after a template class name.
Preserve identifier to right of cursor - When set to Preserve, only the identifier characters before the cursor are replaced with an item selected from a List Members dialog, while identifier characters after the cursor are preserved. When this option is set to Replace, identifier characters following the cursor are replaced with the item selected from a list members dialog. When this option is set to Preserve for auto list members only, trailing identifier characters are preserved for auto list members but not when listing members on demand by pressing Alt+Dot.
For example, if List Members is active and the current line is as follows:
this->foo<cursor_here>Bar
Then if this option is set to Preserve and you choose a symbol named "foodForThought" from the List Members list, the line will be changed to:
this->foodForThought<cursor here>Bar
If this option is set to Replace, doing the same would result in:
this->foodForThoughtBar<cursor here>
Auto-list compatible values - If selected, compatible variables are automatically listed after you press the spacebar after assignment operators and return statements. Global (non-module) variables are not listed. This only affects C, C++, and Java. To access this feature on demand, press Alt+Comma.
Use strict case-sensitivity rules - if checked, matches symbols with the same case as what was entered.
The following preferences control the lookup of parameter information. See Parameter Information for more details.
Auto-display parameter information - If selected, the prototype and comments for a function are automatically displayed when a function operator such as the open parenthesis is typed, and the current argument is highlighted within the displayed prototype. To access this feature on demand, press Alt+Comma.
Show comments - If selected, comments are displayed when Parameter Info is displayed. When a symbol has multiple definitions, and multiple sets of comments, the comments will indicate that you are looking at item "< 1 of n >". Click on the arrows or use Ctrl+PgUp and Ctrl+PgDn to cycle through the comment sets.
Auto-insert matching parameter - If selected, when Parameter Info is displayed and the name of the current formal parameter matches the name of a symbol in the current scope of the appropriate type or class, the name is automatically inserted. When the name is inserted, it is also selected so that you can type over it, or you can type Comma, Space, Tab, or a closing parenthesis to use the automatically inserted parameter.
Auto-list compatible parameters - If selected, compatible variables are automatically listed when parameter info is active and typing the arguments to a function call. Global (non-module) variables are not listed. This only affects C, C++, and Java. To access this feature on demand, press Alt+Comma. See Auto List Compatible Parameters for more information.
Pad parentheses - If selected, a space is inserted after the open parenthesis when a parameter name is automatically inserted. In addition, if you type a close parenthesis after an automatically inserted parameter, it will insert a space before the close parenthesis.
Insert space after comma - If selected, a space is inserted after the comma when a parameter name is automatically inserted, such as myfun(a, b, c).
These preferences control the behavior when you navigate from a symbol to its definition. You can do this by selecting Navigate → Go to Definition, selecting Go to Definition from the context menu, pressing Ctrl +Dot in CUA emulation, or by executing the push_tag command from the SlickEdit Core command line. See Symbol Navigation for more information.
Prioritize navigation to - Here you can specify if you prefer to navigate directly to a symbol's definition (proc) or declaration (proto). If Prompt is selected, the Select Symbol Dialog is displayed, prompting you for both definitions and declarations. In any case, if you use Ctrl+Dot to jump to a symbol, you can cycle through the alternate symbols by pressing Ctrl+Dot repeatedly. You can step backwards through the list of matches by pressing Ctrl+Comma. However, once you reach the first match, Ctrl+Comma will then pop you back to your original location, where you were before you pressed Ctrl+Dot.
Independent of the settings for these preferences, in the following circumstances, SlickEdit® Core will jump directly to the definition or declaration.
If the cursor is on the first line of a symbol's declaration, it will jump directly to the definition, provided it is unique.
If the cursor is on the first line of a symbol's definition, it will jump directly to the declaration, provided it is unique.
This behavior is particularly convenient for C++ programmers to navigate from a function to its prototype and vice versa. See Symbol Navigation for more information about navigating through your code.
Ignore forward class declarations - When this option is enabled, Go to Definition filters out forward class declarations, and only shows the actual class definitions and declarations.
Use strict case-sensitivity rules - when selected, factors upper/lowercase letters as part of the matching criteria.
Attempt to filter out non-matching function overloads (expensive and slow) - when selected, SlickEdit Core attempts to filter out functions with the same name but with different function signatures. As stated, this can slow down the matching.
Show info for symbol under mouse - When selected, as the mouse cursor floats over a symbol, the information and comments for that symbol are displayed.
Highlight matching symbols under cursor - When selected, all occurrences of the current symbol under the cursor in the buffer are highlighted. The highlight color is controlled by the Symbol Highlight screen element (Window → SlickEdit Preferences → Appearance → Colors). Advanced configuration preferences are available. See Cursor on Symbol Shows All Uses in File for more information.
Use strict case sensitivity when completing identifiers - when selected, factors upper/lowercase letters into the matching criteria.
Color Coding is a feature that displays various portions of code in color for identification purposes. The syntactic elements colored by Color Coding are determined by the settings on this preferences screen. The colors used for Color Coding are set through . See also Colors, Color Coding, and Symbol Colors for more information.
The settings on the Color Coding preferences page depend on the selected language. The C/C++ Color Coding preferences (Window → SlickEdit Preferences → Languages → Application Languages → C/C++ → Color Coding) are used in the screen shots for this section.
The Color Coding preferences page contains the following general preferences:
Lexer name - Select the language lexer to use from the Lexer name drop-down list. This sets the active lexer for that language.
New - Click this button, located next to Lexer name, to prompt for a lexer name to start a new language-specific color coding definition (see Creating Color Coding for a New Language).
Delete - Click this button, located next to Lexer name, to remove a lexer name from the list. You can only delete user-created lexers.
Import - Click this button to import lexer definitions from a VLX file.
Colors - Click this button to jump to the Window → SlickEdit Preferences → Appearance → Colors option screen where you can specify the colors used. Click the Back button on the Preferences dialog to return to the Color Coding Language tab. See Setting Colors for Screen Elements for more information.
Other preferences are categorized into the following tabs:
The Tokens tab provides the capability to specify unique tokens to help you when working with your code.

The following preferences are available:
Token type - Select from the following token types:
Keywords - When this option is selected, the list box displays the words that have keyword color.
CS keywords - When this option is selected, the list box to the right displays case-sensitive words that have keyword color. These words are always case-sensitive even if the Case Sensitive check box is not selected.
Preprocessor - When this option is selected, the list box to the right displays preprocessor keywords in preprocessor color. All preprocessor keywords must start with the same character.
Punctuation, Lib Symbols, Operators, User Defined - When one of these preferences is selected, the list boxes to the right display the words associated with each.
Identifiers - All Context Tagging® operations use this set of characters to find identifiers in the code that is being analyzed. Therefore, it is important to set the start and follow characters in a manner that is consistent with the language specification. In most languages, identifiers can contain digits, but they cannot start with them. For example, in C/C++, start characters are "a-zA-Z_$" and follow characters are "0-9".
Case-sensitive - Indicates whether identifiers are case-sensitive.
ID start characters - Specifies characters which are valid for the start of an identifier or any part of an identifier.
ID follow characters - Specifies additional characters which are valid after the first character of an identifier.
New - Click this button on the Tokens tab to add one or more words. Separate each word with a space.
Delete - Deletes selected items in a list box.
Get - Click this button to add words by selecting the file that contains the keywords that you want to add.
The Numbers tab provides preferences for color coding numerical values when working with SlickEdit® Core.

This tab contains the following:
Hex numbers
0x#### (C-Style) - When this option is selected, text such as 0x123ABC is color coded in number color.
####h (Intel assembler) - When this option is selected, text such as 123ABCh is color coded in number color.
$#### (Motorola) - When this option is selected, text such as $123ABC is color coded in number color.
&H#### (Basic) - When this option is selected, text such as &H123ABC is color coded in number color.
"####"X (Rexx) - When this option is selected, strings such as "123ABC"X are color coded in number color.
Z"####" (Fortran) - When this option is selected, strings such as Z"123ABC" are color coded in number color.
No Hex (COBOL) - When this option is selected, text such as 123ABC is not color coded in number color. By default (for most languages set in Language tab) 123ABC is color coded in number color.
Octal and binary numbers
####O (Intel assembler) - When this option is selected, octal numbers such as 17723O are color coded in number color.
####Q (Intel assembler) - When this option is selected, octal numbers such as 17723Q are color coded in number color.
####B (Intel assembler) - When this option is selected, octal numbers such as 17723B are color coded in number color.
&O#### (Basic) - When this option is selected, octal numbers such as &017723 are color coded in number color.
O#### (C) - When this option is selected, octal numbers with a leading zero, such as 017723 are color coded in number color.
####B (Binary numbers) - When this option is selected, binary numbers such as 110100B are color coded in number color.
Floating point numbers
#base#number#exponent float (Ada) - When this option is selected, text such as #23#56#67 is color coded in number color.
Floating point with "E" exponent - When this option is selected, text such as 123.4E24 is color coded in number color.
Floating point with "D" exponent - When this option is selected, text such as 123.4D24 is color coded in number color.
No exponents (COBOL) - When this option is selected, it specifies that the language does not allow floating point exponents of any kind.
Do not color code numbers (HTML) - When this option is selected, text such as 123.4E24 and 123ABC is not color coded in number color. By default (for most languages set in the Language tab), 123.4E24 and 123ABC is color coded in number color.
Allow underscores in integers (Ada) - When this option is selected, text such as 12_34 is color coded in number color.
The Strings tab contains preferences for color coding strings.

This tab contains the following:
Double quoted strings
Two consecutive quotes represent one (REXX) - """" for REXX represents a string of length one which is a double quote character.
\ " represents a double quote (C) - "\"" for C represents a string of length one which is a double quote character.
Double quoted strings are always 1 char long - When this option is selected, this means that a double quote character is followed by an additional character and then the terminating double quote character. There is never more than one character between the start and end double quote.
Trailing backslash continues string across lines (C) - When this option is selected, it indicates that searching for the terminating quote continues to the next line if the lines end with a backslash character.
Search for end quote across multiple lines - When this option is selected, it indicates that the string does not have to be terminated on the same line as the start quote character.
Delay color coding until end quote - When this option is selected, a string is not color coded unless an end quote is seen on the same line. This does not support multi-line strings.
Single quotes
Two consecutive quotes represent one (Pascal) - '''' (four consecutive single quote characters) for Pascal represents a string of length one which is a single quote character.
\ ' represents a single quote (C) - '\'' represents a string of length one which is a single quote character.
Single quoted strings are always 1 char long - When this option is selected, a single quote character is followed by an additional character and then the terminating single quote character. There is never more than one character between the start and end single quote.
Trailing backslashes continues string across lines (C) - When this option is selected, it indicates that searching for the terminating quote continues to the next line if the lines end with a backslash character.
Search for end quote across multiple lines - When this option is selected, it indicates that the string does not have to be terminated on the same line as the start quote character.
Delay color coding until end quote - When this option is selected, a string is not color coded unless an end quote is seen on the same line. This does not support multi-line strings.
Backquoted strings (Perl, Bourne shell, C shell) - When this option is selected, backquoted shell expansion strings such as ~ls -d /home/~ are color coded in string color.
The Language tab is used to set more language-specific color coding preferences.

This tab contains the following:
Language specific - To avoid requiring complicated BNF for defining color-coding, some hardware language-specific adjustments have been added. You may be able to use one of these language-specific settings for another language, but there's no guarantee it will work.
Color Code Line Numbers (Basic/COBOL) - When this option is selected, indicates that leading line numbers should be color-coded in line number color.
Backslash escapes next character (Bourne Shell) - Backslash escapes the character that follows. This is useful for UNIX shell scripts which use \" to indicate that the double quote is not the start a string.
Here Document (UNIX Shells/Perl) - Activates support for HERE documents. Note that if you prefix your terminator with one of our lexer names, you will get embedded language color-coding. Example of a HERE document in Perl, where HTMLEOF is used as the terminator to get HTML embedded language color-coding:
print <<HTMLEOF; <HTML><HEAD><TITLE>...</TITLE></HEAD> <BODY> ... </BODY> </HTML> HTMLEOF
Unknown languages are color-coded in string color. Embedded language colors are user-definable.
Color identifiers followed by '(' as a function - For language such as C++, Java, and Slick-C®, an identifier followed by a parenthesis always indicates a function.
Special coloring for 'package' and 'import' statements (Java) - When this option is selected, the Java syntax package and import statements are supported. This option is forced on for the lexer name Java. You must add the package and/or import keywords to your keyword list in order for this option to have any effect.
Preprocessing keywords can appear anywhere - When this option is selected, preprocessing keywords are color-coded even if they are not only preceded by white space.
Identifiers may start with a number (COBOL) - When this option is selected, identifiers may start with one or more decimal digits. By default, leading decimal digits indicate a number.
@''####'' Unicode strings (C#) - When this option is selected, text in the form of @"any text" is coded as a string.
Treat everything after 0x1a as comments (end of file) - Historically, DOS used 0x1a to mark the end of the file. When checked, SlickEdit Core will treat all characters after 0x1a as comments.
Color inactive code regions (C/C++ Preprocessing, eg. #if 0) - When checked, uses a single color for inactive code regions, instead of applying normal color coding.
The Comments tab is used to set comment preferences for Color Coding.

This tab contains the following:
New Line comment - Click this button to define new single-line comments.
New Multi-line comment - Click this button to define new multi-line comments.
Delete - Click this button to remove the selected comment definition from the list.
MultiLine comment - The following preferences apply to multi-line comments:
Start delimiter - Delimiter which starts the multi-line comment. Currently, the first character of this string cannot be a valid identifier character.
End delimiter - Delimiter which ends the multi-line comment. Currently, the first character of this string cannot be a valid identifier character.
Nesting allowed - When this option is selected, this multi-line comment may have this multi-line comment inside it.
Only if first non-blank character in line - Indicates the start delimiter must be the first non-blank character in the line in order to be considered the start of a comment. This check box is available only when the Only when start delimiter is in column text box is completed.
Check for start delimiter first - When this option is selected, the lexer checks for the start delimiter before looking for other items. When this option is specified, the start delimiter is limited to one character in length.
End delimiter must be the last character on the line - When this option is selected, the end delimiter text must occur at the end of a line to terminate the comment.
Only when start delimiter is in column - Indicates that the start delimiter text starts a comment only when found in the column specified.
Color as - Specifies color used for this comment. This color is not used when the start delimiter is immediately followed by one of the Comment Keywords. When the start delimiter is immediately followed by one of the Comment Keywords, keyword color is used.
Line Comment - The following preferences apply to single-line comments:
After column - Colors all characters after the specified column as a line comment.
Use delimiter - Uses the specified delimiter to recognize the following characters as a line comment.
Only if first non-blank character in line - If checked, a line comment cannot be preceded by any non-blank characters.
Check columns first - When checked, the lexer will look for the delimiter in the specified columns before doing other checks. This option clears any check marks in Only if first non-blank character in line and Only if preceded by blank.
End column is end of line - Put a check in this box if you are using Delimiter column to specify a column after which the delimiter is recognized as beginning a line comment. Then you only need to specify a start column using the fields for Delimiter column.
Only if preceded by blank - If checked, the delimiter must be preceded by a blank (space) to be recognized as starting a line comment.
Used for API documentation - If checked, the comment is colored using the Documentation Comment color rather than the Line Commentcolor.
Delimiter column - Specifies the columns in which the selected delimiter is recognized as beginning a line comment. If the delimiter begins in any other column, the text is colored as regular text. Specify a begin and end column to set a range of columns. Specify only a start column if line comments must begin in a specific column. If End column is end of line is checked, you need not specify an end column and the delimiter will be recognized in the start column and any column thereafter.
The Tags tab is used to set color-coding attributes when working with tagged-based languages such as HTML and XML. The following screen shot shows the Color Coding Tags tab for HTML:

It contains the following preferences:
Tag names - List box containing tags for HTML or XML. To add or delete tags, use the New and Delete buttons below this list box.
>>Attributes - List box containing attributes that belong to the tag selected in the Tag names list box. To add or delete attributes, use the New Attr and Delete buttons below this list box.
Attribute values - List box contains the values for the specified tag and attribute. To add or delete a value, use the New Value and Delete buttons below this list box.
For all tags - When this option is selected, the values in the Attribute valuelist box are applied to all tags that have the specified attribute.
These preferences are used to specify load and save preferences for files on a language-specific basis. As an example, the C/C++ file preferences are shown below (Window → SlickEdit Preferences → Languages → Application Languages → C/C++ → File Options).

The preferences are described as follows:
Load Options:
Load as Binary - When set to True, files are loaded without any translations (like changing tabs to spaces). This setting has precedence over all global preferences, as well as all language-specific preferences.
Expand tabs to spaces - When set to Default, SlickEdit® Core uses the setting for the global file load option, Expand tabs to spaces (Window → SlickEdit Preferences → File Options → Load). When set to True, SlickEdit Core always loads files with tabs expanded to spaces. When set to False, tabs are always left unexpanded.
Save Options:
Strip trailing spaces - Specifies if and when to remove trailing spaces from the ends of lines. When set to Default, SlickEdit Core uses the setting for the global file save option, Strip trailing spaces (Window → SlickEdit Preferences → File Options → Save). When set to Strip all trailing spaces, trailing spaces at the end of lines are stripped. When set to Do not strip trailing spaces, spaces at the end of lines are always left.When set to Strip trailing spaces only from modified lines, trailing spaces at the end of lines are stripped only from modified or inserted lines.
Line format - Specifies how end of line characters are translated when a file is saved. When Automatic is set, the line breaks are saved automatically in the file format appropriate to the context in which you are working with no changes to the end of line characters. However, you can designate a file type for the line breaks. For example, if you are working in Windows and using CVS, using UNIX line breaks will make using CVS easier. Therefore, set the file format to UNIX.
These settings are used to configure your compiler so that SlickEdit® Core can correctly perform full preprocessing, parsing, symbol analysis, and cross-referencing. The fields and preferences on this page depend on the selected language.
The following fields and preferences are common to all languages on the Compiler Properties interface:
Compiler Name - Contains a list of compilers. Names in this list are the names specified when you click Add.
Add - Used to add a new compiler name to the list. After adding the name, you will need to configure the compiler using the configuration settings on the lower-half of the interface.
Delete - Deletes the selected compiler and its associated configuration. Does not delete files from disk.
Copy - Used to add a new compiler configuration by copying the selected compiler's configuration. You will be prompted for a new compiler name.
Set Default - Specifies that the selected compiler should be used as the default. The current default is displayed under the Compiler Name field.
Build Tag File - Used to build tag files for the selected compiler configuration. This is especially useful when new configurations are created. If you do not build the tag file here manually, it will be built on demand.
Compiler Configuration - The lower half of the Compiler Properties interface is used to configure the selected compiler. In C/C++, you specify the header file and include directories. In Java, you specify the root JDK installation and system libraries.
These global file preferences (Window → SlickEdit Preferences → File Options) are used to make settings regarding file operations such as loading and saving.
File option categories are:
Load file preferences are shown below (Window → SlickEdit Preferences → File Options → Load).

The preferences are described as follows:
Fast line count on partial load - When set to True, SlickEdit® Core counts the number of lines when files are opened. The line number is always displayed in the line indicator area of the editor. This option is much faster than the Count number of lines option when editing files larger than the cache size (2 MB by default), because very little data is written to the spill file. The Auto Reload feature does not work until the file is saved. If you are using the edit command to open files, use the switch +LFto control this option (see Command Line Switches).
Show EOF character - When set to True, the EOF character is not removed when a file is loaded. If you are using the edit command to open files, use the switch +LE to control this option (see Command Line Switches).
Expand tabs to spaces - When set to True, the entire contents of files are read into memory and tabs are expanded into spaces. If your tab settings for the file being loaded are of the form +<increment> (e.g. "+4"), then tabs are expanded in increments of the specified increment. Otherwise, tabs are expanded in increments of eight. To set tabs in a form +<increment>, select Window → SlickEdit Preferences → Languages → [Language Category] → [Language] → Indent, and enter your values in the Tabs text box. For languages such as REXX and Linux containing shell scripts that require the contents of the file be analyzed before the file type is known, the Fundamental mode tab settings are used. If you are using the edit command to open files, use the switch +E to specify this option (see Command Line Switches).
File locking - When set to True, a file handle is kept open to the file for locking purposes. This detects when another user is editing the same file. If you are using the edit command to open files, use the switch +N to specify this option (see Command Line Switches).
Reinsert after current - When set to True, SlickEdit Core switches back to the previous buffer with the prev_buffer command. If you are using the edit command to open files, use the switch +BP to specify this option (see Command Line Switches).
Wrap line length - Specifies the number of characters at which long lines should be wrapped when a file is opened. This option improves editing performance and is particularly useful for editing very large, single-line XML files.
Use undo - When set to True, modifications to buffers may be undone (Ctrl+Z or Edit → Undo).
Max undo steps - Specifies the maximum number of steps that are stored for undo operations when Use undo is enabled. Cursor motion can be undone but is not counted as a step. If you are using the edit command to open files, use the switch +U to specify this option (see Command Line Switches). For example, +U:32000 turns on undo and specifies a 32,000-step max.
Save/restore file position - When set to True, the cursor position in files is preserved on close and restored on open.
Max files - Specifies the maximum number of recently closed cursor positions to save when Save/restore file position is enabled.
Encoding - Unicode support required. Specifies the global (non-extension specific) file encoding. This setting is overridden if a extension-specific encoding is defined on the File Extension Manager for the selected language (see Managing File Extensions). Both the extension-specific and global setting are overridden if you specify an encoding in the Open dialog. SlickEdit Core records the encoding used to override default encoding settings and reuses this setting the next time you open the same file. This provides you with per-file encoding support. Encoding is also supported for Microsoft project files (vcproj, csproj, vbproj) that are XML files but that default to active code page encoding and not UTF-8, like XML. See Encoding for more information.
Load entire file - The following preferences are available:
Load entire file - When set to True, the entire contents of opened files are read into memory, however, the line indicator (located at the bottom right section of the editor) might become blank if the file does not fit in the editor's cache (defaults to 2 MB). When False, Auto Reload does not work until the file is saved. If you are using the edit command to open files, use the switch +L to specify this option (see Command Line Switches).
Load partially for large files - When set to True, the editor only partially loads files larger than the size specified in Load partially when files are larger than, in order to conserve memory. Since the file handle remains open to your file, Auto Reload does not work until the file is saved. The line indicator might be blank unless the Fast line count on partial load option is enabled.
Load partially when files are larger than - Specifies the size limit for files to be opened completely in the editor. If the size of the file being loaded is greater than this value, only a portion of the file is read into memory.
Count number of lines - When set to True, the entire contents of opened files are read into memory and the number of lines in the file are counted. The line number is always displayed in the line indicator area of the editor. The Load entire file setting will have the same affect as this setting when the entire file fits within the cache of the editor (defaults to 2 MB) and does not have to be spilled. If you are using the edit command to open files, use the switch +LC to specify this option (see Command Line Switches).
Truncate file at EOF - When set to True, the entire contents of the opened files are read into memory and the number of lines are counted. In addition, DOS format files are truncated when an EOF (End of File) character is found. The line number is always displayed in the line indicator area of the editor. This option is useful for REXX .cmd files which can have p-code appended to them after the EOF character. If you are using the edit command to open files, use the switch +LZ to specify this option (see Command Line Switches).
Auto reload - The following preferences are available:
Auto reload - When set to True, SlickEdit Core detects when files being edited have been modified by other applications and prompts to replace the files with the new copies on disk. If there are files with unsaved changes, the user can select among them to compare them to the files on disk before choosing to reload or merge changes. Open files that have been deleted from disk are also detected and the user can select which to resave.
Suppress prompt unless modified - When set to True, files that have been changed on disk are automatically reloaded unless the file has been modified in SlickEdit Core.
Compare file contents before auto reload - When set to True, if auto reload detects that the current file has been changed on disk, SlickEdit Core will also compare the contents of the file on disk with the version in memory to determine if it really needs to be reloaded. This option is useful when you have a file system which does not report modification dates correctly.
Auto read only - When set to True, SlickEdit Core detects when other applications change the read-only attribute of a file, and automatically changes the permissions of the file being edited to match.
Fast auto read only - (Windows only) When set to True, this option speeds up the Auto read only feature by only checking the attribute on disk (not opening every file). This option is controlled by the configuration variable def_fast_auto_readonly (see Setting/Changing Configuration Variables).
Reload on switch buffer - When set to True, SlickEdit Core detects if a file has been modified by another application when you switch buffers to view the file in the active editor window. When False, the default check is still performed when you switch from another application.
Auto reload current file only - When set to True, SlickEdit Core will check if the current open file has been modified by another application when you switch buffers switch from another application. Otherwise, all files are checked for reload. Enabling this option can improve performance when switching from another application back to SlickEdit Core.
Auto reload all files if current file changed - When set to True, if auto reload detects that the current file has been changed on disk or deleted, SlickEdit Core will then check if any other open files have been changed on disk or deleted.
Save file preferences are shown below (Window → SlickEdit Preferences → File Options → Save).

The preferences are described as follows:
Strip trailing spaces - select one of the following values:
Do not strip trailing spaces - Leaves all trailing spaces as they are in the file.
Strip all trailing spaces - Trailing spaces at the end of lines are stripped when the buffer is saved. If you are using the save command to save files, use the switch +S to specify this option (see Command Line Switches).
Strip trailing spaces only from modified lines - Strips trailing spaces at the end of modified or inserted lines only are stripped when the buffer is saved. If you are using the save command to save files, use the switch +SM to specify this option (see Command Line Switches).
Reset modified lines - When set to True, line modify flags are reset when the buffer is saved. If you are using the save command to save files, use the switch +L to specify this option (see Command Line Switches). For more information on viewing modified lines, see Modified Lines.
AutoSave file preferences are shown below (Window → SlickEdit Preferences → File Options → AutoSave).

The preferences are described as follows:
AutoSave activated - When set to True, AutoSave is enabled, which prevents you from losing data when an abnormal editor exit occurs (possibly from a power loss). AutoSave creates temporary files in the specified AutoSave directory. Temporary files are only created for modified files and are replaced when AutoSave runs subsequently. AutoSave files are deleted when you manually save the file, close the file, or exit SlickEdit Core normally.
AutoSave does not save buffers that are not named. In addition, AutoRestore does not restore files that do not exist on the disk drive of your system. Save your file at least one time to ensure that the file has a file name and exists on the disk drive.
Save after period of inactivity - Specifies the amount of idle time, in seconds, after which modified files are saved. Set this value to 0 if you do not want this option ignored.
Exit SlickEdit Core on AutoSave - When set to True, the SlickEdit® Core application closes after an AutoSave, if AutoSave is enabled.
Save after period of time - Specifies the amount of time, in seconds, after which modified files should be saved. Set this value to 0 if you want this option ignored.
Save to - Specifies save preferences for AutoSave temporary files. Select from:
When editing two files with the same name but in different directories, one AutoSave temporary file is overwritten by the other.
Same name, different extension - This option places the AutoSave file in the same directory as the file that is being auto-saved, but with a different extension. The third character of the extension is replaced with a ~ (tilde) character. The length of the extension is padded with underscores if the length of the extension is less than three characters. For example, the AutoSave file for test.c is test.c_~. The AutoSave file for test.prg is test.pr~. If you are editing two files in the same directory which differ only by the third character, one AutoSave temporary file will be overwritten by the other.
Same name - This option automatically saves the modified files and no AutoSave temporary files are created.
AutoSave directory - Specifies a different directory to use for AutoSave temporary files when Save to different directory is selected in the Save to preferences. If this field is blank, <configuration_directory>\autosave is used. To find the location of your configuration directory, see Help → About SlickEdit Core. Press Delete to clear this field, specifying the default.
Largest file to AutoSave - Specifies the maximum size, in kilobytes, a file is allowed to have in order to be automatically saved. To have all files auto-saved, set this value to 0.
The Files of Type Filter preferences are shown below (Window → SlickEdit Preferences → File Options → Files of Type Filters). They are used to specify the list file filters for the Open and Save As dialogs. Each filter defines a set of related file types that are used together.

The order of the filters specifies the order they will appear in the Open and Save As dialogs. The first file filter is used to initialize the file list. Use the Up and Down arrow buttons to change the order. Click the Delete button to delete a selected filter from the list.
To add a new filter, click the Add button and enter the new filter name. Then set the value using the Filter value box on the preferences screen. Separate each filter with a comma. Place file patterns in parentheses and separate them with a semicolon. Some example filters are:
Basic Files (*.bas), All Files (*.*)
C/C++ Files (*.cpp;*.cxx;*.c;*.h), All Files (*.*)
Application preferences (Window → SlickEdit Preferences → Application Options) pertain to the SlickEdit® Core application. You can specify what parts of SlickEdit Core should be restored on startup, the amount of virtual memory to use, and more.
Application option categories are:
Virtual memory preferences are shown below (Window → SlickEdit Preferences → Application Options → Virtual Memory).
You must restart SlickEdit® Core for these settings to take effect.

The preferences are described as follows:
Spill file path - Specifies the directory for spill and temporary files. On Windows, this defaults to the directory specified the TEMP environment variable. If it does not exist, the directory specified by the TMP environment variable is used. On UNIX, this defaults to the directory specified by the TMP environment variable. Press Delete to clear this field, specifying the default.
Buffer cache size (KB) - Specifies the maximum amount of memory, in kilobytes, used to store text buffer data. A value that is less than zero specifies all available memory.
If the operating system starts the swapping process before the cache is full, performance might be degraded. The cache size must be smaller than the amount of actual memory available.
Tag file cache size (KB) - Specifies the cache size, in kilobytes, for tag files. Tagging performance can be improved by adjusting this setting to better match the size of your tag files. Generally, a tag file cache size that matches the total size of the tag files being used will provide the best performance. For example, if the tag files for your source code and libraries adds up to 100 MB, you should set your cache size to 100 MB. You may have to experiment to find the optimum value. Use the recommendations below as a guide. Note that this is the same as the Tag file cache size option under Window → SlickEdit Preferences → Editing → Context Tagging. For more information about tagging, see Building and Managing Tag Files.
Tag file cache maximum - Specifies the maximum cache size, in kilobytes, for tag files. The tag file cache size can be dynamically adjusted as high as this amount depending on the amount of available memory on your machine at the time SlickEdit Core is started.
Note that this is the same as the Tag file cache maximum option under Window → SlickEdit Preferences → Editing → Context Tagging. For more information about tagging, see Building and Managing Tag Files.
The Notifications system informs you when SlickEdit Core performs automatic actions. These actions are divided into two groups: background processes and feature notifications. Background processes include features like background tagging, which run while you work. Feature notifications provide information about features which may insert more text in the buffer than you have typed or format your code differently than your settings. For more information see Feature Notifications.

The Notifications preferences screen is shown above. From this form, you can set how you want to be notified about different events.
All background processes use a status bar icon and popup to notify you that they are running. If you wish to disable just the popup or even both the icon and the popup, you can do so using the checkboxes in the Background Processes group.
Feature Notifications offer more options to determine how you wish to be notified about what automatic events happen within the editor. You can turn all notifications to the same value or set them individually by feature. If you want to be notified of all features by a message on the status line, select Turn all notifications to and select Status line message. If you want to be notified about Adaptive Formatting with a dialog but only want notifications about Syntax Expansion to appear in the status line, select Set notification level by feature , choose the appropriate feature from the drop-down list and then set the level in the Notification level drop-down list. You can also set which notifications appear in the Notifications tool window by checking the Log in Notification tool window checkbox.
The Notifications preferences screen contains the following settings:
Turn all notifications to - choose a notification level for all features.
Set notification level by feature - allows you to set the notification level differently for each feature. Since some features are more surprising than others, you may wish to have a more intrusive notification.
The following options are only available if you have selected Set notification level by feature.
Feature - select the feature for which you want to set the notification level.
Notification level - sets the kind of notification for the selected feature. You can choose from the following:
Dialog - displays a dialog notification. This requires you to click a button to continue. This is used for the most surprising features.
Status line icon with pop-up - activates the status line icon and pops up a message. This option is not available when the status line icon or pop-ups have been disabled.
Status line icon without pop-up - activates the status line icon, but does not pop up a message. This option is not available when the status line icon has been disabled.
Message line - a short text message identifying the feature is displayed on the SlickEdit Core message line at the bottom of the application window.
None - suppresses all notifications.
Log in Notification tool window - By checking this, then all notifications of this type will be listed in the Notifications tool window.
There are two links at the bottom of this group that allow you to navigate to the preferences screen for the selected feature or view help about this feature.
You can opt in or out of the SlickEdit Core Product Improvement Program using the preferences found at (Window → SlickEdit Preferences → Application Options → Product Improvement Program). These preferences are shown below.

To participate in the program, check the Participate in the Product Improvement Program checkbox. The options page contains information about the program, as well as a link to additional information found on SlickEdit's website. For more information about the Product Improvement Program, see Product Improvement Program.
Network and Internet preferences (Window → SlickEdit Preferences → Network & Internet Options) are used to configure the IP setting, FTP connection profiles and preferences, proxy settings, and more.
Network and Internet option categories are:
Network settings are shown below (Window → SlickEdit Preferences → Network & Internet Options → Network Settings). These preferences are used to set the Internet Protocol (IP) version.

The option is described as follows:
Internet Protocol (IP) - The IP setting affects how addresses are chosen when connecting to a host. Features that use this setting include FTP and SFTP. The preferences are mutually exclusive: Select IPv6 and IPv4 (the default) to automatically select the address when connecting to a host. Select IPv4 only to force IPv4 address connections or IPv6only to force IPv6 address connections.
Default FTP preferences are shown below (Window → SlickEdit Preferences → Network & Internet Options → FTP Default Options). This Preferences screen is also displayed when you click File → FTP → Default Options or when you click the Default Preferences button on the FTP Profile Manager. Preferences include the ability to set the default local directory, specify preferences such as the default time-out and port information, enable firewall/proxy support, and configure SSH information. See FTP for more information.
The preferences are categorized into the following tabs:

The General tab contains the following:
Anonymous e-mail address - Default password used for anonymous logins.
Default local directory - Default used when adding a new connection profile. Specifies the initial local directory after login. The local directory only applies to the FTP Client toolbar.
Upload on save - Select from the following:
Do not upload - When on, saving an FTP file will not upload the file.
Prompt - When on, a prompt appears to upload when an FTP file is saved to specify ASCII or Binary transfer type.
Upload without prompting - When on, saving an FTP file will upload the file. The same transfer type used to open the file is used to upload the file.
Resolve links - Default for adding a new connection profile. Resolves symbolic links on remote host.

The Advanced tab contains the following:
Timeout (sec) - Default used when adding a new connection profile. Specifies the wait time for a reply from the FTP server.
Keep alive - Default used when adding a new connection profile. Keeps a connection alive even when idle.
Upload filename case - Default used when adding a new connection profile. Indicates what file case should be used for the remote file name based on the local file name.

The Firewall/Proxy tab contains the following:
Enable firewall/proxy - When on, indicates you have a firewall or proxy. You need to turn this on to add a connection profile that uses a firewall.
Type - Select from the following:
USER user@site - When this option is selected, host and port are required. User id and password are ignored. USER @remote_host is sent to the firewall when connecting.
OPEN site - When this option is selected, host and port are required. User ID and password are ignored. OPEN remote_host is sent to the firewall when connecting.
USER user@site after logon - When this option is selected, host, port, user id, and password are required. USER remote_userid@remote_host is sent to the firewall after logon.
Router - When this option is selected, host, port, user id, and password are ignored. Router based firewalls are transparent with the exception that connections can only be established one way (out through the firewall). Because incoming connections are not allowed, PASV is turned on automatically.
Passive transfers (PASV) - When this option is selected, transfers are initiated by SlickEdit® Core.

The SSH/SFTP tab contains the following preferences:
SSH executable - The location of the SSH client program that is used to establish the secure connection with the SSH server.
SFTP support requires the OpenSSH client program to operate. Windows users can obtain the SSH client by downloading and installing the Cygwin package (www.cygwin.com) and making sure to choose the openssh package during install.
Subsystem/Service name - The name of the SFTP service being run by the SSH server. Defaults to sftp.
URL Mapping preferences are shown below (Window → SlickEdit Preferences → Network & Internet Options → URL Mappings). These preferences let you map a URL path or file to a local or remote path or file, so you can work offline or from a test location that contains DTDs referenced by your XML files. See URL Mapping for information.

To add a new URL mapping, click the Add button (or click <add> in the From column) and type the URL that will be mapped to a different location. Then in the corresponding field in the To column, type the location to use for this URL. To delete the selected mapping, click Delete.
URI Scheme preferences are shown below (Window → SlickEdit Preferences → Network & Internet Options → URI Schemes). These preferences let you specify URL types that SlickEdit Core should recognize as hyperlinks in the editor. See Navigating to URLs for information.

To add a new URI scheme, click Add, and type the scheme you want to add. Do not include the "://". For example, if you want to be able to click on e-mail addresses in the editor, you could add a mailto scheme. After adding a scheme, newly recognized URLs are underlined in the edit window as soon as it regains focus.
To delete the selected scheme, so that those URLs are not hyperlinked, click Delete.
Proxy preferences are shown below (Window → SlickEdit Preferences → Network & Internet Options → Proxy Settings). These preferences allow you to configure a proxy server to use when SlickEdit® Core needs to use an Internet connection. Internet Explorer settings are used by default.

The following preferences are mutually exclusive:
None - Specifies that no proxy server is used.
Use Internet Explorer settings - If selected, Internet Explorer settings will be used, and the remaining preferences and fields on the page are inapplicable and therefore dimmed.
Use proxy server - If selected, the remaining preferences and fields are applicable and available.
Servers - Indicates the proxy address and port to use.
Exceptions - Indicates the Web site addresses that the proxy server should disregard. Separate entries with semicolons (;).
Web browser setup preferences are shown below (Window → SlickEdit Preferences → Network & Internet Options → Web Browser Setup). Use these preferences to specify the browser to use when SlickEdit® Core needs to launch one. Selecting a preferred browser automatically sets the defaults for the other preferences on this form.

The following preferences are available:
Browsers - Select which Web browser you want to use. Selecting a preferred browser automatically sets the defaults for the other items in the Web Browser Setup dialog box. Note the following:
Windows platforms - Your Web browser is automatically detected.
UNIX and Mac OS X platforms - You need to specify which Web browser you are using. In addition, you need to give the full path to the program executable.
Program - Indicates the program to run. You may specify a %F in this text box or any of the other text boxes on this dialog box to have the HTML file name inserted into the command that is executed.
DDE - The Application, Topic, and Item text boxes specify DDE XTYP_REQUEST parameters and are used only if the Use DDE option is selected.
Preferences for tools (Window → SlickEdit Preferences → Tools) pertain to tools such as Spell Check, and utilities supported by SlickEdit® Core.
Tools option categories are:
Spell Check preferences are shown below (Window → SlickEdit Preferences → Tools → Spell Check). These settings control the behavior of Spell Check in the editor (Format → Spell Check). You can also access these preferences from the main menu item Format → Spell Check → Spell Options, or by using the spell_preferences command.

The Spell Check Preferences screen contains the following:
Common list - Specifies the default dictionary list. Dictionary lists are text files that have the extension .lst. Words that are frequently misspelled are spelled correctly in these files for matching during spell checking. Each line of a dictionary list can contain only one word. The default dictionary list is named scommon.lst and is located in the SlickEdit® Core installation directory.
User lists - You can have up to two custom dictionaries. When a word is not found during a spell check and you add the word to User list 1 or 2, the word is added to the associated file specified in these fields. By default, the first time words are added, SlickEdit Core will create files named userdct1.lst and userdct2.lst in your configuration directory, so these file names are filled in for you. If you choose to create your own files, be sure to place them in the default configuration directory and add the file names here.
Ignore all UPPERCASE words - When set to True, all words in uppercase are ignored during a spell check operation. This applies to all spell check operations.
Detect repeated words - When set to True, words that are repeated twice in a row are detected during a spell check operation. This applies to all spell check operations.
The Preferences History node in the Preferences dialog (Window → SlickEdit Preferences → Preferences History) is used to see changed preferences. From the drop-down, select Anytime to see all preferences that have been changed from the default values since the editor was installed, or, choose to see only those preferences that were changed today, yesterday, or within the last week or month. Only the most recent date is shown for preferences that have been changed more than once.
Preferences History only shows changes that were made through the Preferences dialog. Changes made by setting configuration variables, in macro code, or in other dialogs are not viewable in the Preferences History.
The results are displayed in the Preferences dialog in the results window, as shown in the following screen.

The number of results returned is displayed at the top right of the results window. The results are divided into columns showing the name of the option, the path to the option in the option tree, and the date it was last changed. Click on the column header to sort by any column. Double-click on an option to display that option panel in the dialog. For preferences changed on forms embedded in the Preferences dialog, the results show only the name of the form. For example, if you made a change to a color under Window → SlickEdit Preferences → Appearance → Colors on the Preferences dialog, the Preferences History results show "Colors" as the name of the option and "Appearance" as the path.
To export preferences, select Window → SlickEdit Preferences → Export/Import Preferences. You can export all your preferences at once or you can export a designated group of them. To export all preferences click the Export All Preferences button. To export a particular set of preferences click the Setup Export Groups button. To import already exported preferences, click Import Preferences. See below for details of each operation.
Moving preferences to a machine with a different operating system is allowed, but not supported. The same applies to exporting preferences from a one version of SlickEdit Core and then imported into another. While these operations may work for some preferences, we cannot predict when this will cause a problem.

To Export all of your preferences, click the Export All Preferences button. You will be asked to select a file where you want to save your export package. Exports are saved in packages with the extension ".zip." Once you have selected a file, click OK to begin the export. If there are any errors, you will be notified with a message. Individual errors will also be listed in the Message List.

Export Groups allow you to export a specific set of preferences. Two default export groups have been created: Team and Personal. The Team Export Group contains settings which might be shared across a programming team, such as coding styles. The Personal Export Group contains settings which control how the editor looks and behaves. You can change these groups or create new ones. To view or use an export group, select the group from the combo box found at the top left corner of the Export Groups Editor dialog.

Add or remove preferences to include this group by checking or unchecking nodes in the hierarchy. To include all of the items in subtree, put a check in the box next to a parent. If you select specific items in a subtree, the parent node will be filled in with gray.
To create a new export group, click the New button next to the combo box containing the list of Export Groups. You can either create a blank group or copy an existing group. Then you can drill down to the property level to select which preferences to export. You can also select whole categories at a time if you wish. Once you are finished modifying your Export Groups, click "Save" to save your changes. You can also export the current group by clicking Export.
You can import preferences by clicking the Import Preferences button on Window → SlickEdit Preferences → Export/Import Preferences. Then navigate to the location of the export package file.

Once the export package is read, a tree of the preferences within the package is displayed. You can choose which preferences to import. Once you have made your selections, click Import . The preferences will be imported and set. If there are any errors, you will be notified with a message. Individual errors will also be listed in the Message List.
Some settings are not configurable through the preferences dialog but are still available for export/import. These preferences can be found under the Additional Preferences node in the Setup Export Groups dialog. They are also included automatically if you export all preferences.
The options available for export/import under Additional Preferences are:
Menu Customizations - Exports any changes made to menus by adding, removing, or modifying individual menu items.
User-Recorded Macros - Exports any macros recorded by the user such that these macros can be shared with other users. To find out about recording macros, see Recorded Macros.
Beautifier Settings - Code beautifiers are used to reformat existing code and rely on formatting preferences set by the user. For more information about beautifiers, see Beautifying Code.
XML/HTML Formatting - Exports the schemes used to automatically format content in XML and HTML files. To learn more about this feature, see XML/HTML Formatting.
Templates - You can export and import your code templates, which are used to automate the creation of common code elements. For information about creating and using templates, see Code Templates.
Whenever you import any preferences, certain configuration files are backed up so that you can restore your application should the imported preferences cause any problems. To restore your configuration after an preferences import, do the following:
Close the application.
Locate your configuration directory. For more
information about your configuration directory and how to find it, see
Configuration Directory Location.
Make sure you can find the backed-up configuration files. They will be
named vslick.sta.bak,
vusrdefs.e.bak, and
vusrobjs.e.bak (UNIX:
vslick.stu.bak, vunxdefs.e.bak,
vunxobjs.e.bak).
Remove the existing configuration files, named
vslick.sta, vusrdefs.e, and
vusrobjs.e (UNIX: vslick.stu,
vunxdefs.e, vunxobjs.e). Also
remove the loaded macro files vusrdefs.ex and
vusrobjs.ex (UNIX: vunxdefs.ex, vsrdobjs.ex).
Rename the backed-up configuration files by removing the .bak extension.
Run the application. Your configuration should be back to where it was before the preferences import.