Using Help
Next Topic

These Help files are organized primarily based on the menu structure in UltraEdit / UEStudio. To the left you should see the following major headings:

Getting Started

Ribbons/Toolbars

Ribbon Commands

* Compiler Configuration

* CVS Support

License Agreement

Sales and Support

The Getting Started section (of which this is the first document) contains useful information to get you up and running quickly and editing text in UltraEdit.

The Ribbon Commands section may be expanded by double-clicking and consists of information regarding the commands presented in the ribbon in UltraEdit. Each heading (Application Menu, Home Tab, etc.) may be expanded by double-clicking and each topic below the menu headings may be opened by clicking on the topic title in the list. You can also collapse a section heading by double-clicking on it.

The License Agreement section includes both the registered and unregistered license agreements for UltraEdit.

The Sales and Support section includes information regarding technical support and purchasing UltraEdit.

* Please note: These features are only supported in UEStudio, and not in UltraEdit.


Add or Remove Wordfiles

Adding and Removing Languages

Users may easily add or remove wordfiles in UltraEdit using the Add and remove languages dialog. This may be accessed either by clicking on the Add another language... icon in the Coding tab under the View as dropdown or by clicking on the Add / remove languages button under Advanced -> Settings -> Editor display -> Syntax highlighting.

Add and remove languages

The Add and remove languages dialog lists all languages currently available for syntax highlighting. All currently installed languages will be displayed with a check mark in the checkbox to the left of the language name. The file types supported for each language are listed to the right of the language name. Language names are sorted alphabetically. Double-clicking on any installed language will cause the related wordfile to be opened for editing.

The language list may be filtered by typing a search string in the Filter field above the list of languages. It is possible to select all wordfiles matched by the filter by clicking the checkbox to the right of the filter field. The entered string may be cleared by clicking on the Clear button to the right of this checkbox.

When a language has been selected, it will be displayed in bold letters to show that it has been selected, but not yet installed. Wordfiles will be downloaded and installed immediately after the Apply or OK button is pressed.

If a language is unchecked, the language name will be shown with a strikethrough to indicate that it is configured for removal. Wordfiles will be removed as soon as the Apply or OK button is pressed. When wordfiles are removed, the language list will be sorted again.

If the Defaults button is pressed, all languages not included by default when the application is installed will be removed from the system. Along with this, all default wordfiles will be reloaded and any modifications made to default wordfiles will be overwritten.


Blocking Text

Blocking Text / Column Mode

In Column Mode the operation of the editor is changed for selecting text. When Column Mode is selected highlighted text is based on the character column position of the first character selected to the column of the last character of text selected. Text selected in this mode does not automatically include all text between the start and end position, but includes all text in the columns between the first and last character selected. Column Mode editing is sometimes referred to as block mode editing as the act of selecting text forms a rectangle.

UltraEdit supports two different methods of selecting text in Column Mode. Pressing ALT+C will toggle Column Mode on and text will be selected in a block as described above. Users may also hold down the ALT key while dragging the cursor to make a selection and Column Mode will automatically be toggled on for this selection.


ClassViewer

The ClassViewer in UEStudio may be invoked by clicking on the Jump to ClassViewer option under the More intellitips dropdown in the Project tab or by clicking on the Tags tab of the Workspace Manager

This will cause a parsed representation of the active project to be shown.

The items shown in the Workspace Manager under the Tags pane replace Ctags in UEStudio. Double-clicking on one of these items will open the associated project document.

Symbol | Meaning
 | Struct
 | Class
 | Globals Folder
 | Global Miscellaneous Folder
 | Global Functions Folder
 | Global Labels Folder
 | Global Macros Folder
 | Global Variables Folder
 | Enum
 | Namespace
 | Enum Value
 | Variable
 | Protected Variable
 | Private Variable
 | Global Variable
 | Function
 | Protected Function
 | Private Function
 | Typedef
 | Macro


Code Folding Description

Code Folding

Code folding works in conjunction with the Hide/Show Lines feature of previous versions.

There are two configuration options under the Code Folding branch under Settings in the Advanced tab that determine whether or not code folding and hiding/showing lines is supported in UltraEdit: Enable show/hide lines and code folding and Enable show/hide lines for non syntax highlighted files.

Enable show/hide lines and code folding

If this option is selected under Configuration then the Hide/show selection command may be invoked via the View tab option. Selection of this configuration option also enables code folding and a small gutter will be visible between the line numbers and the edit window where the symbols used for code folding ("+" and "-") will be displayed. By default code folding will operate on any strings (whether characters - "{, }" - or words - "if, endif") defined in the active wordfile as /Open Fold Strings or /Close Fold Strings. Please see Syntax Highlighting for further information on fold strings.

If a "+" or "-" is displayed in the folding gutter the folding state of the referenced code may be toggled by left-clicking on the folding symbol in the folding gutter. For example, in the following code:

clicking on the "+" would expand the collapsed code. Clicking on the "-" below:

would collapse the expanded code.

There are two code folding options that may be selected from the View tab: Expand All and Collapse All.

Expand All

When this command is invoked from the View tab, all blocks in the active file bounded by Indent/Unindent Strings defined in the active wordfile would be expanded. If text is selected this will affect only the selected region. If no text is selected this command will operate on the whole of the active file.

Please note: When this command is invoked, strings hidden using the Hide Lines command will be expanded as well as folded sections of code.

Collapse All

When this command is invoked from the View tab, all blocks in the active file bounded by the Indent/Unindent Strings defined in the active wordfile would be collapsed. If text is selected this will affect only the selected region. If no text is selected this command will operate on the whole of the active file.

Enable show/hide lines for non syntax highlighted files

If this option is selected under Configuration then the Hide/show selection command may be invoked via the View tab option even on files that have no syntax highlighting (e.g. on standard text files). The advantage here is that lines that have been hidden using the Hide/show selection command will be indicated by the "+" in the folding gutter. If this option is not selected under Configuration, text may not be hidden in non-highlighted files and the folding gutter will not be displayed.


Command Line Parameters

UltraEdit supports command line parameters specifying files to be opened. UltraEdit allows multiple files to be specified in the command line. Each of the files specified will be opened when UltraEdit starts up. The filenames on the command line should be separated with a space (' '). For long filenames, they should be enclosed in quotes "". All files specified for opening on the command line must be referenced using the full path to the file or only the file name and extension.

Additionally, UltraEdit supports two other methods of opening files on the command line:

Wildcard characters UltraEdit will accept any normal wildcard specification for files to be opened, i.e. "*.c" will open all files with the ".c" extension.

File containing list of files to be opened You may specify that the filename on the command line contains a list of files to open by using a "/f" parameter on the command line. In this case, UltraEdit will read each line of the files on the command line, and attempt to open each file. The file specified on the command line when the "/f" parameter is used must contain only filenames, and each filename must be on a separate line.

UltraEdit accepts a "/r" parameter on the command line to open files in a read-only manner.

When a file is deleted, by default UltraEdit will notify the user the file has been deleted. On occasions it may be desirable not to receive this notification. By adding "/n" to the command line the notification will be disabled for the files that are specified on the command line – this has no effect on files already opened, or files opened after this.

To specify the line and column number at which to position the cursor when the file is opened, the line number and column number should follow the filename immediately separated from the filename by a '/' character follows:

filename/5/2 This opens the file with the cursor positioned at line 5, column 2. The line number may be specified without specifying the column number.

The separator character '/' was a comma in previous releases, however as this is a valid character for filenames it has been changed. If it is preferred to use the comma or another character, the following line may be added to the INI file:

LineColumnChar= ,

where the comma may be any character except a colon ':', however UltraEdit will not be able to open a file that contains this character.

Additionally, the command line may include –lx or –cx following the filename (space separated) where x is the line or column number and this can be after each file name. This is a new method and if used it should be after the file name separated with a space and if the filename is in quotes it should be after the quotes with a space between this and the quotes.

UltraEdit accepts a '/P' or '/p' on the command line. This instructs UltraEdit to print the files that appear on the command line automatically and to exit when the files have been printed.

To specify whether a new or existing instance of UltraEdit should be used to open a specified file, the following flags may be used:

/foi is used to open a file in the original instance, e.g. uedit64 /foi "c:\temp\test.txt"

/fni is used to open a file in a new instance, e.g. uedit64 /fni "c:\temp\test.txt"

When forcing a new instance, users may also wish to specify a different environment than the one in use in the active instance. This may be done using the /see parameter as follows:

uedit64 /fni /see "Programmer" FilePath

Please note that the name of the environment to be used when opening the new instance must immediately follow the /see parameter.

UltraEdit permits the INI file used for UltraEdit settings to be specified by the user. If the command line contains "/i=filename" this is used.

Example: /i=c:\windows\uedit64u.ini

The filename must follow the /i= immediately. It can be a long name with spaces, in which case it must be in quotes.

For more information on the INI settings see INI File Selection.

UltraEdit allows macros to be automatically invoked from the command line with the following syntax added to the command line:

/M,E,5="full path of macro file/macro name"

The /M specifies the macro command

The ,E specifies that after execution of the macro, the file should be saved and the editor exit, this is an optional parameter.

The ,5 specifies the number of times the macro should run. This is an optional parameter, and if not present the macro will run once if a file is loaded on the command line. If a file is not specified on the command line the macro will not run unless the number of times is specified.

The macro filename must be specified in quotes. Optionally, the name may include a forward slash (/) followed by the name of the macro if the file contains more than one macro. If a macro name is not specified, the first macro in the file will be used.

UltraEdit also allows scripts to be invoked from the command line with the following syntax added to the command line:

/s,e="full path to script file"

Example: /s,e="c:\working files\myscript.js"

The ,e specifies that after execution of the script, the editor should exit, this is an optional parameter. Please note: If it is desired that the modified file be saved, this should be handled within the executed script.

The file path/name must follow the /s= immediately. It can be a long name with spaces, in which case it must be in quotes.

There are occasions when starting UltraEdit from another application it may be necessary to invoke it with a filename that is already open to position at a specific line or column. In this case "/a" may be added to the command line and if present UltraEdit will NOT show the prompt that asks if the file should be reloaded and changes lost. Without this the user would be asked if the file should be reloaded and changes lost.

Finally, the command line may include "-f" to indicate that UltraEdit should perform a Find in the specified file. This MUST be the last parameter on the command line. For added flexibility this parameter will use the parameters specified for the last Find command executed from within UltraEdit, i.e. Match Case, Regular Expressions, etc. The format should be:

uedit64 c:\temp\test.txt -fdog

This would cause UltraEdit to open the file "test.txt" and search for the first occurrence of the string "dog" in the file.

If desired, users may open a folder in UltraEdit using the following syntax:

uedit64 "C:\temp\"

With the command above, the following would occur when UltraEdit is opened:

1. The File View will be focused on the Explorer tab and the only content visible would be the content of the referenced folder:

If the file view is closed when this is invoked, it will automatically be opened. Double-clicking on the Close folder option will close the folder and restore the standard view in the Explorer pane.

2. While the folder is "open" in UltraEdit, the following will happen:

a. The first time Find in Files is opened in this session, the "Directory" will default to the selected folder.

b. The first time the File Open dialog is opened in this session, it will default to the selected folder.


Creating Your First Application

It's easy to Create, Build, and Run an application from within UEStudio! First, click on the Project tab and select Project Manager . Next, click on the Create button in the Project Manager dialog and select Using Templates from the context menu.

Select a compiler from the Compilers pane [1] in the New Project dialog . (Please note: You must have the compiler you select here installed on your system in order to invoke it from within UEStudio). Then select the type of application you want to create from the Templates pane [2]. Once you've selected the application template, type a name for your project in the Project Name text field [3] and specify the Location [4] or path where you want this project created, and click the Create button [5].

Once you press the Create button, UEStudio will launch the Windows Application Wizard dialog where you can specify the general framework of the application you wish to create. Please note: The example below was created with the Microsoft Visual C++ Compiler and the Windows Application template. The options presented in the Application Wizard will be compiler and template specific.

Select the desired options and press the Create button to finish creating your first project and application!

Now it's time to Build your application and you can do this by simply pressing the Build option in the Build dropdown in the Build tab. UEStudio will present the Compiler Options dialog and pressing OK will build your first application! Please note: The options shown below are based on the selected Microsoft Visual C++ Compiler. The options presented in the Compiler Options dialog will be compiler-specific.

UEStudio will build and parse your new application and the Output Window will indicate when the build is complete and list any errors encountered during the build:

Now that the application is built, all that's left to do is Run the application! You may do this by pressing the Run application in the Build tab. UEStudio will launch your newly created and built application!

Please note: Once you've reached this point the menus and toolbar buttons (if included in the application you've created and built) are not actually functional. The framework has been created, but functionality has to be programmed additionally. Double-clicking on the associated source file in the Workspace Manager will open the source file in UEStudio so that further functionality may be added.


Cursor Arrows (Cursor Movement)

The "up", "down", "right" and "left" arrows will move the cursor one character or line as indicated.

Holding down the CTRL key while using the "left" or "right" cursor arrows will move the cursor left and right to the beginning of the previous/next word.

Holding down the CTRL key while using the "up" or "down" keys does not affect the cursor position, but moves the text within the editor window up or down respectively. If the text is moved enough for the cursor to meet the upper or lower edge of the editor window the cursor will then move from line to line as it does when normally using the "up" and "down" arrows.

Holding down the ALT key while using the "left" or "right" cursor arrows will move the cursor to the beginning of the previous/next paragraph.


Debugging PHP Scripts

As of version 4.3.0, PHP supports a new SAPI type (Server Application Programming Interface) named CLI which means Command Line Interface. If you're running the latest version of PHP, you will be able to execute PHP scripts either in a browser (using the Apache server and PHP scripting engine) or from the command line (using only the PHP scripting engine). Through the integration of Xdebug, users of UEStudio can debug both browser-based PHP scripts or command line PHP scripts.

Before debugging can occur, the PHP scripting engine and Xdebug must be downloaded and installed. Please click here for instructions on how to download and install these components and configure them appropriately based on whether you will be debugging browser-based PHP scripts or command line PHP scripts. Once you've installed and configured PHP and Xdebug on your system, debugging your PHP scripts is just a few steps away:

1. Create a default PHP debugging project in UEStudio. This PHP debugging project is only used to store settings specified for the PHP debugger. PHP scripts do not have to be associated with the active project in any way for debugging to occur.

a. Go to the New project dropdown in the Project tab and select New project

b. Enter a name for your new project, e.g.: "PHPDebug" and press the Save button.

c. Click on the Debug tab and select "Integrated Xdebug" from the Select Project Debugger dropdown and press the Close button.

2. In the Build tab select Debug (start) to initiate the Xdebug debugging session. When Xdebug is invoked a dialog will appear:

At this point you may press "OK" and proceed as indicated in the dialog:

Browser Based PHP Debugging

1. After pressing "OK" in the Listening for Connection... dialog, you will see

Xdebug: Listening for connection...

in the status bar. This indicates that Xdebug is ready and waiting to detect a script being run on the appropriate port.

2. Ensure that the installed WampServer is running. If not running WampServer, ensure that the Apache server and PHP scripting engine are running. The PHP script must be executed to be detected and parsed for debugging.

3. For debugging scripts through a browser, please add the URL variable 'XDEBUG_SESSION_START=<name>', e.g.:

http://localhost/test.php?XDEBUG_SESSION_START=myPHPTest

If you prefer not to append ?XDEBUG_SESSION_START=myPHPTest to all scripts to enable debugging when executed, you can set a flag in your php.ini file to enable debugging of every PHP script when run. If you've installed WampServer, the easiest way to do this is to access the php.ini file through the WampServer menu:

Where Xdebug settings were defined during installation, if the remote_autostart option is set to "1" rather than "0":

xdebug.remote_autostart = 1

then every time a PHP file is executed after Build -> Start Debugger has been selected, Xdebug would detect and debug the running script. Please note that the PHP script must be saved to the proper directory for the Apache server installed on your system in order to be run from "http://localhost/". With the default WampServer installation, this would be under:

C:\wamp\www\

When the URL is appropriately entered into your browser with the appended debug flag, the status bar in UEStudio should change to indicate that Xdebug detected the running script and has begun to debug it. UEStudio will indicate this by displaying:

Xdebug: Initializing session

in the status bar. Xdebug will process the script and update this prompt to:

Xdebug: Step Into

At this point, the debugging results will be displayed in the output window in UEStudio. You will either see an error message displayed, or the output window will indicate "No debug message." which indicates that no errors were found in the debugged script. If this debugged file is not already open in UEStudio, it will automatically be opened at this point in time. If no errors exist in the script, the debugger focus arrow will be displayed on the first line of the script:

If an error is found, the line associated with the error displayed in the output window will be marked by the debugger focus arrow.

Command Line PHP Debugging

An environment variable must be defined before debugging of command line PHP scripts can occur. The environment variable name should be "XDEBUG_CONFIG" and the value should be "idekey=<session_name>" where <session_name> can be any value, e.g. "idekey=phpdebug".

1. In the Build menu select Start Debugger to initiate the Xdebug debugging session. When Xdebug is invoked a dialog will appear:

At this point you may press "OK" and proceed as indicated in the dialog:

2. After pressing "OK" in the Listening for Connection... dialog, you will see

Xdebug: Listening for connection...

in the status bar. This indicates that Xdebug is ready and waiting to detect a script being run on the appropriate port.

3. Open a command prompt and execute the script to be debugged, e.g.:

C:>php c:\php_modules\test.php

Unlike browser-based scripts, no debug flag is required for command line scripts because this is automatically handled by the environment variable already defined.

4. When the script has been executed, the status bar in UEStudio should change to indicate that Xdebug detected the running script and has begun to debug it. UEStudio will indicate this by displaying:

Xdebug: Initializing session

in the status bar. Xdebug will process the script and update this prompt to:

Xdebug: Step Into

At this point, the debugging results will be displayed in the output window in UEStudio. You will either see an error message displayed, or the output window will indicate "No debug message." which indicates that no errors were found in the debugged script. If this debugged file is not already open in UEStudio, it will automatically be opened at this point in time. If no errors exist in the script, the debugger focus arrow will be displayed on the first line of the script:

If an error is found, the line associated with the error displayed in the output window will be marked by the debugger focus arrow.


Drag and Drop Editing

UltraEdit supports dragging and drop editing using the mouse.

Drag and drop editing allows the user to select text in the normal manner and then copy or move the selected text by dragging it to a new location with the mouse. No keyboard interaction is required.

Initially the user selects text in the normal manner. Once text has been selected, the user may click the primary mouse button (usually the left button) on the selected text, at which time the mouse pointer changes to a pointer with a small dotted rectangular box at the bottom of the pointer. This pointer indicates you are in the drag and drop editing mode and may drag the selection to a new location.

While keeping the primary mouse button down the selected text may be dragged to a new location. As you move the mouse the cursor will follow the mouse and the cursor indicates the new position of the text if you stop pressing the mouse button (and "drop" the text).

The user may even drag the text from one file to another within UltraEdit. If the mouse is positioned over a different file within UltraEdit, that file will become active and the text may be dropped into that file at the cursor position shown.

At any time, pressing ESCAPE will cancel the drag and drop mode.

Additionally, instead of moving the text being dragged it may be copied to a new location. If at any time while in the drag and drop mode the CTRL key is pressed and held the mouse pointer changes to have a small '+' symbol beside it indicating the text will be copied to the new location indicated by the cursor and also remain in the original position.

Drag and Drop editing is supported in normal, Hex and Column editing modes.


Drag and Drop Files

UltraEdit supports dragging and dropping files from the File Manager into an open session of UltraEdit. Files may be selected from the File Manager (multiple files may be selected) and dragged into the UltraEdit window. If the mouse button is released with the mouse over UltraEdit the files selected will automatically be opened for editing with UltraEdit.


File Tree View Interface

File View Interface

UltraEdit and UEStudio feature an enhanced File View. Visibility of the File View may be toggled by selecting File view in the Layout tab or by pressing Ctrl+U.

Users may toggle between a listing of Project, Open, Explorer and List display modes.

Project mode: displays all files and folders in the active project with the project name listed at the top.

If no items are selected in the File Tree View in Project mode or if only the project name is selected the following items are shown in the context menu:

Explore | opens Explorer to active project directory
Refresh | updates the project information (committing the changes) and refreshes the project list
Edit Project File | opens active project file in editor
Add Folder... | presents New Folder dialog
Add Group... | presents New Group dialog for adding organizational folders to project
Add New File... | presents New File dialog where users specifies file to be added
Add Active File | adds file currently open in the edit window to the active project
Add All Open Files | adds currently open files to the active project
Add Files to Project... | presents Open dialog for specification/selection of file(s) to be added to project. If no subfolders are selected in the included dropdown file(s) will be added to the root of the project.
List Files in Project | presents List File(s) in Project dialog
* Compiler Options | presents Compiler Options dialog
Settings | presents Project Settings dialog

If a folder in the active project is linked to a remote server directory in the New Folder dialog and that folder is selected in the Project pane, the following additional options will be available in the context menu:

Download from server | downloads all files in the remote path specified to the folder linked to in the active project. Any files with the same name are overwritten regardless of timestamp.
Download with Sync | downloads ONLY newer files from the server to the folder linked to in the active project
Upload to server | uploads all files in the remote path specified to the folder linked to in the active project. Any files with the same name on the server are overwritten regardless of timestamp.
Upload with Sync | uploads ONLY newer files from the local folder to the linked server directory

If a folder or file is selected in the File Tree View under Project mode, the following items are shown in the context menu:

Open | opens selected file/folder in active project
Explore | opens Explorer to selected file/folder directory
Git -> Branch manager... | presents Git Branch Manager (as will double-clicking on the current branch)
Git -> Status... | updates status of active branch in Git Shell
Git -> Show log | writes log for current branch to Git Shell
Git -> Add all new files | adds all new files to currently active branch
Git -> Commit | stores the current contents of the index in a new commit along with a log message from the user describing the changes
Git -> Reapply stash | presents a dialog where users can choose a stash to apply to the current branch
Git -> Launch shell | displays integrated Git Shell
Git -> Config -> Open .gitignore | opens .gitignore file in UEStudio
Git -> Config -> Open config file | opens config file in UEStudio
VCS -> Commit | commits working copy to repository without displaying any prompts or options
VCS -> Update | commits working copy from repository without displaying any prompts or options
VCS -> Update (Special) | allows configuration of multiple VCS-related options using CVS/Subversion Update dialog
VCS -> Diff | shows the difference between the current local working file and the earlier revision stored in the repository.
VCS -> Compare | invokes UltraCompare to show the difference between the current local working file and the earlier revision stored in the repository.
VCS -> Advanced Diff/Compare | presents CVS Diff dialog where user may specify parameters to be used for diff command
VCS -> Remove | removes files and directories from a VCS repository
Remove from Project | removes the selected file/folder from the active project
* Add to Environment | presents the Add/Modify Environment Variable dialog

Open mode: displays all currently open files.

The context menu in Open mode includes the following items:

Close File | closes selected file(s)
Save File | saves selected file(s)
Print File | prints selected file(s)
Tile Windows Horizontally | horizontally tiles all open files
Tile Windows Vertically | vertically tiles all open files
Make Folder Active File Path | sets active file path to path of currently selected file
Show Names Only | if selected, only file names (and not paths) are displayed
Sort By Extension | sorts listed files by extension

Explorer mode: displays File Tree View for local/network drives and removable media.

If the [image] button is pressed, the Explorer pane will be split horizontally with the upper pane showing the default file tree view, and the lower pane showing the contents of the selected folder as shown below:

Double-clicking on a file in the lower pane will cause it opened for editing. Double-clicking on a folder will navigate into that folder. Double-clicking on the folder labeled ".." at the top of the lower pane will navigate to the parent folder.

If a file is selected in Explorer mode, right-clicking in the File Tree View presents the following context menu:

System Explorer Menu | presents applicable parts of Windows Explorer context menu
Rename File | moves focus to active file name to allow renaming
Open File | opens active file in edit window
Open with Default | opens active file in application registered with Windows for file type
Properties | displays Windows properties dialog for active file
Delete File(s) | deletes selected file(s)
Make folder active file path | switches to folder of active file path
Windows Directory | switches focus to Windows directory
System Directory | switches focus to System directory
My Documents | switches focus to My Documents directory for user
Application | switches focus to Application Data directory
Insert into Document | presents submenu where users may select to insert the Full Path, Path, or Name of the selected file into the active document
Show Hidden Files/Folders | toggles visibility of hidden files/folders

If a folder is selected in Explorer mode, right-clicking in the File Tree View presents the following context menu:

System Explorer Menu | presents applicable parts of Windows Explorer context menu
Refresh | updates listing of all hard drives and removable media
Set Directory as Root | sets the active directory as root on right click and selection
Find in Files in this Directory | launches Find in Files dialog with Directory set to selected directory
Replace in Files in this Directory | launches Replace in Files dialog with Directory set to selected directory
Open Command Prompt Here | opens command prompt set to path for selected directory
Rename File | moves focus to active folder name to allow renaming
Open File | presents Open Files dialog where users may sort a filtered list of files in the active folder or in all selected folders based on file name, path or modified date
Properties | displays Windows properties dialog for active file
Delete File(s) | deletes selected file(s)
Make folder active file path | sets selected folder as active file path
Windows Directory | switches focus to Windows directory
System Directory | switches focus to System directory
My Documents | switches focus to My Documents directory for user
Application | switches focus to Application Data directory
Insert into Document | presents submenu where users may select to insert the Full Path, Path, or Name of the selected directory into the active document
Show Hidden Files/Folders | toggles visibility of hidden files/folders

Lists mode: displays Tree View for Favorites and user-created groups.

If focus is in the combo box, you may type the name for a new list heading (e.g., Personal) and pressing the "+" button would add this to the list as a new heading. You may then select the heading you would like to add items to and press the browse button "..." to present the context menu with the options Add Folder and Add File. If an item is selected in the Lists pane and the "-" button is pressed, the selected item will be removed from the list.

UEStudio Interface

UEStudio includes three additional tabs at the bottom of the File Tree View that are not present in UltraEdit.

When the * Files tab is selected the three default tabs at the top of the display are active and selectable. In UEStudio the Project, Open, and Explorer modes display files/modules with small colored squares that indicate their status in relation to the CVS repository.

Color | Meaning
Green | file/module is up-to-date and unmodified
Blue | file/module is not currently under CVS control
Yellow | file/module is modified
Red | file/module contains a conflict

When the * Res tab is selected the resources for the active project are listed. If a folder is selected in the File Tree View under Resource mode the following items are shown in the context menu:

Save Resources | saves modified resources in the active project
Insert | inserts a copy of the selected resource folder into the active project below the selected resource folder
Import | presents File Open dialog from which the item to be imported may be selected
Editor Configuration | presents Resource Editors Configuration dialog where users may specify paths for Bitmap Editor, Icon Editor, or Cursor Editor

If a file is selected in Resource mode right clicking in the File Tree View presents the following context menu:

Open | opens the selected Data, Dialog or Menu resource for editing. If a Bitmap, Cursor, Icon or Toolbar resource is selected, the associated editor will be invoked. If an Accelerator or String Table resource is selected the Accelerators dialog or Strings dialog will be presented to allow editing of the selected resource.
Open Binary Data | opens the selected resource in binary/HEX mode
Remove Resource | removes the selected resource from the active project
Save Resources | saves modified resources in the active project
Insert Copy | inserts a copy of the selected resource into the active project below the selected resource
Insert | presents Insert Resource dialog from which users may choose to insert one of the following items: Accelerator, Bitmap, Cursor, Dialog, Icon, Menu, Toolbar, Version, Font, Html
Import | presents File Open dialog from which the item to be imported may be selected
Editor Configuration | presents Resource Editors Configuration dialog where users may specify paths for Bitmap Editor, Icon Editor, or Cursor Editor

When the * Tags tab is selected classes, structs and other symbols defined inside the project workspace are displayed. Below these items globals (Functions, Labels, Macros, and Variables) will be listed as well. If you double-click on a displayed symbol, the appropriate source file will be opened and the line where the symbol is defined/declared will be positioned to. In UEStudio this interface replaces the Ctags mechanism used in UltraEdit.

If a tag is selected right clicking in the File View presents the following context menu:

Go To Definition | opens file where symbol is defined to the line where definition occurs
Find Symbol in Active Document | lists occurrences of symbol in active document in the output window
Find Symbol in Project Files | lists occurrences of symbol in active project in the output window

* Please note: These features are only supported in UEStudio, and not in UltraEdit.


Home and End keys (Cursor Movement)

The "Home" key moves the cursor to the beginning of the line the cursor is on. Holding down the CTRL key while using the "Home" key moves the cursor to the beginning of the document.

The "End" key moves the cursor to the end of the line the cursor is on. Holding down the CTRL key while using the "End" key moves the cursor to the end of the document.


Insert/Overstrike Modes

UltraEdit allows editing in both insert and overstrike modes. The mode of operation is indicated in the status bar at the bottom of the UltraEdit window. The insert/overstrike mode is changed with the INSERT key. The mode is toggled when the INSERT key is pressed.

If insert mode is selected, the second area of the status bar is clear; if overstrike mode is selected, the second area of the status bar shows 'OVR'.

Insert mode causes a key to be inserted into the document at the position of the cursor. Overstrike mode causes the character immediately to the right of the cursor to be overwritten by the new character.

If the editor active window is in Hex mode the active window is always in overstrike mode. To insert text in Hex mode, use the Insert/delete command from the Hex mode dropdown in the Edit tab.


Inserting Special Characters

Special support has been added to UltraEdit to allow characters not supported on American keyboards to be easily inserted. These are as follows:

Ctrl+Shift+a | Inserts ä character
Ctrl+Shift+A | Inserts Ä character (Caps Lock on)
Ctrl+Shift+o | Inserts ö character
Ctrl+Shift+O | Inserts Ö character (Caps Lock on)
Ctrl+Shift+u | Inserts ü character
Ctrl+Shift+U | Inserts Ü character (Caps Lock on)
Ctrl+Shift+s | Inserts ß character
Ctrl+Shift+S | Inserts ß character (Caps Lock on)

It is also possible to insert any character listed in the ASCII Table accessed from the Other windows dropdown in the Layout tab by holding down the ALT key while typing in the four digit decimal value of the character on the numeric keypad. For example, "¿" may be inserted by holding down the ALT key while typing "0191" and "Æ" may be inserted by holding down the ALT key while typing "0198".


Keyboard Commands

UltraEdit allows the use of keyboard commands for a number of commonly used features. The keyboard commands are listed below:

F1 | Help | Show UltraEdit Help
Shift+F1 | Context Help | Invoke the context help
Ctrl+N | File New | Create a new document file
Ctrl+O | File Open | Open an existing document file
Ctrl+Q | File Quick Open | Open an existing document file without showing the File Open dialog
Ctrl+F4 | File Close | Close an existing document
Ctrl+S | File Save | Save the active document
F12 | File Save As | Save the active document as a new file
Ctrl+P | File Print | Print the active document
Ctrl+X | Edit Cut | Cut text from active document into the clipboard
Ctrl+C | Edit Copy | Copy text from active document into the clipboard
Ctrl+V | Edit Paste | Paste text from the clipboard into the active document
Ctrl+0-9 | Edit Select Clipboard | Select active clipboard
Ctrl+A | Edit Select All | Select All text in active document
Ctrl+Z | Edit Undo | Undo last action if possible
Ctrl+Y | Edit Redo | Reverse last Undo action if possible
Ctrl+J | Edit Select Word | Select the current word (same as double click )
Ctrl+E | Edit Delete Line | Delete line cursor is on
Ctrl+F11 | Edit Delete to Start of Line | Delete from cursor to start of line
Ctrl+F12 | Edit Delete to End of Line | Delete from cursor to end of line
Ctrl+W | Toggle Word Wrap | Toggle word wrap on/off
F7 | Edit Insert Time/Date | Insert time/date at cursor
Alt+F3 or Ctrl+F | Find | Find a character string
Ctrl+F3 | Find Prev | Repeat last find toward beginning of file
F3 | Find Next | Repeat last find toward end of file
Ctrl+B | Match Brace | Find matching brace (,[,{ or },],)
Ctrl+R | Replace | Find and replace a character string with another
Ctrl+G | Goto | Goto the specified line (or HEX address)
Ctrl+U | File Tree View | Toggle File Tree View
Ctrl+F8 | Tag List | Toggle Tag List
Ctrl+T | Reformat Paragraph | Reformat the current paragraph or selected text
Ctrl+F5 | Format to Lower | Convert selected text to lower case
Alt+F5 | Format to Upper | Convert selected text to upper case
F5 | Format Capitalize | Capitalize first character of each word in selected text
Shift+F5 | Format Invert Case | Invert case of all characters in selected text
Ctrl+K | Edit Spell Check | Invoke the spelling checker
Alt+C | Column Mode | Toggle column/block mode on/off
Ctrl+Backspace | Delete previous word | Delete the word preceding the cursor
Ctrl+Delete | Delete next word | Delete the word following the cursor
Ctrl+I | Insert Literal Character | Insert a literal character at cursor position
INS | Insert/Overstrike Mode | Toggle insert/overstrike mode
Ctrl+H | HEX Edit | Toggle HEX editing mode
Ctrl+D | HEX Insert/Delete | Insert or delete characters in HEX editing mode
Ctrl+F2 | Set Bookmark | Toggle bookmark on/off
F2 | Goto Bookmark | Goto next bookmark
Ctrl+M | Macro Play | Replay a macro
Ctrl+L | Macro Play Multiple Times | Replay a macro the specified number of times
Ctrl+F6 | Next Window | Make next document window active
Ctrl+Shift+F6 | Previous Window | Make previous document window active
Alt+F4 | Exit UltraEdit | Exit UltraEdit
Alt+0-9 or Shift+Alt+0-9 | Insert Template | Insert user-defined template
F9 | DOS Command | Run DOS window command
Ctrl+F9 | Last DOS Command | Repeat last DOS window command
F10 | Run Windows Program | Run Windows Program
Ctrl+Shift+A | Inserts ä character | (As ANSI or ASCII based on the font)
Ctrl+Shift+A (Caps Lock on) | Inserts Ä character | (As ANSI or ASCII based on the font)
Ctrl+Shift+O | Inserts ö character | (As ANSI or ASCII based on the font)
Ctrl+Shift+O (Caps Lock on) | Inserts Ö character | (As ANSI or ASCII based on the font)
Ctrl+Shift+U | Inserts ü character | (As ANSI or ASCII based on the font)
Ctrl+Shift+U (Caps Lock on) | Inserts Ü character | (As ANSI or ASCII based on the font)
Ctrl+Shift+S | Inserts ß character | (As ANSI or ASCII based on the font)
Ctrl+Shift+S (Caps Lock on) | Inserts ß character | (As ANSI or ASCII based on the font)
Ctrl+Up | Scroll Up | Scroll up one line keeping cursor in view
Ctrl+Down | Scroll Down | Scroll down one line keeping cursor in view
F4 | Change Focus | Toggle focus between active file and Tree View if visible
F8 | Display Function List | Display Function List
Alt+Right | Next Paragraph | Position cursor at first non-space character of next paragraph
Alt+Left | Previous Paragraph | Position cursor at first non-space character of current paragraph (if positioned mid-paragraph) or previous paragraph
Alt+Page Up | Top of Window | Position cursor at beginning of first line of display
Alt+Page Down | Bottom of Window | Position cursor at beginning of last line of display
Alt+'-' (numeric keypad only) | Scroll to Top | Position active line at top of window
Alt+'+' (numeric keypad only) | Scroll to Bottom | Position active line at bottom of window
Alt+'center' or Alt+'5' (numeric keypad only) | Scroll to Center | Position active line at center of window
Ctrl+'1' (numeric keypad '1' only) | End of previous word | Position cursor at the end of the previous word
Ctrl+'2' (numeric keypad '2' only) | End of next word | Position cursor at the end of the next word
Ctrl+Insert | Telnet copy | Copy selected text in Telnet client to clipboard
Shift+Insert | Telnet paste | Paste clipboard contents into Telnet client


Multi-Caret Editing

Multi-caret editing allows the user to activate two or more non-contiguous insertion points (identified by the blinking caret) within the active file. Each caret acts and operates independently of any other caret, and any edit operations the user executes are performed in all caret locations simultaneously. This is an optional feature and may be disabled completely in configuration under Advanced - Configuration - Editor Display - Cursor/Caret. Please note: Multi-caret editing is not supported when Column Mode or Hex Mode is active.

Multi-caret via mouse

Creating multiple carets via mouse

Regardless of how many carets are active, the user may add a new caret by holding the Ctrl key and left-mouse-button clicking at any location within the file where he can normally click to reposition the caret, including beyond a line end if the editor is configured for it.

Adding a new caret to an existing set via mouse

If the user has created a caret set and released Ctrl and wishes to add a new caret to the active set, then, prior to clicking anywhere else in the file, he may press Ctrl again and click in a new position to add a new caret to the existing set.

Removing a caret via mouse

The user may remove a caret from the active set by holding Ctrl and clicking on the caret he wishes to remove. No other carets are affected. The user may UNDO the last-created caret by pressing Shift + Alt + Z.

Clearing all multiple carets via mouse

To remove multiple carets, the user can release Ctrl and then click elsewhere in the file (not on an active selection). All carets will be removed and the clicked position will become the only active caret. Alternatively, users may press Ctrl + Shift + / to remove all but the primary caret.

Multi-select

Multi-select is a component of multi-caret in that it allows the user to select multiple non-contiguous sections of data.

Multi-select via mouse

Creating multiple selections via mouse

Regardless of how many selections are active, the user may add a new selection by holding the Ctrl key and selecting any text within the file where he can normally do so.

The selection can be created via:

• Click-and-drag (standard selection)

• Double-/triple-click

• Click on line number

Adding a new selection to an existing set via mouse

If the user has created a selection set and released Ctrl and wishes to add a new caret to the active set, then, prior to clicking anywhere else in the file, he may press Ctrl again and select new text to add to the existing set.

Removing a selection via mouse

The user may remove a selection from the active set by holding Ctrl and clicking anywhere on the selection he wishes to remove. No other selections are affected. No caret is left where the user clicked.

Clearing all multiple selections via mouse

To remove multiple selections, the user must release Ctrl and then click elsewhere in the file (not on an active caret/selection). All carets will be removed and the clicked position will become the only active caret.

Movement of multi-carets

With a caret/selection set active, the user can reposition them as he normally would by using basic movement keys on the keyboard. For example, pressing Left Arrow will move all carets to the left 1 position. Pressing Down Arrow will move all carets down 1 line. Pressing HOME will move all carets to the beginning of each line. Page Up will move all carets up 1 page. Any movement which would cause the carets to converge into a unified location will result in a single caret. Examples include Ctrl + Home, Ctrl + End, Ctrl + Shift + Home, Ctrl + Shift + End, etc.

General editing with multi-caret

Once a user has a set of multi-carets and/or selections, he may do any number of general editing operations.

Copy/Cut

All selections are copied or cut into the clipboard. Non-contiguous selections are separated on the clipboard by a line terminator.

If the user has “Enable copy/cut of current line with no selection active”, then all lines where a non-selection caret is active are copied/cut.

Paste

All selections are overwritten with whatever data is on the clipboard.

Select

Using Shift, the user can select from each caret at once just as he would with a single caret.

Backspace/Delete

All backspace/delete functionality is available and operates independently upon each caret.

“End of line” carets

Special handling is provided for multiple contiguous “end of line” (EOL) carets. When this is enabled, the user can hold Ctrl and click and drag BEYOND the EOL for multiple contiguous line and have a caret automatically activated at the end of each line. This way, the user does not have to manually Ctrl + Click at the end of each line. If the user continues to drag to a point that is NOT beyond EOL for a line, then the multi-carets will switch over to a regular selection (normal behavior when clicking and dragging).


Output Window

UEStudio supports a tabbed output window with four different tabs (UltraEdit supports only two) allowing output to be written and stored separately without overwriting the results of previously run functions.

The advantage of this is that multiple functions may be executed and the dynamically generated output of these functions may be stored separately for future reference (during the active editing session). All output will be written to the active window. So clicking on tab "1" and running a Find in Files would write the results of the Find in Files command to the output window associated with tab "1". Clicking on tab "3" and building the active project would cause the STDOUT and STDERR output (depending on compiler settings ) to be written to the output window associated with tab "3".

Right clicking in the Output Window displays a context menu with the following options:

Clear output | erases contents of active window
Copy to clipboard | copies contents of active window to clipboard
Copy selected line to clipboard | copies selected line to clipboard
Collapse all | collapses all foldable sections in Find in Files output
Expand all | expands all foldable sections in Find in Files output
Next message | moves focus to next item in output window listing and opens referenced file to listed line
Previous message | moves focus to previous item in output window listing and opens referenced file to listed line
Set default path for relative paths... | presents dialog where user may browse to folder to specify a directory to be used as the default directory for processing relative paths in the output window
Go to error/warning | opens referenced file to indicated line/column
Scroll output | controls whether output window focus scrolls to last line when populated or remains at top of listing
Allow docking | toggles whether output window may be positioned within edit framework as a docked window
Hide output window(s) | toggles visibility of active output windows
Use spaces instead of tabs | forces output windows to use spaces instead of tabs when displaying command output
Show tool tips | toggles whether tool tips are displayed when output lines exceed window width


Page Up & Page Down keys (Cursor Movemen

Page Up & Page Down keys (Cursor Movement)

The "Page Up" key moves the cursor up one page. Holding down the CTRL key while using the "Page Up" key moves the cursor to the top of the edit window.

The "Page Down" key moves the cursor down one page. Holding down the CTRL key while using the "Page Down" key moves the cursor to the bottom of the edit window.


Quick Find command

Quick Find is a small search interface designed to provide fast and unobtrusive access to UltraEdit’s find functionality, similar in design to the search features in most modern browsers. When activated, the Quick Find dialog becomes visible at the top right of the edit window. Quick Find may be invoked by pressing Ctrl+F. Quick Find is an optional feature with configurable key mapping. If the user does not wish to use Quick Find, he can remove its key mapping.

Search

With focus on the Quick Find input, the user can begin typing a string and UltraEdit will perform an incremental search as each character is typed. This is a basic character-to-character search; advanced functions such as regular expressions, case matching, and whole word matching are not available via Quick Find. Special characters via “^” are supported, however (^t, ^n, ^p, etc.)

Match highlighting

As the user types the search string, the first/active match is selected (as with Find Next from a Find dialog). All other matches are highlighted with the “Highlight all items” color specified within the active theme. All match highlighting is cleared when the user closes the Quick Find dialog. The active match selection is not cleared when the user closes the Quick Find dialog, but remains selected.

Returning focus back to Quick Find

If the Quick Find dialog has been left open and focus is elsewhere in the application, pressing the shortcut for Quick Find will not close it, but instead move focus back to it.

Close

The user can close Quick Find by either pressing ESC or by activating the normal Find dialog (if the Find dialog is in a floating state). ESC will always close Quick Find, even if focus is elsewhere in the application. Quick Find takes precedence over the Output Window (which is also closed with ESC).

Interaction with Existing Find Next / Previous

Any search strings entered via Quick Find are not added to UltraEdit’s Find Next/Prev (F3 / Ctrl+F3) histories.

Find Next

The user can move to the next occurrence of the search string by either pressing Enter while the Quick Find still has focus, or by clicking the “Next” button [image] next to the input field. If the user presses Enter to go to the next occurrence, focus will remain in the Quick Find so that the user can repeatedly press Enter to step through each match.

Find Previous

The user can move to the previous occurrence of the search string by either pressing Ctrl+Enter while the Quick Find still has focus, or by clicking the “Prev” button [image].

Expand to Find dialog

The user can expand to the Find dialog by either pressing the hotkey for it, or by pressing the “Expand” button [image]. If the user expands to the Find dialog while focus is in the Quick Find dialog, then the Find dialog will inherit the search string the user provided in the Quick Find dialog overriding any existing behavior in regards to selected text/word under caret. Once the normal Find dialog is opened, the Quick Find will close, regardless of whether or not it has focus.

Status Bar Feedback

The leftmost portion of the status bar indicates how many matches are found as each incremental search via Quick Find is executed in the following format:

Find “search text” – 55 matches


Registering UltraEdit/UEStudio

Internet Activation

Internet Activation is the primary method of registering UltraEdit/UEStudio. When the Enter license key option is selected from the Application menu (UE/UES icon), the Activation dialog will be displayed. The easiest method of entering the required License ID and Password is to copy them from the registration email and paste them into the dialog.

The password provided for UltraEdit/UEStudio is case sensitive and must be entered EXACTLY as received from IDM Computer Solutions, Inc.

After entering the License ID and Password, the user must press the Activate button to validate the license with the registration server. After the License ID and Password have been validated, the user will see a dialog indicating that the registration/activation is successful.

If necessary, users may press the Proxy button in the Internet Activation dialog to enter the name or IP address for the proxy server and the port number to be used as appropriate. For most users this should not be necessary as UltraEdit will default to the proxy settings specified for Internet Explorer.

Offline Activation

If online activation is not possible because there is no Internet connection available, users may use the offline activation dialog to register. When the Offline Activation button is pressed in the Internet Activation dialog, the dialog below will be displayed. The License ID and Password fields must be populated with the values provided in your registration email. The User Code 1 and User Code 2 fields will be populated with numeric values. These should be sent to support@idmcomp.com in an email and we will reply with values that may be entered in the Authorization Code 1 field.

Please note: If any values other than those provided by IDM Computer Solutions, Inc. are entered here, this will cause the values in the user code field values to be re-calculated the next time the Offline Activation dialog is opened. Please do not enter any values except those provided by our support team.


Right Mouse Button Commands

UltraEdit allows the right mouse button to display a pop-up menu. If the right mouse button is clicked while in a document window, the popup menu is displayed at the position of the mouse click. If text is selected when the right mouse button is pressed, a new menu item Open File Highlighted is added to the top of the pop-up menu and if selected the file is opened if it exists.

If no text is selected, UltraEdit will examine the text under the cursor and if it finds what it believes may be a file it will add a new menu item Open followed be the name of the file it will try and open. If this is a URL the information will be passed to the default browser for opening.


Scripting Demo and Tutorial

Scripting in UltraEdit/UEStudio is enabled through embedding of the JavaScript engine. The scripting engine supports the core functionality of JavaScript 1.7. Further information on JavaScript may be found on the associated Mozilla site (http://developer.mozilla.org/en/docs/JavaScript).

Scripting Tutorial

For a short scripting tutorial please click here.

Demo Scripts

Demo scripts may be found in the UltraEdit installation directory in the scripts subdirectory (typically c:\Program Files\IDM Computer Solutions\UltraEdit\scripts). These and any other JavaScript scripts may be opened directly in UltraEdit for editing with integrated syntax highlighting as in the example below:

The hello.js script demonstrates the simplest form of script supported - a single line script that writes to the active file:

To invoke this script please click on All scripts in the Advanced tab. This will present the Scripts dialog. If you press the Add button and navigate to the "scripts" directory below the installation directory you may add "hello.js" to the list of scripts available to be run. You may assign a hotkey to the script by clicking in the Hotkey field and pressing the desired keys. Scripts that are added may be invoked through hotkeys or by clicking on the script name in this list.

To be fully self-contained this script actually creates a new Edit document to write to and the script may be run without opening any documents.

The stringvar.js script shows the ability to capture user input and store it in variables for later use in the script:

This may be invoked as described above for the hello.js script. To run this demo, please open any text file and specify the string you wish to search for and the number of occurrences you wish to find. The script will then open a new document and write the specified number of matching lines to the new file.

The header.js script demonstrates the ability to find the number of open files using the document JavaScript array object which is a property of the UltraEdit application object. This is an array of all currently opened documents. UltraEdit is the application object that all UltraEdit operations will be based on. Using this information, this script iterates through all open documents writing a predefined header:

For information regarding the commands supported for scripting, please see the Scripting commands Help topic.


Scripting commands

Scripting in UltraEdit/UEStudio is enabled through embedding of the JavaScript engine. This allows users to enjoy the power and flexibility of the full JavaScript language while using the commands specified below to specifically interact with the editor (Application Object commands) or documents open in the editor (Document Object commands). Scripts may be edited in UltraEdit/UEStudio with integrated syntax highlighting for JavaScript in the default wordfile:

The scripting engine supports the core functionality of JavaScript 1.7. Further information on JavaScript may be found on the associated Mozilla site (http://developer.mozilla.org/en/docs/JavaScript).

For example, this script will generate a sequence of numbers and write them to the active document:

function recall(num) {

UltraEdit.activeDocument.write(num + "\r\n");

}

function num() {

var i = 0, j = 1, n = 0;

while (n < 10) {

recall(i);

var t = i;

i = j;

j += t;

n++;

}

}

num();

Further demo scripts may be found in the installation directory in the "scripts" subdirectory. For a short scripting tutorial please click here.

Including scripts in scripts

If desired, users may include an external script in a script by reference as shown below:

// include externalScript.js

or

// include C:\full path\to external\script\externalScript.js

The include command must be preceded by a line comment. If a users wishes to exclude the included script for debugging purposes, the include should be preceded by a doubled line comment, i.e.:

// // include externalScript.js

Please note that scripts are executed as soon as the inclusion is processed, but inclusions are processed prior to the active script. If an include is inserted into the middle of a script file, it will actually execute prior to the script it is included in. Where users desire to build complex scripts in a modular fashion from smaller scripts, the best practice would be to create a master script file that calls the included scripts, i.e.:

// include script1.js

// include script2.js

// include script3.js

var_dump

This function is included outside the other objects defined for scripting in UltraEdit. It displays structured information about the referenced information including type and value. Arrays and objects are explored recursively with values indented to show structure.

Example:

var_dump(UltraEdit.frInFiles);

Default Variable Values

UltraEdit supports several variable values that are initialized by default every time a script starts in UltraEdit:

Column Mode is always off.

Hex Mode is always off.

Insert Mode is always on.

The regular expression engine is always set to Perl.

These items are set every time a script runs.

Application Object commands

UltraEdit is the application object that all UltraEdit operations will be based on. The following commands act on the editor itself rather than the active document. Unless other parameters are noted, all Application Object commands must be invoked using the following format:

UltraEdit.commandName();

The table below shows the Application Object commands:

Commands

Parameters*

Description

activeDocumentIdx

 ** This is a READ ONLY property.

Returns index of active document in the document array. Example:

var adI = UltraEdit.activeDocumentIdx;

clearClipboard

Clears active clipboard.

clipboardContent

Text in quotes ("") if used to set clipboard content.

Returns content of active clipboard. Example:

var clip = UltraEdit.clipboardContent;

May also be used to SET the content of the active clipboard. Example:

UltraEdit.clipboardContent = "Hello World!";

clipboardIdx

** This is a READ ONLY property.

Returns index of active clipboard. Example:

var clip = UltraEdit.clipboardIdx;

closeFile

File Path

Save Mode

0 - prompt to save

1 - save and close

2 - close without save

Closes active file. Example:

UltraEdit.closeFile("C:\\temp\\test.txt",2);

*Note: Any backslash used in parameters must be escaped as shown above (i.e. "\\" rather than "\").

columnMode

** This is a READ ONLY property.

Returns BOOLEAN value indicating if column mode is active. Example:

var columnActive = UltraEdit.columnMode;

columnModeOff

Turn column mode off. Example:

UltraEdit.columnModeOff();

*Note: The current column mode state will be restored once the script has completed processing.

columnModeOn

Turn column mode on. Example:

UltraEdit.columnModeOn();

decryptFilePrompt

Present Decrypt File dialog. Example:

UltraEdit.decryptFilePrompt();

encryptFilePrompt

Present Encrypt File dialog. Example:

UltraEdit.encryptFilePrompt();

frInFiles

.directoryStart | string | full path of
directory where search should begin
.encoding | int | value:
 | Encoding value to be used for search
.filesToSearch | int | value:
 | 0 - Files Listed 1 - Open Files 2 - Favorite Files 3 - Project Files 4 - Solution Files
.ignoreHiddenSubs | boolean | true/false
.matchCase | boolean | true/false
.matchWord | boolean | true/false
.openMatchingFiles | boolean | true/false
.regExp | boolean | true/false
.searchSubs | boolean | true/false
.unicodeSearch | boolean | true/false
.useEncoding | boolean | true/false
.searchInFilesTypes | string | files/types
 | to search in
.find("string to find");
.replace("string to find", "string to replace");
** Only used with replace **
.logChanges | boolean | true/false
.preserveCase | boolean | true/false
** Only used without replace **
.displayLinesDoNotMatch
 | boolean | true/false
.reverseSearch | boolean | true/false
.useOutputWindow | boolean | true/false

Searches through specified files to find the string in quotes "" based on the parameters specified.

Find in Files Example:

UltraEdit.frInFiles.directoryStart = "c:\\temp\\";

UltraEdit.frInFiles.searchInFilesTypes = "*.txt";

UltraEdit.frInFiles.useOutputWindow = true;

UltraEdit.frInFiles.find("3939");

Replace in Files Example:

UltraEdit.frInFiles.directoryStart = "c:\\temp\\";

UltraEdit.frInFiles.searchInFilesTypes = "*.txt";

UltraEdit.frInFiles.useOutputWindow = true;

UltraEdit.frInFiles.replace("3939", "7878");

getString

String in quotes ("") used in the prompt dialog

Optional flags:

0 int

1 int return value

Prompts user for string to insert at current location. The "prompt" is the prompt or question that is displayed to the user when the script is run. Examples:

UltraEdit.getString("What is your name?");

or

var str = UltraEdit.getString("What is your name?",1);

If the int value "1" is used the string entered will not be written to the active file, but will be saved as the variable value and used in the running script.

getValue

String in quotes ("") used in prompt dialog

Optional flags:

0 int

1 int return value

Prompts user for a value to insert at current location. The "prompt" is the prompt or question that is displayed to the user when the script is run. Examples:

UltraEdit.getValue("How old are you?");

or

var str = UltraEdit.getValue("How old are you?",1);

If the int value "1" is used the string entered will not be written to the active file, but will be saved as the variable int value and used in the running script.

insertMode

Change text editing mode to insert mode for characters typed.

insOvrMode

** This is a READ ONLY property.

Returns BOOLEAN value indicating if insert mode is on. Example:

var insertActive = UltraEdit.insOvrMode;

messageBox

Message text in quotes ("")

Title text in quotes ("") (optional)

Presents message dialog with "OK" button. Example:

UltraEdit.messageBox("Can't complete process", "Process Abort");

newFile

Open a new blank file.

open

File name in quotes ("")

Open the specified file. The file name must be in quotes. "^c" may be used and UltraEdit will replace this with the contents of the clipboard. Example:

UltraEdit.open("c:\\temp\\test.txt");

or

UltraEdit.open('^c');

or

UltraEdit.open("c:\\temp\\^c");

or

UltraEdit.open("FTP::myserver.com\\/home/mypath/

public_html|index.html");

overStrikeMode

Change text editing mode to overstrike mode for characters typed.

perlReOn

Switch regular expressions to Perl compatible style regular expressions.

regexMode

** This is a READ ONLY property.

Returns a number indicating active regular expression type.

0 = UltraEdit expressions

1 = Unix expressions

2 = Perl expressions

Example:

var regexType = UltraEdit.regexMode;

runTool

String in quotes ("") specifying the case sensitive menu name of tool to run.

Runs a tool. The tool must be configured from Configure tools under the User tools dropdown in the Advanced tab. Example:

UltraEdit.runTool("Script Tool");

save

Save active file.

saveAll

Save all active files.

saveAs

File name in quotes ("")

Save the active file as the filename specified. The filename must be in quotes. "^s" may be used in the filename. UltraEdit will replace this with the currently selected text in the active Window. Likewise, "^c" may be used and UltraEdit will replace this with the contents of the clipboard.

UltraEdit.saveAs("c:\\temp\\test.txt");

or

UltraEdit.saveAs("^s");

or

UltraEdit.saveAs("^c");

selectClipboard

Clipboard number (0-9)

Select the specified clipboard 0 = Windows clipboard and 1-9 specifies user clipboards. Example:

UltraEdit.selectClipboard(2);

ueReOn

Switch regular expressions to UltraEdit style regular expressions.

unixReOn

Switch regular expressions to Unix style regular expressions.

Document Object commands

document is a JavaScript array object which is a property of the UltraEdit application object. This is an array of all currently opened documents. The activeDocument parameter may be used to specify that output should be written to the active file or users may specify a file's index based on file tab order (i.e. document[0], ... document[8]). For example:

UltraEdit.activeDocument.write("test");

would write the word "test" to the active file, while the following:

UltraEdit.document[4].write("test");

would allow the user to have multiple files open and write the specified text to the fifth file (based on file tab order) currently open for editing.

Scripts may be commented for testing or documentation using "//".

Once a script has been created, it may be edited. Please note, that "^c" and "^s" may be used with many script commands and will be replaced with the contents of the clipboard (^c) and the text currently selected (^s) when used. This allows users to create a script that may reference a specific string and replace this with one of these two items to allow the string to be dynamically "specified" as the script is run. The following commands act on a document currently open for editing. Unless other parameters are noted, all Document Object commands must be invoked using the following format:

UltraEdit.activeDocument.commandName();

The table below shows the Document Object commands:

Commands

Parameters*

Description

ansiToOem

Convert file from ANSI to OEM. Example:

UltraEdit.activeDocument.ansiToOem();

ASCIIToUnicode

Convert file from ASCII to Unicode.

ASCIIToUTF8

Convert file from ASCII to UTF-8.

bottom

Jump to end of file.

cancelSelect

Clears any selection in active document. Example:

UltraEdit.activeDocument.cancelSelect();

clearAllBookmarks

Clears all bookmarks in active document. Example:

UltraEdit.activeDocument.clearAllBookmarks();

codePage

** This is a property of the active/specified document.

Returns value of code page for active document. Example:

var cp = UltraEdit.activeDocument.codePage;

May be used to set code page to be used for active document. Example:

UltraEdit.open("C:\\temp\\korean_file.txt")

UltraEdit.activeDocument.codePage = 949;

collapseAll

Collapse all foldable text in active file. Example:

UltraEdit.activeDocument.collapseAll();

columnCenterJustify

Center justify selected columns.

columnCut

Numeric value of columns to cut

Cut in column mode the selected columns or the specified number of columns from current cursor position to bottom of the file. Value "0" must be used to cut the selected columns.

columnDelete

Numeric value of columns to delete

Delete in column mode the selected columns or the specified number of columns from current cursor position to bottom of the file. Value "0" must be used to delete the selected columns.

columnInsert

String in quotes ("")

Insert string between quotes into selected columns.

columnInsertNum

Start Number | int |
Increment | int |
LeadingZero | boolean | true/false
HEX | boolean | true/false

Insert number in selected columns. If there is no selection the insertion will run from the cursor location to the last line of the file. Example:

UltraEdit.activeDocument.columnInsertNum(2, 3 , false, true);

columnLeftJustify

Left justify selected columns.

columnRightJustify

Right justify selected columns.

commentAdd

Insert the line comment string as defined in the syntax highlighting language used to highlight the current file at start of every selected line or the current line if there is no selection. This command has no affect on a file not highlighted with a syntax highlighting language or when the language has no line comment definition. The cursor position does not change and the selection remains.

commentRemove

Remove the line comment string as defined in the syntax highlighting language used to highlight the current file at start of every selected line or the current line if there is no selection. This command has no affect on a file not highlighted with a syntax highlighting language or when the language has no line comment definition. The line comment string must be at start of the line (column 1) without preceding whitespace. A line comment string after one or more spaces or tabs is ignored and not removed. The cursor position does not change and the selection remains.

CommentSelectionAdd

Insert the "block comment on" string at start and the "block comment off" string at end of a selection as defined in the syntax highlighting language used to highlight the current file. If nothing is selected on execution of the command, both strings are inserted at current cursor position. This command has no affect on a file not highlighted with a syntax highlighting language or when the language has no block comment definition. If the selected block contains already a block comment and the language does not support nested blocks comments, command CommentAdd is automatically executed instead of this command for inserting the line comment string at start of every selected line if the language supports a line comment. The cursor moves to start of the inserted "block comment on" string and the selection is removed after execution when the block comment strings are inserted.

CommentSelectionRemove

Remove the "block comment on" string at start and the "block comment off" string at end of a selection as defined in the syntax highlighting language used to highlight the current file. The command has no affect if nothing is selected on execution of the command. And the command works only if the current selection starts with the "block comment on" string and ends with the "block comment off" string. Whitespace inside the selection before "block comment on" string or after "block comment off" string are not ignored and result in not removing the block comment strings. The cursor moves to start of the selection and the selection is removed after execution when the block comment strings are removed.

copy

Copy selected text to the clipboard. If there is no selection, the line at the current cursor location will be copied if Enable copy/append of current line when no selection is active is configured.

copyAllBookmarkLines

Copy all bookmarked lines in active document to clipboard

copyAppend

Copy selected text and append it to the clipboard. If there is no selection the line at the current cursor location will be copied if Enable copy/append of current line when no selection is active is configured.

copyFilePath

Copy the active file path/name to the clipboard.

currentChar

** This is a READ ONLY property of the active/specified document.

Returns value of character at cursor. Example:

var char = UltraEdit.activeDocument.currentChar;

currentColumnNum

** This is a READ ONLY property of the active/specified document.

Returns value of current column number. The first column is numbered as "1". Example:

var col = UltraEdit.activeDocument.currentColumnNum;

currentLineNum

** This is a READ ONLY property of the active/specified document.

Returns value of current line number. Example:

var lineNum = UltraEdit.activeDocument.currentLineNum;

currentPos

** This is a READ ONLY property of the active/specified document.

Returns value of current position in bytes from the beginning of the file. Example:

var pos = UltraEdit.activeDocument.currentPos;

cut

Cut the selected text from the file to the clipboard. If there is no selection the line at the current cursor location will be cut.

cutAllBookmarkLines

Cut all bookmarked lines in active document to clipboard

cutAppend

Cut the selected text from the file and append it to the clipboard. If there is no selection the line at the current cursor location will be cut.

decodeBase64

Convert selected text from Base64. Example:

UltraEdit.activeDocument.decodeBase64();

delAllBookmarkLines

Delete currently bookmarked lines in active document. Example: UltraEdit.activeDocument.delAllBookmarkLines();

delAllEmptyAndWhitespaceOnlyLines

Deletes all lines in the active document that have nothing on them and lines that only have whitespace characters on them

delAllEmptyLines

Deletes all lines in the active document that have nothing on them (including whitespace)

delAllHiddenLines

Delete lines currently hidden/folded in active document. Example: UltraEdit.activeDocument.delAllHiddenLines();

deleteText

Delete current character or selected text.

deleteLine

Delete the current line.

deleteToEndOfLine

Delete from the current cursor position to the end of the line.

deleteToStartOfLine

Delete from the current cursor position to the start of the line.

dosToMac

Convert the file (line terminators) to MAC format.

dosToUnix

Convert the file (line terminators) to UNIX format.

dupeLine

Inserts duplicate of active line below cursor.

encodeBase64

Convert selected text to Base64. Example:

UltraEdit.activeDocument.encodeBase64();

encoding

** This is a READ ONLY property of the active/specified document.

Returns value of encoding for active document. Example:

var enc = UltraEdit.activeDocument.encoding;

endSelect

Stop selecting text (see startSelect for details).

expandAll

Expands all folded text in active file. Example:

UltraEdit.activeDocument.expandAll();

fileSize

** This is a READ ONLY property of the active/specified document.

Returns size of referenced file in bytes. Example:

var size = UltraEdit.activeDocument.fileSize;

findReplace

.matchCase | boolean | true/false
.matchWord | boolean | true/false
.mode | int | value:
 | 0 - Current File 1 - In Selection 2 - All Open Files
.regExp | boolean | true/false
.searchAscii | boolean | true/false
.searchDown | boolean | true/false
.searchInColumn | boolean | true/false
.fromCol | int | default: 0
.toCol | int | default:-1
.find("string to find");
.replace("string to find", "string to replace");
** Only used with replace **
.preserveCase | boolean | true/false
.replaceAll | boolean | true/false
.replaceInAllOpen | boolean | true/false
*supersedes .mode in replace
.selectText | boolean | true/false
*replaces only in selected text

Find the string in quotes "" based on the parameters specified. Example:

UltraEdit.activeDocument.findReplace.matchWord = true;

UltraEdit.activeDocument.findReplace.find("3939");

or

UltraEdit.document[0].findReplace.matchWord = true;

UltraEdit.document[0].findReplace.matchCase = true;

UltraEdit.document[0].findReplace.replace("Copper", "Silver");

Please note: all properties once set are active for all following finds and replaces until the property is set again to a different value.

fromEBCDIC

Convert text from EBCDIC format.

gotoBookmark

Index of bookmark to jump to or -1 to go to next bookmark

Jump to the next/specified bookmark. The indexes start with 0. If a user enters an index that is greater than the actual number of bookmarks then caret is automatically set to the next bookmark like when using -1 as bookmark number.

Example:

UltraEdit.activeDocument.gotoBookmark(0);

gotoBookmarkSelect

Index of bookmark to jump to or -1 to go to next bookmark

Jump to the next/specified bookmark and select text from the cursor position to bookmark. The indexes start with 0. If a user enters an index that is greater than the actual number of bookmarks then caret is automatically set to the next bookmark like when using -1 as bookmark number. Example:

UltraEdit.activeDocument.gotoBookmarkSelect(0);

gotoEndOfNextWord

Jump to end of next word. Example:

UltraEdit.activeDocument.gotoEndOfNextWord();

gotoEndOfNextWordSelect

Jump to end of next word and select all text from current caret position. Example:

UltraEdit.activeDocument.gotoEndOfNextWordSelect();

gotoEndOfPrevWord

Jump to end of previous word. Example:

UltraEdit.activeDocument.gotoEndOfPrevWord();

gotoEndOfPrevWordSelect

Jump to end of previous word and select all text from current caret position. Example:

UltraEdit.activeDocument.gotoEndOfPrevWordSelect();

gotoLine

Numeric value of line and column number to jump to

Jump to the specified line and column number. Use line number 0 to jump to the specified column in the current line. Example:

UltraEdit.activeDocument.gotoLine(1,5);

gotoLineSelect

Numeric value of line and column number to jump to

Jump to specified line number and column number and select text from cursor position to line/column. Use line number 0 to jump to the specified column in the current line while selecting text. Example:

UltraEdit.activeDocument.gotoLineSelect(1,5);

gotoPage

Numeric value of page to jump to

Jump to specified page number. Example:

UltraEdit.activeDocument.gotoPage(5);

gotoPageSelect

Numeric value of page to jump to

Jump to specified page number and select text from cursor position to page number. Example:

UltraEdit.activeDocument.gotoPageSelect(5);

gotoPos

Numeric value specifying position in number of chars from beginning of file

Jump to specified position

gotoPosSelect

Numeric value specifying position in number of chars from beginning of file

Jump to specified position (passed as parameter in number of chars from beginning of file) while making a selection

hexDelete

Numeric value specifying number of bytes to delete

Delete the specified number of bytes from the file.

hexInsert

Numeric value specifying number of bytes to insert.

Insert the specified number of bytes into the file. This will insert spaces (HEX 20).

hexMode

** This is a READ ONLY property of the active/specified document.

Returns a BOOLEAN value indicating if Hex mode is active. Example:

var hexActive = UltraEdit.activeDocument.hexMode;

hexOff

Turn Hex mode off - switch to text mode.

hexOn

Turn Hex mode on.

hideOrShowLines

Hide the selected lines, or if hidden, show the lines hidden at the line of the cursor.

insertLine

Inserts blank line below current cursor position.

insertPageBreak

Insert a form feed/page break character at the current cursor position in the file.

insertTemplate

Name of template group in quotes followed by a dot ("glo.") (optional)

Name of template in quotes ("templateName")

Index of global template (legacy)

Insert the specified template into the file. Global templates may be inserted by specifying the template name with or without a template group name. Example:

UltraEdit.activeDocument.insertTemplate("userTime");

If desired, users may specify Global ("glo" or "global"), Layout ("env" or "environment", formerly Environment), Language ("lng" or "language") and Project ("prj" or "project") groups as well as template names. Examples:

UltraEdit.activeDocument.insertTemplate("glo.userTime");

UltraEdit.activeDocument.insertTemplate("global.userTime");

UltraEdit.activeDocument.insertTemplate("env.Power1");

UltraEdit.activeDocument.insertTemplate("environment.Power1");

UltraEdit.activeDocument.insertTemplate("lng.class");

UltraEdit.activeDocument.insertTemplate("language.class");

UltraEdit.activeDocument.insertTemplate("prj.noDesc");

UltraEdit.activeDocument.insertTemplate("project.noDesc");

If preferred, users may specify global templates based on their index. Example:

UltraEdit.activeDocument.insertTemplate(0);

invertCase

Invert the case of selected text.

isChar

"string"

This checks if the current character at the cursor position is the character specified. Example:

if (UltraEdit.document[1].isChar('k')){

//do these commands...

} else {

//do these commands...

}

isCharGt

"character"

This checks if the current character at the cursor position is greater than the specified character. Example:

if (UltraEdit.document[1].isCharGt('k')){

//do these commands...

} else {

//do these commands...

}

isColNum

number

This checks if the current cursor position is the specific column number. Example:

if (UltraEdit.activeDocument.isColNum(13)){

//do these commands...

} else {

//do these commands...

}

isColNumGt

number

This checks if the current cursor position is greater than the specific column number. Example:

if (UltraEdit.activeDocument.isColNumGt(13)){

//do these commands...

} else {

//do these commands...

}

isEof

This checks if the current cursor position is at the end of file. Example:

(UltraEdit.document[1].isEof()){

//do these commands...

} else {

//do these commands...

}

isExt

"string"

This checks if the file extension of the active file matches the specified string. Example:

if (UltraEdit.document[1].isExt("txt")){

//do these commands...

} else {

//do these commands...

}

isFound

This checks the results from the last find command in the script and will conditionally execute further commands based on the result. Example:

UltraEdit.activeDocument.findReplace.find("string");

if (UltraEdit.activeDocument.isFound()){

//do these commands...

} else {

//do these commands...

}

isFTP

This checks if the current file is a file loaded via FTP/SFTP and not a local/network file.

if (UltraEdit.document[1].isFTP()){

//do these commands...

} else {

//do these commands...

}

isHexModeOn

This checks if the active file is currently set to Hex/binary mode.

if (UltraEdit.activeDocument.isHexModeOn()){

//do these commands...

} else {

//do these commands...

}

isName

"string"

This checks if the active file name (not path or extension) matches the specified string. Example:

if (UltraEdit.document[1].isName("foo")){

//do these commands...

} else {

//do these commands...

}

isNotFound

This checks the results from the last find command in the script and will conditionally execute further commands based on the result. Example:

UltraEdit.activeDocument.findReplace.find("string");

if (UltraEdit.activeDocument.isNotFound()){

//do these commands...

} else {

//do these commands...

}

isReadOnly

This command checks if the active document is set to read only. Example:

if (UltraEdit.activeDocument.isReadOnly()){

//do these commands...

} else {

//do these commands...

}

isSel

This checks if there is currently any selected text within the active file. Example:

if (UltraEdit.document[1].isSel()){

//do these commands...

} else {

//do these commands...

}

isWordWrap

This command checks the word wrap state of the active document. Example:

if (UltraEdit.activeDocument.isWordWrap()){

//do these commands...

} else {

//do these commands...

}

key

BACKSPACE
DEL
DOWN ARROW
END
HOME
LEFT ARROW
PGDN
PGUP
RIGHT ARROW
UP ARROW
CTRL+END
CTRL+HOME
CTRL+LEFT ARROW
CTRL+RIGHT ARROW

Insert a key command into the active file. Generally used for navigation in the file and for backspace or delete. The "CTRL+" modifier may be used as with normal editing to modify the command.
For text input the "write" command is used, not the "key" command. Examples:

UltraEdit.activeDocument.key("BACKSPACE");

UltraEdit.activeDocument.key("CTRL+RIGHT ARROW");

length

** This is a READ ONLY property of the active/specified document.

Returns number of active documents. Example:

var num_of_docs = UltraEdit.document.length;

lineTerminator

** This is a READ ONLY property of the active/specified document.

Returns a numeric value indicating line terminator type in active document. Example:

var lt = UltraEdit.activeDocument.lineTerminator;

Supported values:

-2 = MAC but content of file contains currently DOS line terminators

-1 = UNIX but content of file contains currently DOS line terminators

0 = DOS

1 = UNIX

2 = MAC

matchBrace

Find next matching brace and select the text between them.

moveLineDown

Move current line downward one line in active document. Example:

UltraEdit.activeDocument.moveLineDown();

moveLineUp

Move current line upward one line in active document. Example:

UltraEdit.activeDocument.moveLineUp();

oemToAnsi

Convert active file from OEM to ANSI.

paste

Paste the contents of the clipboard into the file.

path

** This is a READ ONLY property of the active/specified document.

Returns full path of specified file. Example:

var text = UltraEdit.activeDocument.path;

previousBookmark

Jump to the previous bookmark. Example:

UltraEdit.activeDocument.previousBookmark();

previousBookmarkSelect

Jump to previous bookmark and select text from cursor position to bookmark. Example:

UltraEdit.document[1].previousBookmarkSelect();

readOnlyOff

Sets active document as writeable

readOnlyOn

Sets active document as read only

reIndentSelection

Re-indents currently selected text. Example:

UltraEdit.activeDocument.reIndentSelection();

returnToWrap

Convert hard returns to word wrap in current selection.

selectAll

Select all text in the file.

selection

** This is a READ ONLY property of the active/specified document.

Returns currently selected text. Example:

var text = UltraEdit.activeDocument.selection;

selectLine

Select all text on active line.

selectToBottom

Select all text from the current position to the end of file.

selectToTop

Select all text from the current position to the top of file.

selectWord

Select the current word (same as double clicking a word).

setActive

Sets specified document as active document. Example:

UltraEdit.document[1].setActive();

sort
.ascending | boolean true/false
.col1Start | int start column key 1
.col1End | int end column key 1
.col2Start | int start column key 2
.col2End | int end column key 2
.col3Start | int start column key 3
.col3End | int end column key 3
.col4Start | int start column key 4
.col4End | int end column key 4
.ignoreCase | boolean true/false
.removeDuplicates
int 0 - false
1 - all keys match
2 - any keys match
.remKey1 | boolean true/false
.remKey2 | boolean true/false
.remKey3 | boolean true/false
.remKey4 | boolean true/false
.type
int 0 - character order
1 - numeric sort
2 - use locale

Sort the file, or selected text according to specified parameters.

Example:

UltraEdit.activeDocument.sort.ascending = true;

UltraEdit.activeDocument.sort.ignoreCase = false;

UltraEdit.activeDocument.sort.removeDuplicates = 1;

UltraEdit.activeDocument.sort.remKey1 = true;

UltraEdit.activeDocument.sort.remKey2 = true;

UltraEdit.activeDocument.sort.type = 0;

UltraEdit.activeDocument.sort.col1Start = 1;

UltraEdit.activeDocument.sort.col1End = 15;

UltraEdit.activeDocument.sort.col2Start = 35;

UltraEdit.activeDocument.sort.col2End = 50;

UltraEdit.activeDocument.sort.sort();

sortAsc

sortDes

Sort Type

0 - Sort based on character order.

1- Sort based on numeric value, not character order.

2 - Specifies that the sort should be locale specific.

Ignore Case boolean true/false

Remove Duplicates boolean true/false

Sort Keys int Up to four pairs of start/end keys may be specified.

Sort the file, or selected text in ascending or descending order.

Example:

UltraEdit.activeDocument.sortAsc(0, true, true, 1, -1);

Example:

UltraEdit.activeDocument.sortDes(1, true, false, 4, 8);

spacesToTabs

Convert (leading) spaces within the file to tabs. This is based on the Tab Stop Value defined under Word Wrap/Tab Settings in Configuration. If the Tab Stop Value is set to three, a group of three spaces together would be required to convert to a tab. Fewer than three spaces together would not be converted.

spacesToTabsAll

Convert all spaces within the file to tabs. This is based on the Tab Stop Value defined under Word Wrap/Tab Settings in Configuration. If the Tab Stop Value is set to three, a group of three spaces together would be required to convert to a tab. Fewer than three spaces together would not be converted.

startSelect

Start selection. This turns the selection mode on. Any cursor movement or positioning will be with selection on and the text is selected. endSelect will stop the selection mode. The selected text will remain selected until another command causes it not to be selected as with normal editing.

tabsToSpaces

Convert all tabs within the file to spaces.

timeDate

Insert the time and date into the file at cursor location.

toCaps

Capitalize each word in the selected text.

toEBCDIC

Convert text to EBCDIC format.

toggleBookmark

Set or remove a bookmark at the current line.

toLower

Convert the selected text to lower case.

top

Jump to top of file.

toUpper

Convert the selected text to upper case.

trimLeadingSpaces

Trim leading spaces from each line of current file

trimTrailingSpaces

Trim trailing spaces from each line of current file.

unicodeToASCII

Convert file from Unicode to ASCII.

unixMacToDos

Convert the active file (line terminators) from Mac/Unix to DOS format.

UTF8ToASCII

Convert file from UTF-8 to ASCII.

wordWrapOff

Turns off word wrap for active document

wordWrapOn

Turns on word wrap for active document

wrapToReturn

Column number at which wrap is performed. Zero for the column number indicates the wrap is to occur at the window boundary.

Convert selection from word wrap to hard returns. Example:

UltraEdit.activeDocument.wrapToReturn(60);

write

Text to write in quotes ("")

Write specified text at cursor location. Example:

UltraEdit.activeDocument.write("This is a test.");

or

UltraEdit.activeDocument.write("^c");

This would use the contents of the clipboard for the write command.

xmlConvertToCRLF

Convert single-line XML file to indented XML format.

Output Window Object commands

outputWindow is a JavaScript array object which is a property of the UltraEdit application object. Unless other parameters are noted, all Output Window Object commands must be invoked using the following format:

UltraEdit.outputWindow.commandName();

The table below shows the Output Window Object commands:

Commands | Parameters* | Description
clear |  | Clears contents of output window. Example: UltraEdit.outputWindow.clear();
copy |  | Copies contents of output window to active clipboard. Example: UltraEdit.outputWindow.copy();
showOutput | boolean true/false | Determines visibility of user specific data that is written to the output window. Currently that includes outputWindow.write() and var_dump(). Example: UltraEdit.outputWindow.showOutput=false;
showStatus | boolean true/false | Determines visibility of all status information in output window (script name, success/failure of script, and errror information). Example: UltraEdit.outputWindow.showStatus=true;
showWindow | boolean true/false | Toggles visibility of output window. Example: UltraEdit.outputWindow.showWindow(true);
visible | ** This is a READ ONLY property. | Returns a BOOLEAN value indicating if output window is visible. Example: UltraEdit.outputWindow.visible;
write | Text to write in quotes ("") | Write specified text to output window. This will only support one line at a time and may not include line terminators. Example: UltraEdit.outputWindow.write("This is a test.");


Tab Indentation

UltraEdit provides multi-line indentation and out-denting with the tab key. If multiple lines are selected, the Tab Key will indent these lines with the equivalent of one tab stop. If the Shift Key is pressed at the same time as the Tab Key the lines will be out-dented by one tab stop.


Text Selection/Highlighting

Holding down the "Shift" key while cursoring with the arrows highlights the text the cursor passes showing that the highlighted text is selected for edit. Holding down the CTRL and the "Shift" key while using the left or right cursor arrows highlights one complete word at a time for editing, moving to the beginning of the previous/next word. If the "Shift" key is held down while double-clicking on a word, all occurrences of that word in the active document will be selected.

Holding down the CTRL and the "Shift" key while using the up or down cursor arrows highlights all text between the starting and ending position of the cursor. Holding down the CTRL and the "Shift" key while using the "Home" key will highlight all text from the beginning cursor position to the beginning of the document being edited.

Holding down the CTRL and the "Shift" key while using the "End" key will highlight all text from the beginning cursor position to the end of the document being edited. When the "Shift" key is pressed at the same time as performing the following functions the current selection (if present), or a new selection will be extended to select text up to the cursor position following the command:

Find Next/Previous

Goto

Goto Bookmark

The "Shift" key should be pressed at the time the action for command takes place, not on the command that shows the dialog. For example, if Ctrl+G displays the Goto Dialog and OK is clicked to perform the Goto , the "Shift" key is pressed when the OK is clicked, NOT when the Ctrl+G is pressed to display the dialog.


Unicode and UTF-8 Support

UltraEdit provides support for Unicode (16-Bit wide character) files, and for UTF-8 files and allows direct editing of Unicode files and UTF-8 files as well as conversion routines between ASCII/ANSI and Unicode or UTF-8. UltraEdit attempts to detect the file type when the file is loaded. It will look for the FF FE mark for Unicode files. For UTF-8 it will look for one of the following three occurrences:

1) Byte order mark (BOM) EF, BB, BF.

2) String occurrences "charset=utf-8" or "encoding=utf-8"

3) It will look for the occurrence of valid UTF-8 multi-byte characters in the first 64KB of a file.

If the file is found to be Unicode, it will be treated as such and the status bar will indicate this. A Unicode file saved in "big Endian" format will be indicated with "UTF-16BE". A Unicode file saved in "little Endian" format will be indicated with "UTF-16".

If the file is found to be UTF-8, it will be treated as such and converted internally to Unicode (16-Bit) for editing. The status bar will indicate this with "UTF-8". When the file is saved, it will be converted back from Unicode to UTF-8 and saved in this format.

The following conversions to and from Unicode/UTF-8 are available:

ASCII to Unicode | converts from ASCII to Unicode
UTF-8 to Unicode | converts from UTF-8 to Unicode (16-Bit)
Unicode to ASCII | converts from Unicode to ASCII
UTF-8 to ASCII | converts from UTF-8 to ASCII
ASCII to UTF-8 (Unicode Editing) | converts from ASCII to UTF-8 with the file internally in UNICODE format for editing
Unicode/UTF-8 to UTF-8 (Unicode) | converts the file from either Unicode or UTF-8 (non Unicode internally) to UTF-8 with the file internally in UNICODE format for editing
Unicode/ASCII/UTF-8 to UTF-8 (ASCII) | converts from Unicode, ASCII or UTF-8 (Unicode format internally) to UTF-8 but leaves the file in non-unicode (ASCII display) format for editing.


Quick Access Toolbar Customization

By default, the Quick Access Toolbar is shown in the title bar of the application. Users may customize the Quick Access Toolbar by right-clicking on it and selecting Customize Quick Access Toolbar... from the context menu. Commands are selected in the left pane and added to the toolbar by clicking on the Add button. Items may be selected in the right pane and removed by clicking on the Remove button. Icons may be rearranged by using the up/down arrows to the right of the right pane. If desired, users may restore the default state by clicking on the Reset button below the right pane. Users may force the Quick Access Toolbar to be displayed below the Ribbon by selecting Show Quick Access Toolbar below the Ribbon.


Ribbon Customization

Users may customize the ribbon to arrange tabs and commands as desired. While users may not delete any of default tabs, groups may be hidden and new tabs and groups may be defined by users. The Ribbon Customization dialog may be accessed by right-clicking on the ribbon and selecting Customize the Ribbon... from the context menu. The Add and Remove buttons may be used to move items back and forth between the two panes. Icons may be rearranged by using the up/down arrows to the right of the right pane. If desired, users may restore the default state by clicking on the Reset button below the right pane.

Users may create new Ribbon tabs by clicking on the New Tab button below the right pane. If the newly created tab is selected, users may click on the Rename button to rename it. Users may add new groups to the newly created tab by clicking on the New Group button. Commands may be added to groups by selecting them in the left pane and then clicking on the Add button. Tabs will be displayed as menu headings and groups will be displayed as separate sections within the Ribbon.


Toolbar Customization (Toolbar/Menu Mode)

In Toolbar/Menu Mode, users may right-click on the toolbar in Toolbar/Menu Mode and select Customize... from the context menu to modify it. It is not possible to create or modify primary menus but context menus for the edit window and file tabs may be modified using this interface. The commands in the right pane may be filtered by clicking on the categories in the left pane. Commands may be added to the toolbar to be modified by dragging them from the Command pane to the toolbar or context menu and dropping them. Commands may be removed by dragging them off the toolbar or context menu and dropping them in the edit window.

Users may click on the Toolbars tab and then click on the New... button to create a new custom toolbar. If this is selected, the Rename button may be clicked and this will select the toolbar name so that a new name can be assigned. Users would then switch back to the Commands tab to add commands to the newly created toolbar.

When the Customize dialog is open, right-clicking on any toolbar icon causes a popup menu to be shown with the following options:

Reset to Default | resets toolbar to default settings
Copy Button Image | copies active button image to clipboard
Delete | removes active icon from toolbar
Button Appearance... | presents Button Appearance dialog where users may customize button display
Image | shows only the image for the active icon
Text | shows only text for the active icon
Image and Text | shows image and text for the active icon
Start Group | inserts a separator in front of the active icon


Application Menu

File menu

The File menu includes the following commands:

New | creates a new document
Open | opens an existing document
Favorite files | opens favorite files, or manages the list
Save | saves an opened document using the same file name
Save all | saves all modified documents using their current file names
Save as | saves an opened document to a specified file name
Make copy/backup | makes a copy/backup of active file
Revert to saved | reverts to saved file
Help index | presents an index to help topics
Add help | adds additional help files to Help menu
Get Support | opens browser with support links and contact form for support
Online forums | opens browser to user forums at ultraedit.com
Show welcome page | opens a welcome page for new users
IDM products | presents local page in browser describing all IDM products and providing links for downloads
Print document | prints active document
Print all | prints all opened documents
Print preview | displays the document on the screen as it would appear printed
Print setup | selects a printer and printer connection
Page setup | sets up page headers and footers for printing
Close active file | closes an opened document
Close all | closes all opened documents
Close all except | closes all opened documents except the active one
Recently opened | displays list of recently opened files
Recently closed | displays list of recently closed files
Enter license key | presents registration dialog for application
About | displays the version number of this application
Settings | presents Configuration dialog with index tree to access categorized configuration options
Exit | exits UltraEdit


New command

New command (Application menu)

Use this command to create a new document in UltraEdit. You can open an existing document with the Open command .

Shortcut: CTRL+N


Open command

Open command (Application menu)

Use this command to open an existing document (file) in a new window. You can open multiple documents at once. Use the Windows dialog to switch among the open documents. See All windows command.

This command presents the File Open dialog. This allows multiple files to be selected and opened at one time.

Files may also be opened by dragging them from the File Manager into UltraEdit's window and dropping them (releasing the mouse button).

You can create new documents with the New command .

Shortcut: CTRL+O


Favorite Files command

Favorite files command (Application menu)

The Favorite Files feature allows a user to store the filenames of frequently opened files or favorite files that the user wishes to quickly reference and open in the future. When the Favorite Files menu item is selected, a dialog is displayed that allows the user to open one or more of the favorite files and modify the list of favorite files.

The dialog shows a list of files that are currently in the favorite file list. The following controls are used to manage the list:

Open

The open button opens the selected files from the list and closes the dialog. Multiple files may be selected from the list and opened at once. Any changes to the list are saved. DOUBLE CLICK of any files in the file list will perform the open command. If one of the selections is a directory, a file open dialog is shown initialized to the specified directory.

Close

The close button closes the dialog. Any changes to the list are saved.

Add File

The add file button presents a file open dialog allowing the user to browse for a file to add to the list. If a valid file is selected the file is added to the list.

Add Active File

The add active file button adds the filename of the active file in the editor to the file list.

+All Open Files

The +all open files button adds the filenames of all files in the editor to the file list.

Add Folder

The add folder button allows a user to browse for a folder and add this to the list. This allows the user to quickly open files from a favorite folder.

Remove File

The remove file button removes any selected files from the file list.


Save command

Save command (Application menu)

Use this command to save the active document to its current name and directory. When you save a document for the first time, UltraEdit displays the Save As dialog so you can name your document. If you want to change the name and directory of an existing document before you save it, choose the Save As command .

Shortcuts: CTRL+S


Save All command

Save all command (Application menu)

Use this command to save all modified documents to their current name and directory. When you save a document for the first time, UltraEdit displays the Save As dialog so you can name your document. If you want to change the name and directory of an existing document before you save it, choose the Save As command .


Save As command

Save as command (Application menu)

Use this command to save and name the active document. UltraEdit displays the Save As dialog so you can name your document.

To set a default directory for use by the Save As command use the Default Save Directory setting.

To save a document with its existing name and directory, use the Save command .

Shortcut: F12


Make Copy/Backup command

Make copy/backup command (Application menu)

This allows the user to make a backup copy of the active file (with any current changes) without affecting the active file.

The active file maintains the current file name and does not change name unlike the Save As command .


Revert to Saved command

Revert to saved command (Application menu)

Use this command to close the active document and reload it losing any changes you have made. This command is not available if the file is an unnamed file. A prompt will be displayed confirming the loss of changes.


Index command

Help index command (Application menu/Help submenu)

Use this command to display the opening screen of Help. From the opening screen you can jump to step-by-step instructions for using UltraEdit and various types of reference information.

Once you open Help you can click the Contents button whenever you want to return to the opening screen.


Add Help File command

Add help files command (Application menu/Help submenu)

This item allows Windows help files to be added to the UltraEdit help dropdown [image] for direct reference from within the editor.

Up to 20 help files may be added and will appear in the help dropdown. When this item is selected, a dialog box appears that allows the user to enter the help filename and path, or browse for a help file. Additionally, a field exists for the name of the help file that will be used to identify it in the help dropdown.

If some text is selected within an open document within the editor, the user may press F1 to see a list of user configured help files that may be searched for the selected string. Alternatively, with text selected in an open document, the user may select the appropriate help file from the help dropdown and that help file will be searched for the corresponding topic that matches the selection.

The topic will be shown if found in the help file. If not, the search dialog with closest match of topics will be shown.

The user help files may be Windows Help files (.HLP) or compiled HTML files (.CHM) files as well as URLs for websites.


Print command

Print document command (Application menu/Print submenu)

Use this command to print a document. This command presents a Print dialog , where you may specify the range of pages to be printed, the number of copies, the destination printer, and other printer setup options.

Shortcut: CTRL+P


Print All Files command

Print all command (Application menu/Print submenu)

This command prints all the open documents with the current page setup and printer settings. To change the settings use the Page Setup or Print Setup commands from the Application menu.


Print Preview command

Print preview command (Application menu/Print submenu)

Use this command to display the active document as it would appear when printed. When you choose this command, the main window will be replaced with a print preview window in which one or two pages will be displayed in their printed format. The print preview toolbar offers you options to view either one or two pages at a time; move back and forth through the document; zoom in and out of pages; and initiate a print job.


Print Setup command

Print setup command (Application menu/Print/Print setup submenu)

Use this command to select a printer and a printer connection. This command presents a Print Setup dialog , where you specify the printer and its connection.


Page Setup command

Page Setup command (Application menu/Print/Print setup submenu)

The Page Setup menu item presents a dialog allowing the user to set up page headers, footers and margins for printing. The page header, if configured, is printed at the top of every page. The page footer, if configured, is printed at the bottom of every page. If a page footer or header is configured, a single line is printed across the page between the header or footer and the text to be printed.

The header or footer may be disabled by selecting the appropriate check box. If the header or footer is enabled, the separator line that is normally printed between the header/footer and the page text may optionally be disabled.

The page header and footer may include text defined by the user, and additionally special characters to allow the file name and page numbers to be printed in the header or footer.

The special characters are:

&f | This is replaced in the header or footer with the full file name including path.
&fl | This is replaced in the header or footer with the first line of the file.
&n | This is replaced in the header or footer with the file name only (no path).
&p | This is replaced in the header or footer with the page number.
&t | This is replaced in the header or footer with the total number of pages.
&l | This aligns the text following the "&l" to the left side of the header/footer area.
&c | This aligns the text following the "&c" to the center of the header/footer area.
&r | This aligns the text following the "&r" to the right side of the header/footer area.

(Note - the alignment characters are not required, and any or all of them may appear in a single header or footer. However, if more than one is present, they must be in the order above -- "&l" must be before "&c" and "&c" must be before "&r").

Additionally, the header or footer may include the file date and time or system date and time. Two radio buttons allow the selection of either the file date, or the system date to be included in the header or footer. The radio buttons select the source of the date and time, additional special characters used in the header or footer specify if the date and time are to be printed and what format is used.

The characters used to specify the time and date format are shown below, the absence of any of these characters result in the time and date not being printed.

The formatting codes date and time are listed below:

Format | Description
%a | Abbreviated weekday name
%A | Full weekday name
%b | Abbreviated month name
%B | Full month name
%c | Date and time representation appropriate for the locale
%d | Day of the month as a decimal number (01-31)
%H | Hour in 24-hour format (00-23)
%I | Hour in 12-hour format (01-12)
%j | Day of the year as a decimal number (001-366)
%m | Month as a decimal number (01-12)
%M | Minute as a decimal number (00-59)
%p | Current locale's AM/PM indicator for a 12-hour clock
%S | Second as a decimal number (00-59)
%U | Week of the year as a decimal number, with Sunday as the first day of the week (00-51)
%w | Weekday as a decimal number (0-6; Sunday is 0)
%W | Week of the year as a decimal number, with Monday as the first day of the week (00-51)
%x | Date representation for current locale
%X | Time representation for current locale
%y | Year without the century as a decimal number (00-99)
%Y | Year with the century as a decimal number
%Z | Time zone name or abbreviation; no characters if time zone is unknown
%% | Percent sign

Examples:

Date is July, 4th 1994. Time is 9:00pm

"%X , %x" prints 21:00 , 07/04/94

Date is July, 4th 1994. Time is 9:00pm

"%c" prints 07/04/94 21:00

Date is Jan, 10th 1991. Time is 5:00am

"%A, %B %d, %Y %I:%M%p" prints Tuesday, January 10, 1991 05:00:am

Margins

The page margins may be set up in either inches or millimeters (mm). Each margin, top, bottom, left and right may be set independently. The margins are applied before the headers and footers are generated. If the printer is set up to have a minimum margin that is greater than the margin selected in UltraEdit the printer margin will be in effect.

Page break code

The page break code may be set to any ASCII character. The page break code defaults to a form-feed character, 12 (0C hex). This may be changed if required but should not be set to any printable character as a page break will be inserted on every occurrence of this character when printing occurs. It may be desirable to change this character if the font being used does not allow the page break character to be seen.

Wrap text when printing

This option when set will automatically cause the printed output to wrap the text to additional lines of any line that exceeds the width of the printable area of the page.

Print line numbers

This option when set causes the line numbers to be printed for each line on the left hand side of each page. If a line is wrapped, the line number is printed with the first line only. This setting is independent from the Display Line Number setting.

Print 2 pages on 1 sheet

This option allows two logical pages to be printed on a single sheet of paper. The logical page data is scaled to print two pages side-by-side. This scaling may mean that a little more or less data may fit side-by-side than when the pages are printed on a single sheet.

This option is particularly useful for saving paper on printouts.

Print syntax highlighting

This option instructs UltraEdit to print the file with the color used for syntax highlighting if a color printer is used. This will also show shades of gray on a Postscript monochrome printer.

Use Classic theme for printing

If this option is selected, the Classic theme will be used when printing. If this is not selected, the active theme will be used.


Close command

Close command (Application menu/Close submenu)

Use this command to close all windows containing the active document. UltraEdit suggests that you save changes to your document before you close it. If you close a document without saving you lose all changes made since the last time you saved it. Before closing an untitled document UltraEdit displays the Save As dialog box and suggests that you name and save the document.

Shortcut: CTRL+F4


Close All Files command

Close all command (Application menu/Close submenu)

Use this command to close all files currently opened for editing in UltraEdit. UltraEdit suggests that you save changes to your document before you close it. If you close a document without saving you lose all changes made since the last time you saved it. Before closing an untitled document UltraEdit displays the Save As dialog box and suggests that you name and save the document.


Close All Files Except This command

Close all except command (Application menu/Close submenu)

Use this command to close all files currently opened for editing in UltraEdit except the active file. UltraEdit suggests that you save changes to your document before you close it. If you close a document without saving you lose all changes made since the last time you saved it. Before closing an untitled document UltraEdit displays the Save As dialog box and suggests that you name and save the document.


About command

About command (Application menu and Support dropdown)

Use this command to display the copyright notice and version number of your copy of UltraEdit.


Home Tab

The Home Tab includes the following commands:

Clipboard |
Paste | pastes data from the clipboard into the document
Paste & copy | pastes the clipboard text to the selection (replacing it) and copies the selected text to the clipboard
Paste column | pastes selected text at cursor position as if in column mode without toggling column mode
Paste special | presents a submenu where users may select an option to paste either HTML Source or Raw RTF rather than the selected text only
Search |
Find | searches active file for a text string
Replace | searches active file for a text string and replaces it with another text string
Previous | searches active file for previous occurrence of text string
Next | searches active file for next occurrence of text string
Find in files | searches files on disk for a text string
Replace in files | searches files on disk for a text string and replaces with another text string
Navigate |
Goto | positions the cursor at the specified line/column number, page break (or file position in HEX mode), or bookmark
Back | goes to last position editing/repositioning occurred
Forward | goes to next position editing/repositioning occurred (after using Back command)
Last change | goes to previous line with unsaved changes
Next change | goes to next line with unsaved changes
Bookmarks |
Toggle bookmark | toggles a bookmark at the current line
Clear all bookmarks | clears all bookmarks in the active file
Edit bookmarks | presents Edit Bookmark dialog where bookmarks may be renamed or deleted
Copy all bookmarked lines | copies all bookmarked lines in active file to clipboard
Cut all bookmarked lines | cuts all bookmarked lines in active file to clipboard
Delete all bookmarked lines | removes all bookmarked lines from active file
Previous | moves the cursor to the previous bookmark
Next | moves the cursor to the next bookmark
Extras |
Open from FTP | opens an existing document from an FTP site
Save to FTP | saves an opened document to a specified file name on an FTP site
FTP Browser | presents FTP/SFTP Browser
Accounts... | shows or hides the FTP/SFTP Account Manager
Compare | opens dialog for comparison of 2 or 3 files or folders with UltraCompare
UltraFinder | invokes UltraFinder for Find files and Find duplicates operations
UltraFTP | invokes UltraFTP
Active file |
Show in default app | invokes default application to display active file
Copy path/name | copies the full path and name of the active file to the clipboard
Delete | deletes the disk file associated with the active window
Rename | renames active file
Email | sends file via mail to recipients


Paste command

Paste command (Home tab/Paste dropdown)

Use this command to insert a copy of the clipboard contents at the insertion point. This command is unavailable if the clipboard is empty.

Shortcuts: CTRL+V


Copy command

Copy command (Home tab/Copy dropdown)

Use this command to copy selected data onto the clipboard. This command is unavailable if there is no data currently selected.

If Copy & Append to clipboard is selected the data is appended to the contents of the clipboard otherwise copying data to the clipboard replaces the contents previously stored there.

Shortcuts: CTRL+C


Cut command

Cut command (Home tab/Cut dropdown)

Use this command to remove the currently selected data from the document and put it on the clipboard. This command is unavailable if there is no data currently selected.

If Cut & Append to clipboard is selected the data is appended to the contents of the clipboard otherwise cutting data to the clipboard replaces the contents previously stored there.

Shortcut: CTRL+X


Clipboards

Clipboards (Home tab)

UltraEdit provides up to nine user clipboards for use with the Cut , Copy and Paste commands as well as the standard Windows Clipboard. The active clipboard may be changed from the Home tab, or the Right Click context menu. Additionally, Ctrl+1-9 will switch to the user clipboards and Ctrl+0 will switch to the Windows clipboard.

When changing the active clipboard the contents of the clipboards are not modified. With the exception of the standard Windows Clipboard the contents of the clipboards are destroyed when UltraEdit is closed.

The active clipboard is shown in the Status Bar following the Line and Column indicator separated with a comma.

Shortcut: CTRL+0-9


Find command

Find command (Home tab)

This command displays a dialog box for searching the document for the specified text.

The string to search for is specified in the Find what field. A single or multi-line string up to 20,000 bytes may be used. The user will determine which direction the search will be executed by pressing the Next or Previous button to initialize the search. In HEX mode, the search is performed in the direction specified with the Direction radio buttons. If the string is not found, the search wraps around to the other end of the file and continues the search. If the string is not matched a message indicating that the string is not found is displayed.

In addition to searching for printable characters, tab characters and newline (Carriage Return/Line Feed) characters may be searched for. To search for a Tab character, use "^t" characters in the dialog. To search for the newline characters, use "^p" characters for CR/ LF, "^n" for LF only and "^r" for CR only in the dialog. To search for a "^" character, use "^^" in the dialog.

Additionally, the characters "^s" will be replaced with any text that is selected when a find is executed and the characters "^c" will be replaced with the contents of the clipboard (up to 30,000 characters). This is useful particularly for macros. When recording a macro, the option exists to include a find of a specified character string, or using "^s" the macro records the "^s" and when replayed will determine the text selected at the time the macro is playing back, likewise when using "^c", these characters will be replaced with the contents of the clipboard at the time the macro is playing back.

Special character summary:

Symbol | Function
^^ | searches for a "^" character
^s | searches for selected (highlighted) text when a macro is running
^c | searches for the contents of the clipboard when a macro is running
^b | matches a page break
^p | matches a newline (CR/LF) (paragraph) (DOS Files)
^r | matches a newline (CR Only) (paragraph) (MAC Files)
^n | matches a newline (LF Only) (paragraph) (UNIX Files)
^t | matches a tab character

Note - ^ refers to the character '^' NOT Control Key + value.

If the [image] button is pressed the find history is displayed.

If the [image] button is pressed the Favorites submenu with the following options is presented:

Add to Favorites | adds current item in combobox to Favorites list
Edit Favorites | presents Edit Find/Replace Favorites dialog where users can name favorite search strings, organize the list and remove items from the list
Favorites | presents submenu displaying the Favorites list. Strings may be selected from the list to populate the combobox

If the [image] button is pressed a list of regular expression options appropriate to the selected regular expression engine is displayed. This button is subdued unless the regular expressions checkbox is selected.

To select all text between the cursor position and the search target, hold down the SHIFT key at the time the search is started with the Next button.

Count all

Count All presents a dialog indicating the number of times the current search string occurs in the active file. If In is limited to Selected text, the number of items returned will be restricted to the selected text. If In column is selected, the number of items returned will be restricted to the specified columns.

In

The user may specify if the search should be executed in the Current file, Selected text or All open files in the In section and the replace will be limited to the specified area. If All open files is selected, pressing Next will automatically move focus to the first occurrence in the next open file. This functionality replaces the Find Next through all opened files option from older versions.

Advanced Options

Pressing the [image] button extends the Find dialog to display additional search options.

Match whole word

By default, the search will not be restricted to matching whole words only. This option allows the search to be restricted to whole words only. This is useful for searching for 'a', or 'A' without finding all words including 'a'. If a search has already occurred in a document, the default selection will match the previous search.

Match case

By default, the search will not be case sensitive. The option to make the search case sensitive is given. If a search has already occurred in the document, the default selection for case sensitivity is that of the previous search. This option also affects regular expressions. If this is not checked, [A-Za-z] and [A-Z] are equal to [a-z].

Regular expressions

If this option is selected the search will be executed using the regular expression type selected from the list below:

Perl

If this option is selected the editor will use Perl style regular expressions based on the Boost C++ Libraries.

UltraEdit

If this option is selected the editor will use UltraEdit style regular expressions.

Unix

If this option is selected the editor will use Unix style regular expressions.

For information regarding creation of regular expressions see Regular Expressions or Perl Regular Expressions help.

Highlight all items found

This option causes all items matching the search string to be highlighted (shown as selected text) when the Next button is pressed.

List lines containing string

This option causes UltraEdit to search for all occurrences of the string in the active document and to list them in a dockable Find String List window. Double-clicking on one of the result lines (or selecting it and clicking on Goto in the context menu) will position to that line in the file.

Right clicking in the Find String List displays a context menu with the following options:

Goto | moves focus to selected line
Copy to Clipboard | copies full content of the list to active clipboard
Bookmark All Lines | bookmarks all lines shown in list in source file
Show Line Numbers | displays line numbers from source file with matched line content
Refresh List | reloads list content

Close after find

If this option is selected, and a matching string is found when Next is pressed, the Find dialog is closed.

In column

If this option is selected the search will be restricted to the specified start and end columns. The number specified for the end column must be greater than the number specified for the start column (except when searching an entire line). To search an entire line, "0" and "-1" should be used. It is important to note that column numbering begins with "0" so the initial column value would have to be set to "0" to search from the beginning of a line.

If the editor active window is in Hex mode, an additional option exists:

ASCII

By default, in Hex mode, the search will be for hexadecimal characters. Optionally the find may be configured to search for ASCII characters.

When a find operation is complete the text is highlighted.

Initially after the find is performed, a slim dialog box is displayed enabling easy selection of find and find next. This may be disabled by changing the INI settings.

Filter lines

If the Filter lines checkbox is selected, the Show and Hide radio buttons become active and control what text is displayed in the file after the search is completed. If the Show radio button is selected, only lines matching the specified search string will be displayed in the active file. All non-matching lines will be hidden using code folding. If the Hide radio button is selected, all lines matching the specified search string will be hidden in the active file using code folding.

Shortcut: ALT+F3 or CTRL+F, F


Find Prev command

Previous command (Home tab)

This command repeats the previous Find command in the backward direction toward the beginning of the file. The next occurrence of the find text will be found (if present) in backward direction.

To select all text between the cursor position and the search target, hold down the SHIFT key at the time the search is started with the Previous command from the Home tab or the shortcut key.

Shortcut: CTRL+F3


Find Next command

Next command (Home tab)

This command repeats the previous Find command in the forward direction toward the end of the file. The next occurrence of the find text will be found (if present) in the forward direction.

To select all text between the cursor position and the search target, hold down the SHIFT key at the time the search is started with the Next command from the Home tab or the shortcut key.

Shortcut: F3


Replace command

Replace command (Home tab)

This command displays a dialog box for searching the document for the specified text and replacing it with a different text.

The string to search for is specified in the Find what field and the replace string to be used is defined in the Replace with field. Single or multi-line strings up to 20,000 bytes may be used in both fields. The search is performed in the direction specified. If the string is not found the search wraps around to the other end of the file and continues the search. If the string is not found a message is displayed.

In addition to searching and replacing printable characters, tab characters and newline (Carriage Return/Line Feed) characters may be searched for or replaced. To specify a Tab character, use "^t" characters in the dialog. To specify the newline characters, use "^p" characters for CR/LF, "^n" for LF only and "^r" for CR only in the dialog. To search for a "^" character, use "^^" in the dialog. To specify a "^" character, use "^^" in the dialog.

Additionally, the characters "^s" will be replaced with any text that is selected when a find is executed and the characters "^c" will be replaced with the contents of the clipboard (up to 30,000 characters). This is useful particularly for macros. When recording a macro, the option exists to include a find of a specified character string, or using "^s" the macro records the "^s" and when replayed will determine the text selected at the time the macro is playing back, likewise when using "^c", these characters will be replaced with the contents of the clipboard at the time the macro is playing back.

Special character summary:

Symbol | Function
^^ | searches for a "^" character
^s | searches for selected (highlighted) text when a macro is running
^c | searches for the contents of the clipboard when a macro is running
^b | matches a page break
^p | matches a newline (CR/LF) (paragraph) (DOS Files)
^r | matches a newline (CR Only) (paragraph) (MAC Files)
^n | matches a newline (LF Only) (paragraph) (UNIX Files)
^t | matches a tab character

Note - ^ refers to the character '^' NOT Control Key + value.

If the [image] button is pressed the Find what / Replace with history is displayed.

If the [image] button is pressed a submenu with the following options is presented:

Add to Favorites | adds current item in combobox to Favorites list
Edit Favorites | presents Edit Find/Replace Favorites dialog where users can name favorite search strings, organize the list and remove items from the list
Favorites | presents submenu displaying the Favorites list. Strings may be selected from the list to populate the combobox

Start

Clicking the Start button initiates a search for the string specified in the Find what field. If no matching string is found, a message box is displayed informing the user of this fact. If a string is found, a slim dialog opens with the buttons described below.

Find next

Find next finds the next occurrence of the specified text.

Replace

Clicking Replace replaces the current occurrence of the found string and finds the next occurrence of the specified text. The user may also specify Selected text under the In selection and the replace will be limited to the selected area.

In order for the In option to automatically default to Selected text when a selection exists, the following items MUST NOT be selected under Settings in the Advanced tab:

Find dialog defaults to word under cursor (Search -> Miscellaneous)

Always set 'Find/Replace Where' to 'Current File' in Find/Replace dialog (Search -> Auto Reset Settings)

If All open files is selected, pressing Replace will automatically move focus to the first occurrence in the next open file. This functionality replaces the Replace Next through all opened files option from older versions.

Replace all

Replace all finds every occurrence of the specified text and replaces each occurrence with the new text.

The replace all provides the additional options:

Replace in current file - this replaces all occurrences within the current file only. It determines if the replace should be from the top of the file, or the cursor position based on the setting in this dialog box.

Replace all within the selected text - this replaces only the occurrences of the string that fall within the area of selected text at the time the replace is started.

Replace all in all the open files - this replaces all occurrences of the string in all open files.

Last

The last command performs a single replace and closes the dialog without moving on to the next occurrence of the string.

Advanced Options

Pressing the [image] button extends the Replace dialog to display additional search options.

Match whole word

By default, the search will not be restricted to matching whole words only. This option allows the search to be restricted to whole words only. This is useful for searching for 'a', or 'A' without finding all words including 'a'. If a search has already occurred in a document, the default selection will match the previous search.

Match case

By default, the search will not be case sensitive. The option to make the search case sensitive is given. If a search has already occurred in the document, the default selection for case sensitivity is that of the previous search. This option also affects regular expressions. If this is not checked, [A-Za-z] and [A-Z] are equal to [a-z].

Regular expressions

If this option is selected the search will be executed using the regular expression type selected from the list below:

Perl

If this option is selected the editor will use Perl style regular expressions based on the Boost C++ Libraries.

UltraEdit

If this option is selected the editor will use UltraEdit style regular expressions.

Unix

If this option is selected the editor will use Unix style regular expressions.

For information regarding creation of regular expressions see Regular Expressions or Perl Regular Expressions help.

Preserve case

The option to preserve cases causes UltraEdit to match the case of the replace string with the case of the found string. The rules for this are as follows:

1) If the word found is all lowercase the replacement word will be all lowercase

2) If the word found is all UPPERCASE the replacement word will be all UPPERCASE

3) If the word found is MixedCase the replacement word will MATCH the casing of the replacement word

Example: (Find "The", replace with "Then")

"the" will be replaced with "then"

"THE" will be replaced with "THEN"

"The" will be replaced with "Then"

The mixed case example requires the replacement word specified to have the mixed case in the replacement string that is required for the result so that a word that may have multiple mixed case characters may be correctly replaced, not just capitalization as in:

Replace "NextCharacter" with "PreviousCharacter" would replace:

"nextcharacter" with "previouscharacter"

"NEXTCHARACTER" with "PREVIOUSCHARACTER"

"NextCharacter" with "PreviousCharacter"

Replace all is from top of file

If this option is selected the specified search will be executed from the top of the active file rather than the current cursor position.

Close after replace all

If this option is selected the Replace dialog will automatically be closed after a replace all is executed.

In column

If this option is selected the search will be restricted to the specified start and end columns. The number specified for the end column must be greater than the number specified for the start column (except when searching an entire line). To search an entire line, "0" and "-1" should be used. It is important to note that column numbering begins with "0" so the initial column value would have to be set to "0" to search from the beginning of a line.

If the editor active window is in Hex mode , an additional option exists:

ASCII

By default, in Hex mode , the replace will be for hexadecimal characters. Optionally the replace may be configured to search and replace ASCII characters.

When a find operation is complete the text is highlighted. In Hex mode additional characters may be highlighted if the specified search string crosses a line. In this case, all characters displayed from the first character of the search string on the first line to the last character of the search string on the last line are highlighted. If a replace is requested, only the search string will be replaced.

Undo is supported for Replace all. However if the replace is too large, Undo will not be supported and the Undo buffer will be flushed.

Shortcut: CTRL+R


Find in Files command

Find in files command (Home tab)

This command displays a dialog box for searching for a text string in files on a disk.

The string to search for is specified in the Find what field. A single or multi-line string up to 20,000 bytes may be used. The files to search are specified in the In files/types and Directory fields. The directory field specifies the directory to search and the In files/types field specifies the filename or types. The filename may contain wildcards and may also contain multiple file types separated by semicolons, i.e.:

*.cpp;*.h

The Directory field may contain multiple search paths separated by semicolons, i.e.:

C:\mydir1\; c:\mydir2\

Please note: If the Find string is left blank the editor will return a list of all filenames that match the specified criteria. This can be useful in generating a directory listing.

When the find is executed, the existing output is cleared if the output is being sent to the output window. If being sent to an edit window, a new file is created if one does not already exists with the Find Results title. If it does exist, the results are appended to the end of the existing file.

If the [image] button is pressed the find history is displayed.

If the [image] button is pressed a submenu with the following options are presented:

Add to Favorites | adds current item in combobox to Favorites list
Edit Favorites | presents Edit Find/Replace Favorites dialog where users can name favorite search strings, organize the list and remove items from the list
Favorites | presents submenu displaying the Favorites list. Strings may be selected from the list to populate the combobox

If the [image] button is pressed a list of regular expression options appropriate to the selected regular expression engine is displayed. This button is subdued unless the Regular expressions checkbox is selected.

A search may be limited to file groups as follows:

In:

Files listed - This will search the files listed in In files/types and Directory fields (default selection).

Open files - This will search all open files. The In files/types and Directory fields will be ignored.

Favorite files - This will search all files listed under Favorite Files in the Application menu. The In files/types and Directory fields will be ignored.

Project files - This will search all files within the open project. The In files/types and Directory fields will be ignored.

Solution files - This will search all files within the open solution. The In files/types and Directory fields will be ignored.

*Solution Files option only supported in UEStudio.

Please note: The options Project files and Solution files are only shown in this control if a project or solution is currently loaded. The Favorite files option is only included if favorite files have been defined.

Advanced Options

Pressing the [image] button extends the Find in Files dialog to display additional search options.

Match whole word

By default, the search will not be restricted to matching whole words only. This option allows the search to be restricted to whole words only. This is useful for searching for ' a ', or 'A' without finding all words including 'a'. If a search has already occurred in a document, the default selection will match the previous search.

Match case

By default, the search will not be case sensitive. The option to make the search case sensitive is given. This option also affects regular expressions. If this is not checked, [A-Za-z] and [A-Z] are equal to [a-z].

Results to edit window

This option instructs UltraEdit to create an edit window (new file) for the results of the find. This allows editing of the results, saving or printing the results. The default action is to capture the output in a list box window (Output Window) that allows the user to double click on the result and have the file opened automatically.

Regular expressions

If this option is selected the search will be executed using the regular expression type selected from the list below:

Perl

If this option is selected the editor will use Perl style regular expressions based on the Boost C++ Libraries.

UltraEdit

If this option is selected the editor will use UltraEdit style regular expressions.

Unix

If this option is selected the editor will use Unix style regular expressions.

For information regarding creation of regular expressions see Regular Expressions or Perl Regular Expressions help.

Match files/lines if string is not found

Files radio button

This option instructs UltraEdit to list only files that DO NOT include the specified search string.

Lines radio button

This option instructs UltraEdit to list each individual line that does not match the search parameters. Whereas the files option only lists files that do not include the specified search string, this option returns data on a line-by-line basis.

Search subdirectories

By default, only files specified in the specified directory are searched. This instructs the search to search all subdirectories of the specified directory. If the Ignore hidden subdirectories option is selected, then subdirectories which are hidden (as defined in Microsoft Explorer) will not be included in the search.

If desired, the user may exclude subdirectories by specifying them in the Subdirectories to ignore in search field. Multiple names should be separated by a semicolon. Users may also specify file names or extensions which should be ignored in the search in the File names/extensions to ignore in search field. For example: "*.cpp;index.*;" would instruct the search not to match files with a "*.cpp" extension or files that are named "index" (regardless of extension).

Open matching files

If this option is selected, any files matching the specified parameters will be opened when the search completes.

Use encoding

By default this option is disabled. When the checkbox is selected, the dropdown may be used to specify the encoding to be used when searching for the specified string.


Replace in Files command

Replace in files command (Home tab)

This command displays a dialog box for searching for a text string in files on a disk and replacing it with another text string.

The string to search for is specified in the Find what field and the replace string to be used is defined in the Replace with field. Single or multi-line strings up to 20,000 bytes may be used in both fields. The files to search are specified in the In files/types and Directory fields. The Directory field specifies the directory to search and the In files/types field specifies the filename or types. The filename may contain wildcards (an asterisk) and may also contain multiple file types separated by semicolons, i.e.:

*.cpp;*.h

The Directory field may contain multiple search paths separated by semicolons, i.e.:

C:\mydir1\; c:\mydir2\

If the [image] button is pressed the Find what / Replace with history is displayed.

If the [image] button is pressed a submenu with the following options are presented:

Add to Favorites | adds current item in combobox to Favorites list
Edit Favorites | presents Edit Find/Replace Favorites dialog where users can name favorite search strings, organize the list and remove items from the list
Favorites | presents submenu displaying the Favorites list. Strings may be selected from the list to populate the combobox

If the [image] button is pressed a list of regular expression options appropriate to the selected regular expression engine is displayed. This button is subdued unless the Regular expressions checkbox is selected.

In

Users may specify if changes should be made to Files listed, Favorite files, Project files, or Solution files. If Files listed is selected then the strings specified for In files/types and Directory will be used to determine the files to be modified by the Replace in Files operation. If Project files or Solution files is selected then the Replace in Files would affect all files included in the active project/solution. Please note: The options Project files and Solution files are only shown in this control if a project or solution is currently loaded. The Favorite files option is only included if favorite files have been defined. The Solution files option is only supported in UEStudio.

When the find/replace is executed, each file where the find string is found is modified and each occurrence of the string is replaced with the replace string. If the file is read only , the file is not modified and a message box is posted. At the end of the operation, a dialog box is displayed indicating how many times the replace occurred and how many files were modified.

Advanced Options

Pressing the [image] button extends the Replace in Files dialog to display additional search options.

Match whole word

By default, the search will not re restricted to matching whole words only. This option allows the search to be restricted to whole words only. This is useful for searching for ' a ', or 'A' without finding all words including 'a'. If a search has already occurred in a document, the default selection will match the previous search.

Match case

By default, the search will not be case sensitive. The option to make the search case sensitive is given. This option also affects regular expressions. If this is not checked, [A-Za-z] and [A-Z] are equal to [a-z].

Regular Expressions

If this option is selected the search will be executed using the regular expression type selected from the list below:

Perl

If this option is selected the editor will use Perl style regular expressions based on the Boost C++ Libraries.

UltraEdit

If this option is selected the editor will use UltraEdit style regular expressions.

Unix

If this option is selected the editor will use Unix style regular expressions.

For information regarding creation of regular expressions see Regular Expressions or Perl Regular Expressions help.

Preserve case

The option to preserve cases causes UltraEdit to match the case of the replace string with the case of the found string. The rules for this are as follows:

1) If the word found is all lowercase the replacement word will be all lowercase

2) If the word found is all UPPERCASE the replacement word will be all UPPERCASE

3) If the word found is MixedCase the replacement word will MATCH the casing of the replacement word

Example: (Find "The", replace with "Then")

"the" will be replaced with "then"

"THE" will be replaced with "THEN"

"The" will be replaced with "Then"

The mixed case example requires the replacement word specified to have the mixed case in the replacement string that is required for the result so that a word that may have multiple mixed case characters may be correctly replaced, not just capitalization.

Replace "NextCharacter" with "PreviousCharacter" would replace:

"nextcharacter" with "previouscharacter"

"NEXTCHARACTER" with "PREVIOUSCHARACTER"

"NextCharacter" with "PreviousCharacter"

Search subdirectories

By default, only files specified in the specified directory are searched. This instructs the search to search all subdirectories of the specified directory. If the Ignore hidden subdirectories option is selected, then subdirectories which are hidden (as defined in Microsoft Explorer) will not be included in the search.

If desired, the user may exclude subdirectories by specifying them in the Subdirectories to ignore in search field. Multiple names should be separated by a semicolon. Users may also specify file names or extensions which should be ignored in the search in the File names/extensions to ignore in search field. For example: "*.cpp;index.*;" would instruct the search not to match files with a "*.cpp" extension or files that are named "index" (regardless of extension).

Open matching files

If this option is selected, any files matching the specified parameters will be opened when the search completes.

List changed files

This instructs the editor to list all the files that were modified in the Output Window. If set, each file change will be listed in the Output Window followed by the number of occurrences found and changed.

Interactive Replace in Files

If the Start button is pressed rather than the Replace all button, an interactive dialog will be shown when the Replace in Files operation finds a match for the search string. If the Replace all button is pressed, the Replace in Files operation will proceed without any prompts for user interaction after the standard warning prompt is displayed.

The interactive dialog will offer the user five options:

Skip dir | makes no changes to the directory in which the current match was found, but continues Replace in Files operation and prompts on next match
Skip file | makes no changes to the file in which the current match was found, but continues Replace in Files operation and prompts on next match
Replace | replaces the strings matched in the current file and prompts on next match
Replace all | replaces all further matches in the specified target without prompting the user
Cancel | exits the Replace in Files operation

Use encoding

By default this option is disabled. When the checkbox is selected, the dropdown may be used to specify the encoding to be used when searching for the specified string.


Goto Line/Page/Bookmark command

Goto command (Home tab)

The Goto command presents a dialog that allows the user to specify the line/column number, page break, or bookmark at which the cursor should be positioned. Users may also specify relative positions if desired. For example, "+6" would cause the caret to be positioned 6 lines below its current position, and "-8" would cause the caret to be positioned 8 lines prior to its current position.

When Page Break is selected, the cursor is positioned at the line with the specified page break character.

When Line/Column is selected, the cursor is positioned at the line/column specified and the line is scrolled into view. If the line number is greater than the number of lines in the file, the cursor is positioned at the end of the file. If the column number is greater than the number of columns in the file, the cursor is positioned at the end of the specified line.

When Bookmark is selected, the cursor is positioned at the line with the specified bookmark.

When the Shift Key is pressed at the same time as performing the Goto function, the current selection (if present) or a new selection will be extended to select text up to the cursor position following the command.

In Hex mode the goto dialog allows the user to select the offset into the file at which the cursor should be positioned. If the offset is greater than the file size, the cursor is positioned at the end of the file.

Shortcut: CTRL+G


Back/Forward command

Go to last/next position command (Home tab)

UltraEdit maintains a rotating list of positions that the user last edited, changed position from, or jumped to another file from with the Find Symbol command . This allows the user to quickly jump back to a previous position or file after changing position within a file, or to another file.

The Back command repositions the cursor to the previous position/file in the list. When a user jumps back, the Forward command is enabled enabling the user to navigate forward again to the position the user just came from.

When a change is made, or a reposition occurs that updates the list of remembered positions, the new position is added to the list at the current list position. This enables the user to continue to navigate forwards/backwards as desired.

When editing within a file, only the last edit position is remembered since the last reposition, not every position for each character added or change made in sequence is remembered.


Toggle Bookmark command

Toggle bookmark command (Home tab/Bookmarks dropdown)

UltraEdit allows you to set a "bookmark" to mark a position in a file. Once a bookmark has been set at a line, you may use menu or keyboard commands to move to that line.

To set a bookmark:

1. Move the cursor to the line where you want to set a bookmark.

2. From the Bookmarks dropdown in the Home tab, choose Toggle bookmark.

Shortcut: CTRL+F2

To remove all the bookmarks, use the Clear all bookmarks command.

To move to the next bookmark after the insertion point, choose Next from the Edit tab.

Shortcut: F2

To move to the previous bookmark before the insertion point, choose Previous from the Edit tab.

Shortcut: ALT+F2

When the Shift Key is pressed at the same time as performing the Goto Bookmark function the current selection (if present) or a new selection will be extended to select text up to the cursor position following the command.


Open from FTP

Open from FTP command (Home tab/FTP dropdown)

Use this command to open a file via FTP. This command presents a custom dialog that allows selection of the site/account to browse.

The Accounts [1] button may be pressed to open the FTP Account Manager where new accounts may be specified. A new account must be configured for each site to be connected to as each site may have unique settings.

A list of configured accounts is shown in the center dropdown [2] and any of the configured accounts may be selected. Once the desired account is selected, the Connect [3] button must be pressed to initiate the connection to the server. When a connection is established, this will be replaced with a Disconnect [3] button which may be used to terminate the connection.

Pressing the Return to Initial Directory [4] button will navigate to the directory initially loaded for the active session.

Pressing the Parent Directory [5] button will navigate to the parent folder of the active directory. Pressing the Refresh [6] button refreshes (rereads) the directory information from the host server.

Double-clicking on any of the directories shown in the list will attempt to change to the specific directory. Additionally the Change Directory [7] combobox may be used to type in a directory to change to. This will automatically store a list of all paths typed into it.

The directory list displayed may be filtered to show a subset of files by specifying a filter in the Filter [8] text field. The Filter text field supports Perl regular expressions as well as standard wildcards. This filter only affects the listing downloaded from the server and displayed in the integrated FTP client. This will automatically store a list of all filters typed into it. This list may also be sorted by clicking on any of the column headings [9] for the list (Name, Size, Date, Type).

New directories may be created on the host server by right-clicking in the list and selecting Make Directory from the context menu [10]. Additionally the Hide Directories [11] checkbox will cause directories not to be shown.

To open a file, either double-click on the file or select it and click on the Open [14] button. If the full path to the file to be opened is known, this may be typed in the Open [13] text field and navigation to the file is not required. The transfer progress will be shown as the file is transferred.

While an operation is in progress a warning will be shown if an attempt to start another operation is made, or canceling the dialog is requested. While files are being transferred, or a site is being connected to, the dialog will show the current status [15]. The transfer will be executed using the specified transfer type [12] (ASCII or Binary). Binary transfers the file byte-for-byte with no modification. ASCII causes the file to be appropriately converted for line terminations between different systems. Depending on the FTP server/client, an ASCII transfer may corrupt the file as this is a 7-bit transfer. For this reason, Binary is the preferred transfer type.

By default after the file is retrieved and open the dialog will be closed if the option Close Dialog after Transfer [16] is set. This option may be cleared to have the dialog remain open.

If there are problems connecting to the server, it may be useful to select Show FTP log in output window under the FTP section in the Configuration dialog. This will display a log of the session showing all commands sent to and data received from the FTP server in the output window. This can provide helpful diagnostic information and the contents of this window may be copied using the clipboard.

The context menu in this dialog includes the following options:

Make Directory | creates a new directory on the host server. No checking of the name or syntax is performed. Any errors are reported back from the host server.
Delete | deletes a remote file or directory on the host server
Rename | renames a remote file or directory on the host server
Permissions | allows the file permissions to be set on a remote file. This will only work on servers that recognize the FTP "Site" command chmod. Typically this would only be UNIX/Linux servers.


Save As to FTP

Save to FTP command (Home tab/FTP dropdown)

Use this command to save an open document/file via FTP. This command presents a custom dialog that allows selection of the site/account to browse.

The Accounts [1] button may be pressed to open the FTP Account Manager where new accounts may be specified. A new account must be configured for each site to be connected to as each site may have unique settings.

A list of configured accounts is shown in the center dropdown [2] and any of the configured accounts may be selected. Once the desired account is selected, the Connect [3] button must be pressed to initiate the connection to the server. When a connection is established, this will be replaced with a Disconnect [3] button which may be used to terminate the connection.

Pressing the Return to Initial Directory [4] button will navigate to the directory initially loaded for the active session.

Pressing the Parent Directory [5] button will navigate to the parent folder of the active directory. Pressing the Refresh [6] button refreshes (rereads) the directory information from the host server.

Double-clicking on any of the directories shown in the list will attempt to change to the specific directory. Additionally the Change Directory [7] combobox may be used to type in a directory to change to. This will automatically store a list of all paths typed into it.

The directory list displayed may be filtered to show a subset of files by specifying a filter in the Filter [8] text field. The Filter text field supports Perl regular expressions as well as standard wildcards. This will automatically store a list of all filters typed into it. This list may also be sorted by clicking on any of the column headings [9] for the list (Name, Size, Date, Type).

New directories may be created on the host server by right-clicking in the list and selecting Make Directory from the context menu [10]. Additionally the Hide Directories [11] checkbox will cause directories not to be shown.

By default the Save [13] text field will be populated with the name of the file currently active in the editor. To save a file, navigate to the desired directory on the host server and click on the Save [14] button. If the intent is to replace a file already on the server, it should be selected in the list. Its name will populate the Save [13] text field and clicking on the Save [14] button will initiate the transfer. The transfer progress will be shown as the file is transferred.

While an operation is in progress a warning will be shown if an attempt to start another operation is made, or canceling the dialog is requested. While files are being transferred, or a site is being connected to, the dialog will show the current status [15]. The transfer will be executed using the specified transfer type [12] (ASCII or Binary). Binary transfers the file byte-for-byte with no modification. ASCII causes the file to be appropriately converted for line terminations between different systems.

By default after the file is transferred the dialog will be closed if the option Close Dialog after Transfer [16] is set. This option may be cleared to have the dialog remain open.

If there are problems connecting to the server, it may be useful to select Show FTP log in output window under the FTP section in the Configuration dialog. This will display a log of the session showing all commands sent to and data received from the FTP server in the output window. This can provide helpful diagnostic information and the contents of this window may be copied using the clipboard.

The context menu in this dialog includes the following options:

Make Directory | creates a new directory on the host server. No checking of the name or syntax is performed. Any errors are reported back from the host server.
Delete | deletes a remote file or directory on the host server
Rename | renames a remote file or directory on the host server
Permissions | allows the file permissions to be set on a remote file. This will only work on servers that recognize the FTP "Site" command chmod. Typically this would only be UNIX/Linux servers.


FTP Browse

FTP Browser (Home tab/FTP dropdown)

Use this command to open the FTP Browser. The FTP Browser consists mainly of four panes. The top left pane displays the directory tree for the local machine. The top right pane displays the directory tree on the remote system (FTP server). The panes directly below these (to the left and right) display the contents of the active/selected folder in each respective directory tree. The bottom pane displays the progress for active transfers.

The following controls are included in the browser:

Account/connectivity controls
Account button | presents the FTP Account Manager dialog
Account dropdown | allows user to select an FTP account
Connect button | initiates connection to selected account's server
Disconnect button | terminates the active connection to the selected account's server
Local explorer pane controls
Parent folder button | changes active directory to current directory's parent folder
Refresh button | refreshes file listing in top and bottom panes
Local folder path field | reflects current directory. User may type an existing path and press ENTER to change directories, or use dropdown to select a file path from the typed path history
Browse button | opens standard Windows open dialog so user may select new directory
Local filter | allows user to specify local folder/file filter for the bottom pane of the local file view using a standard DOS filter. The dropdown provides access to the typed filter history
Remote explorer pane controls
Home folder button | changes to the default initial directory or the FTP user's home directory on the server
Parent folder button | changes active directory to current directory's parent folder
Refresh button | refreshes file listing in top and bottom panes
Remote folder path field | reflects current directory. User may type an existing path and press ENTER to change directories, or use dropdown to select a file path from the typed path history
Options button | allows user to configure transfer ASCII or Binary type and to choose whether or not to hide directories in the bottom pane of the remote explorer
Remote filter | allows user to specify remote folder/file filter for the bottom pane of the remote file view using the LIST command or a local Perl filter as defined in the account settings. The dropdown provides access to the typed filter history

Multiple files may be selected using CTRL+mouse click or CTRL+SHIFT+mouse click and moved between the local and remote systems via drag and drop. With a directory (or multiple directories) selected, the user may drag and drop them onto a folder in the top or bottom pane of the remote explorer to upload them to the desired folder. Users may also drag and drop selected items onto a file or to empty space in the file listing in the bottom pane of the remote explorer to upload to the active remote directory.

The following context menu options are also supported in the local explorer panes:

Top pane (local explorer)
Upload | sends the entire selected directories and all contents to the active directory of the remote server, provided a connection exists
Make Directory | creates a new folder in the selected directory
Delete | deletes all selected directories
Rename | renames selected directory
Properties | shows Windows properties dialog for selected directory
Show Hidden Files/Folders | toggles whether hidden files/folders are shown in the top and bottom panes
Bottom pane (local explorer)
Upload | sends the entire selected directories/files to the active directory of the remote server, provided a connection exists
Open in UltraEdit | opens all selected files in UltraEdit
Open With Default | opens all selected files in default applications
Make Directory | creates a new folder in the active directory
Create New File | creates a new file in the active directory
Refresh | refreshes the active directory listing in the bottom pane
Delete | deletes all selected items
Rename | renames selected item
Properties | shows Windows properties dialog for selected directory or file
Show Hidden Files/Folders | toggles whether hidden files/folders are shown in the top and bottom panes

The following context menu options are also supported in the remote explorer panes:

Top pane (remote explorer)
Download | sends the entire selected directories and all contents on the remote server to the active local directory
Make Directory | creates a new folder on the server in the selected directory
Delete | deletes all selected directories
Rename | renames selected directory
Permissions | shows permissions dialog where user can adjust standard Unix file system permissions
Bottom pane (remote explorer)
Download | sends the entire selected directories and all contents on the remote server to the active local directory
Open in UltraEdit | downloads and opens all selected files in UltraEdit
Make Directory | creates a new folder in the active remote directory
Create New File | creates a new file in the active directory
Refresh | refreshes the active directory listing in the bottom pane
Delete | deletes all selected items
Rename | renames selected item
Permissions | shows permissions dialog where user can adjust standard Unix file system permissions


Accounts command

Accounts command (Home tab/FTP dropdown)

This dialog allows user FTP accounts to be configured. The accounts are used for FTP Open, FTP Save As and FTP Browse commands.

An account specifies the server to be connected to and the user identification that will be used to connect to the server.

The Add Account button allows you to specify a new account name. The account to modify may be selected from the list of accounts. If any changes have been made to the account a prompt will be shown asking if the changes should be kept.

The Remove Account button immediately removes the active/selected account from the accounts list.

The Set Default Account button sets the active/selected account as the default account specified by an asterisk "*" following the account name in the list.

The FTP Account Manager has options organized under five different tabs: General, Server, Advanced, Proxy, and SSH/SSL.

The General tab includes the following configuration options:

Account

This is the name to be used for the configured account. This name will appear in the list to the left of the configuration options when changes are saved.

Protocol

This dropdown allows users to select one of the following transfer protocols for the account being specified:

FTP | Creates a non-secure FTP connection.
SFTP | Creates a secure FTP (SFTP) connection with the SSH2 protocol.
FTPS - Control Only | Creates a secure FTP (FTPS) connection with an SSL layer below the standard FTP protocol. This method encrypts the control channel ONLY.
FTPS - Control + Data | Creates a secure FTP (FTPS) connection with an SSL layer below the standard FTP protocol. This method encrypts both the control and the data channels.
FTPS - Implicit | Creates a secure FTP (FTPS) connection with an SSL layer below the standard FTP protocol. This is an older FTPS method and is not generally preferred, but is still supported on some servers.

All SFTP/FTPS transfers are encrypted and the encryption algorithm is negotiated with the server. If any of these are set the transfer dialogs will show a "lock" symbol indicating the transfer is secure.

Server

This is the ftp site that you wish to connect to such as ftp://ftp.idmcomp.com. This may also be entered as ftp.idmcomp.com. If preferred the IP Address in the form xxxx.xxxx.xxxx.xxxx may be entered.

Port

This is the port used by UltraEdit/UEStudio for the FTP/SFTP protocol. The default is 21 for FTP and 22 for SFTP. This may be changed if required.

Username

This is the username used to log into the server.

Password

This is the password used with the username to log into the server. This should be the password for the username as provided by the site administration, or for anonymous log in this is typically the email address of the user.

Save Password

This checkbox determines if UltraEdit/UEStudio will save the password for later reference. If not, the user will be prompted for the password as required. Note: if the password is saved it is stored on the system. It is encrypted however, the encryption mechanism is unsophisticated and should not be relied upon as a method of security.

No Password

If an account does not have a password on the server and should be sent a blank or null password, the No Password option must be enabled.

User Account

This allows the user to specify an account on the host server when logging. This is only required with some servers.

Connection Limit

This setting limits the number of concurrent connections that the FTP client will make with the server. For example, if a user selects 10 files to open or save via FTP, but has the connection limit set to 4, the selected files would be transferred in blocks of 4 or less until all selected files are transferred.

Initial Directory

This is the initial directory to connect to on the FTP server. This is not required. If this is NOT specified, UltraEdit will remember the last directory for the account each time the user connects to the server.

Initial Local Directory

This is the initial local directory used when connecting to the FTP server. This is only used with the FTP Browse option. This is not required. If this is NOT specified, UltraEdit will default to the user's document folder (e.g. My Documents on Windows XP and Documents on Windows Vista).

The Server tab includes the following configuration options:

Server Type

For most FTP servers the default Auto or Unix should work without problem. However this provides for connection to servers that need special handling. The list of servers supported is expected to grow. Currently supported are:

Auto

AIX

AS400

BS2000

File Name Only - this takes the first field returned and displays it as the filename

HP3000 MPE

HP3000/VeSoft Security

MVS

OpenVMS

OS9000

Stratus VOS - The "Full Path Leading Character" should be set to "%" and the "Path/Node Separator Character" should be set to ">".

Tandem Guardian

Tandem OSS

UNIX

VShell

Session Name

This field may be used to define the Session Name for the active account. This is only used for HP3000 accounts.

Send After Login

Any value entered in this field will be passed to the FTP server immediately following connection to the server.

LIST Command Filter

The LIST Command Filter determines what is retrieved from the server when a LIST command is issued. On most FTP servers if you pass "-al" you will receive a full listing including hidden files. You can also pass wildcards. For example "*.txt" would list all txt files. Note that some servers (VMS, MVS, etc) do not handle filter arguments like Unix/Linux servers.

Full Path Leading Character

This allows the user to override the leading character (normally "/") for the full path of a file on the server.

Path/Node Separator Character

This allows the user to override the character (normally "/") used between directories/nodes on the server.

Name Index

This field is used to specify the column number where the name of the file is stored. The default for this value is "-1" and this should not be changed unless you're sure of the value that should be used.

Size Index

This field is used to specify the column number where the size of the file is stored. The default for this value is "-1" and this should not be changed unless you're sure of the value that should be used.

Use MDTM and SIZE

If the modified time and size of files does not appear to be returned correctly this option may be selected to force these values to be explicitly requested for every file returned in the directory listing. Selecting this will likely slow down FTP processes.

Passive Transfers

Because FTP is a port-hopping protocol (i.e. data channels use a random port chosen during the communication), many firewalls have the ability to understand the FTP protocol and allow the secondary data connections. However if the control connection is encrypted using any method the firewall is not able to get the port numbers of the data connections from the control connection (since it is encrypted and the firewall cannot decrypt it). Therefore in many firewalled networks clear FTP connections will work while SFTP/FTPS connections will either completely fail or require the use of passive mode.

Do not use IP address returned by server

This value may only be used when the Passive Transfer option is selected. This option is not selected by default and this forces the account to use the IP Address specified by the firewall when connecting to the server. Please note: If you do not control the server you're connecting to or are not sure of its content, there is a security risk involved in selecting this option.

Enable Keep Alive

If this option is selected, a signal is periodically sent to the server. This can help prevent a disconnect due to inactivity.

The Advanced tab includes the following configuration options:

Local Copy Directory

This allows the user to specify where a local copy of the file should be saved automatically when a file is saved. If this is blank no local copy is made. If this is not empty, when an FTP Save occurs (not Save As) a copy of the file is saved in the specified directory. If another file exists with the same name it will be overwritten without warning. The local copy is made prior to the FTP Save.

Cache password for session if not saved

If this is checked the password for the account once entered is cached for the period UltraEdit is running and will not need to be re-entered. If the password is entered incorrectly and needs to be changed entering the Accounts dialog and leaving it will clear out the cache.

Default Transfer Type

Users may specify ASCII or Binary as the default transfer type. ASCII causes the file to be appropriately converted for line terminations between different systems. Binary causes files to be transferred byte-for-byte with no conversion. Depending on the FTP server/client, an ASCII transfer may corrupt the file as this is a 7-bit transfer. For this reason, Binary is the preferred transfer type.

Display Filter

Two options exist for filtering the directory listing returned after connecting to the FTP server:

Remote - Use LIST command

If this option is selected, filtering of the directory listing returned from the FTP server will be executed on the FTP server using the LIST command. Results may be filtered using standard wildcards. For example "*.txt" would list all txt files. Note that some servers (VMS, MVS, etc) do not handle filter arguments like Unix/Linux servers.

Local - Perl regular expressions

If this option is selected, filtering of the directory listing returned from the FTP server will be executed on the local system and is only a parsing of the data returned from the FTP server as reflected in the FTP log. This option will use Perl regular expressions to determine how the filter expression should be parsed and what data should be returned.

The Proxy tab includes the following configuration options:

Use Proxy

This enables the proxy settings and configures this account to connect through the specified proxy. If connecting directly to the Internet the proxy settings should not be enabled. If connecting via a proxy on a LAN it will be necessary to set up the proxy settings.

Proxy Server

This is the name of the server (or IP address) that is used for the proxy. If you do not know this name check with your system administrator.

Proxy Port

This is the port used by UltraEdit/UEStudio for the FTP/SFTP protocol. The default is 21 for FTP and 22 for SFTP. This may be changed if required.

Proxy User

This is the username to be used to log into the proxy. If you do not know this name check with your system administrator.

Proxy Password

This is the password to be used to log into the proxy. If you do not know this name check with your system administrator.

Proxy Type

This dropdown is used to specify the type of proxy being used for the current FTP account. The following proxy types are currently supported:

SOCKS4

SOCKS4A

SOCKS5

WEB Proxy

Relay

Windows (Internet Explorer)

FTP User

FTP Site

FTP Open

Please note that not all proxies are available for each protocol.

The SSH/SSL tab includes the following configuration options:

Authentication

This allows the user to specify the type of authentication to be used with the server. The following methods are supported:

Password Only | This requires the username/password to be provided and no public/private key pair or SSL certificate is used.
Public Key/SSL Certificate Only | This requires the use of the public/private key pair or SSL certificate to be used. The private key/SSL certificate location must be specified in the Private Key/SSL Certificate Path.
Password & Public Key/SSL Certificate | This allows the user to specify the public/private key or SSL certificate and/or the username/password.
Key requires Password | If this option is selected the username field under the General tab must be filled in.

If the method used requires a key, the Key requires Password option allows the user to indicate that the private key is password protected. If this is the case, the user will be prompted for the password once per session, or after changing the account settings.

The authentication method must be supported by the server. For SFTP, the private key used should be in PPK format. For FTPS, a certificate encapsulated in the PEM or PFX format should be used. PFX files with multiple certificates are not currently supported.

Enable Compression

If this option is selected, data is compressed when transferred to/from the server. Depending on server configuration this may enhance transfer speed.


Compare command

Compare command (Home tab)

UltraEdit and UEStudio both come with UltraCompare Lite at no additional cost.

Please click here to learn more about the differences between UltraCompare Lite and UltraCompare Pro.

Please register UltraCompare Professional now to get full file, folder, and merge capabilities.

The Compare command presents a dialog allowing the user to specify files/folders to be compared. A separate window is shown displaying the compared files with different lines highlighted and marked to indicate the differences in the files/folders.

The file compare dialog allows the user to select the following options:

Compare Mode [1]

This option specifies if the items being compared are Files or Folders.

2/3 Way Compare [2]

This option is used to specify whether two or three files/folders will be compared.

File/Folder Compare [3]

The dropdowns/browse buttons in this section may be used to specify the files/folders to be compared. The items displayed and the associated title will be updated based on the selection in the 2/3 Way Compare section above.

File Compare Options [4]

Compare temporary file to original

If this option is selected only the first file specified will be read and a copy of the modified state of the file will be compared against the disk copy.

Compare selected text

If this option is selected only the sections selected in the files specified for comparison will be compared.

File Compare Type [5]

These options control whether the file comparison should be a Text compare, Binary compare, or Smart Binary compare. A Text comparison is a line-by-line comparison of the characters displayed in the text file. A Binary comparison is a byte-by-byte binary comparison of the content of the compared files. A Smart Binary comparison will show where there are matching blocks of code even if they are offset by inserted/deleted data and don't match in a byte-by-byte comparison

File Compare Options [6]

These options allow the user to define "ignore" options for text compare or a recursive compare for folder compare.

Editor Tiling [7]

These options control how or if the compared files will be tiled in UltraEdit when they're presented for comparison in UltraCompare.


Delete Active File command

Delete command (Home tab)

Use this command to close the active document and delete its associated file from the disk. This command prompts the user to ensure the file should really be deleted. If the file is deleted from the disk, it is no longer available. USE THIS COMMAND WITH CARE.


Rename File command

Rename command (Home tab)

This command allows the user to rename the active file. It presents a dialog allowing the user to specify the new name. Only the name should be entered, the path will be the same as the existing path.

If the file cannot be renamed, or the new name is invalid, an error message will be shown.


Send Mail command

Email command (Home tab)

Use this command to send the active file as a MAIL attachment. The file and all changes are sent. This feature is only supported on systems that have MS-MAIL installed or another mail program that installs itself with MAPI support.


Edit Tab

The Edit Tab includes the following commands:

Select and delete |
Select all | selects all text in the active document
Select line | selects the line with the cursor
Select word | selects the word with the cursor
Select next occurrence | selects next word matching the word under the cursor or currently selected. Invoked with CTRL+;
Select range | selects a user-specified range
Persistent selection | allows selection of text without use of SHIFT key
Save selection | saves selection to a new file
Delete | deletes the selected text or character at cursor
Delete line | deletes the line with the cursor
Delete to start of line | deletes from the cursor position to the start of line
Delete to end of line | deletes from the cursor position to the end of line
Delete all hidden lines | deletes all lines in the active document currently hidden by code folding operations
Delete all empty lines | deletes all lines in the active document that have nothing on them (including whitespace)
Delete all empty / whitespace-only lines | deletes all lines in the active document that have nothing on them and lines that only have whitespace characters on them
Review |
Word wrap | toggles the Word Wrap state of the active document
Spell check | invokes the spelling checker and checks the complete file or selected text
Read only | toggles the READ ONLY state of the active document
Word count | counts the number of words in the active file
Character info | displays properties of active byte
Active line |
Move up | moves active line up one line
Move down | moves active line down one line
Duplicate | duplicates active line below cursor position
Join | joins two or more contiguous lines
Column / block |
Column mode | toggles column/block mode editing
Insert/fill columns | specifies the text to insert into each column
Cut columns | specifies how many/which columns to cut to the clipboard
Delete columns | specifies how many/which columns to delete
Left justify | left justifies column
Center justify | center justifies column
Right justify | right justifies column
Insert number | specifies number range to insert into each row
Sum selection | sums the total of all the numbers that appear in the selected area (columns or lines)
Convert to fixed width | converts character delimited file to fixed columns
Convert fixed width to CSV | converts fixed columns to character delimited format
Insert |
Line | inserts blank line below cursor position
Page break | inserts a page break at the cursor position
Literal character | inserts a literal character or control code (such as Control C) into the active file
String at every increment | inserts a string at the specified increment in the active file
Modify templates | presents dialog for displaying/modifying user-definable templates
Individual templates | presents submenu for selecting named templates to be inserted into the active file
Date/time | inserts the date/time in the active file
Color | inserts a color value into the active file
File | inserts a file into the active file
Sort |
Sort (using current settings) | sorts active file based on current sort options
Advanced sort/options | presents advanced sorting and sort options dialog
Hex mode |
Hex edit | toggles the state of the editing mode for the current window between HEX and ASCII
Hex edit (EBCDIC) | toggles the state of the editing mode for the current window between HEX/EBCDIC and ASCII
Insert/delete | presents a dialog allowing insertion or deletion of bytes in a file while in HEX editing mode
Copy selected | copies the HEX view of data to the clipboard


Select All command

Select all command (Edit tab/Select dropdown)

The Select All command highlights the complete file. This allows an easy mechanism to select the complete file and Cut it to the clipboard.

Use the Select Line command to select a single line.

Shortcuts: CTRL+A


Select Line command

Select line command (Edit tab/Select dropdown)

The select line command highlights the line in which the cursor is positioned. The end of line characters are also highlighted. This allows an easy mechanism to select a line and Cut it to the clipboard.

Use the Select All command to select the complete file.

A line may also be selected by triple-clicking the mouse. This will cause the complete line to be selected including the hard return at the end of line.


Select Range command

Select range command (Edit tab/Select dropdown)

This presents a dialog allowing the user to specify a range within the file that should be selected/highlighted.

The user is able to specify the line and column for the start and end of the selection. When the dialog is first displayed the entry fields default to the current selection.

If not in Column Mode , UltraEdit will switch automatically to Column Mode if the start and end columns are specified with different values.


Persistent Selection command

Persistent selection command (Edit tab/Select dropdown)

This option allows selection to remain active and supports navigating in other parts of the file without affecting the active selection. Once this mode is active, the user defines the selected text (through keyboard commands or cursor movement) and then the menu option should be selected again or the keyboard shortcut should be invoked to terminate the definition of the selection.

It is not necessary to hold the SHIFT key while defining this selection. The anchor point for the active selection may be changed by holding down the CTRL key and left-clicking with the mouse at the desired file position.

Once the Persistent Selection has been defined, if the user moves the cursor to another position and types, the selection will be dismissed and text inserted at the current cursor position. If the selection is defined and the cursor is not moved, any key entered would replace the selected text (or in the case of BACKSPACE or DELETE would remove the selected text).

If desired, the user may extend the defined selection by selecting the menu option and clicking outside the current selection and then select the menu option again to terminate definition of the selection.

Shortcuts: CTRL+P, CTRL+S


Save Selection As command

Save selection command (Edit tab)

Use this command to save the current selection to a new file. UltraEdit displays the Save As dialog so you can name your document.


Delete Line command

Delete line command (Edit tab/Delete dropdown)

The delete line command deletes the line in which the cursor is positioned. The end of line characters are also deleted.

Use the Select Line command to select the line.

Shortcut: CTRL+E


Delete to Start of Line command

Delete to start of line command (Edit tab/Delete dropdown)

The delete to start of line command deletes all contents of the current line from the position of the cursor to the beginning of the line containing the cursor.

Shortcut: CTRL+F11


Delete to End of Line command

Delete to end of line command (Edit tab/Delete dropdown)

The delete to end of line command deletes all contents of the current line from the position of the cursor to the end of the line containing the cursor.

Shortcut: CTRL+F12


Spell Check command

Spell check command (Edit tab)

UltraEdit incorporates the Aspell spelling checker. The spelling checker is invoked from the Edit tab and will check only selected text (if there is a selection) or the complete file if no text is selected.

If a word is not found in the selected dictionary the Check Spelling dialog is displayed with various options that allow the word to be changed, ignored, or added to a user dictionary.

The spelling checker supports different languages. These languages are selected from the Spell Checker topic under Configuration.

Shortcut: CTRL+K


Read Only command

Read only command (Edit tab)

The Read Only command toggles the state of the read only status of the file. If the read only status is set the file cannot be modified. If the file has already been modified the modifications are maintained and the file may be saved.

The default behavior of the read only status may be configured in the Miscellaneous topic in the File Handling branch under Settings in the Advanced tab. This determines if the file is read only when it is opened.


Word Count command

Word count command (Edit tab)

The word count feature analyzes the document and selection and determines the number of Words, Lines and Characters (with and without spaces) and displays the result. If a portion of the file is selected, the results are shown for that portion of the file and the complete file.

The number of lines determined are real lines terminated with the line terminator. If a line is wrapped in the display, this is not counted as multiple lines.


Character Properties

Character info command (Edit tab)

This command causes a dialog to be displayed showing the decimal value and hexadecimal value of the active byte as well as how this will be displayed (this may vary based on font and script). Along with this the offset of the active byte is displayed in both decimal and hexadecimal formats.


Duplicate Line

Duplicate command (Edit tab)

The Duplicate command inserts a copy of the active line below the current cursor position. The cursor may be positioned anywhere on the active line when this feature is invoked. This command may be invoked from the Edit tab or the user may define a keyboard shortcut under Key Mapping in Configuration.

Shortcut: Alt+Shift+D


Join command

Join command (Edit tab)

The Join command will join two or more contiguous lines. It functions differently depending on whether or not text is selected. With one or less lines selected (no line ends in selection) the Join command will join the active line to the one immediately following it. With two or more lines selected (one or more line ends in selection) the Join command will join all selected lines and the active line.

All trailing spaces from a line being joined with a line below it will be removed. All leading spaces from a line being joined with a line above it will be removed. A single space will be inserted between 2 joined lines.

Example (· represents space, » represents tab)

» ·····line·1

» ·······line·2····

After join lines:

» ·····line·1·line 2····

The cursor will be positioned at the end of the joined lines after lines are combined. This command may be invoked from the Edit tab or the user may define a keyboard shortcut under Key Mapping in Configuration.


Column Mode command

Column mode command (Edit tab)

This command changes the operation of the editor for selecting text. When column mode is selected highlighted text is based on the character column position of the first character selected to the column of the last character of text selected. Text selected in this mode does not automatically include all text between the start and end position, but includes all text in the columns between the first and last character selected.

Column mode editing is sometimes referred to as block mode editing as the act of selecting text forms a rectangle.

Cut , Copy and Paste work with the selected text.

Column mode editing requires that Word Wrap be turned off and a fixed pitch font be selected.

When column mode is enabled, additional column features are enabled; Insert/Fill Columns , Delete Columns , Cut Columns and Insert Number .

Shortcut: ALT+C


Insert/Fill Columns command

Insert columns command (Edit tab)

This command presents a dialog that allows a text string to be entered. This text will be inserted into every line that is selected, or if no selection is made it will be inserted into every row starting at the current cursor position and proceeding to the last row of the file. The text string will be inserted into every row at the column position indicated by the cursor when this command is invoked. If text does not exist at this column in any row, spaces ' ' will be added to pad the row allowing the text to be inserted correctly.

If at the invocation of this command, text is highlighted, the columns indicated by the highlighted text will be replaced with the specified text.


Cut Columns command

Cut columns command (Edit tab)

This command presents a dialog that allows the number of columns to be deleted to be specified. The columns will be deleted from every line that is selected, or if no selection is made they will be deleted from the file from every row starting at the current cursor position and proceeding to the last row of the file. If a value of zero '0' is entered, columns will be deleted based on the highlighted text when this command is invoked. This command does save the deleted text in the clipboard.


Delete Columns command

Delete columns command (Edit tab)

This command presents a dialog that allows the number of columns to be deleted to be specified. The columns will be deleted from every line that is selected, or if no selection is made they will be deleted from the file from every row starting at the current cursor position and proceeding to the last row of the file. If a value of zero '0' is entered, columns will be deleted based on the highlighted text when this command is invoked. This command does not save the deleted text in the clipboard.


Left Justify command

Column left justify command (Edit tab)

This command left justifies the text inside the selected columns. Any tabs within the selected range will be converted to the appropriate number of spaces to give the same alignment before the justification takes place. This is necessary as the tab expansion and alignment of text would potentially change after justify the text.

This function only works when in Column Mode .


Center Justify command

Column center justify command (Edit tab)

This command center justifies the text inside the selected columns. Any tabs within the selected range will be converted to the appropriate number of spaces to give the same alignment before the justification takes place. This is necessary as the tab expansion and alignment of text would potentially change after justify the text.

This function only works when in Column Mode .


Right Justify command

Column right justify command (Edit tab)

This command right justifies the text inside the selected columns. Any tabs within the selected range will be converted to the appropriate number of spaces to give the same alignment before the justification takes place. This is necessary as the tab expansion and alignment of text would potentially change after justify the text.

This function only works when in Column Mode .


Insert Number command

Insert number command (Edit tab)

This command allows a sequential number to be inserted into every line selected, or if no lines are selected, into every line from the current line to the last line of the file at the column position indicated by the cursor. This command presents a dialog that allows the initial value to be entered and the increment for each line. This provides an easy method to add line numbers into a text file.

If any text is highlighted at the invocation of this command, the highlighted text will be replaced by the inserted line numbers. The spacing required for the line numbers is calculated automatically based on the number of lines that will have a number inserted, the initial value and the increment. All numbers may be positive or negative non decimal point numbers (32-bit signed = negative number in hexadecimal notation has 8 digits).

If the option to add Leading Zeros is selected the appropriate leading zeros will be added to each number to pad the field to the same width (in characters) as the maximum number to be inserted. If this option is not selected, trailing spaces will be used.

The user may select Decimal or Hexadecimal to specify the format of the inserted numbers. If "62" is entered in the First Number field, and Hexadecimal is selected as the output format, then 3E (which is the number 62 in HEX) will be the first number of the sequential numbers inserted.


Sum Columns/Selection command

Sum selection command (Edit tab)

This command sums the total of all the numbers that appear in the selected area (columns or lines) and presents the total in a dialog box.

As some number formats have a comma, or other character that is part of the number or a separator (i.e. one thousand may be represented as 1,000) this may be configured. The dialog allows the user to specify any character that should be ignored in a number and by default is initialized to a comma (,).

The SUM button recalculates the total. It allows the separator to be modified and the total recalculated.

The TOTAL is shown in an editable entry box allowing the total to be formatted and copied to the clipboard and pasted into the document if required.


Convert to Fixed Column command

Convert to fixed-width command (Edit tab/CSV Convert dropdown)

This function allows the user to convert a file from character delimited fields to fixed columns. This is particularly useful where column manipulation is required, but difficult with the different field widths for each row. This complements the Convert fixed-width to CSV feature.

This function presents the user with a dialog box with the following controls:

Scan

This causes the editor to scan the file (or first line) and determine the maximum field widths for each field. This will determine the maximum width required for each field and place the results (comma separated) in the Field widths entry box.

Scan first line only

This instructs the editor to search just the first line for the field widths.

Ignore separator in quotes (')

If this option is selected, separator characters which are enclosed in single quotes will not be taken into account when scanning to determine column spacing for alignment.

Ignore separator in double quotes (")

If this option is selected, separator characters which are enclosed in double quotes will not be taken into account when scanning to determine column spacing for alignment.

Keep delimiter with fixed columns

This indicates that when converting to fixed width columns the delimiter character for the fields should not be removed. If this is not checked, the conversion will remove the delimiter between fields.

Separator character

This specifies the delimiter character between fields. If this is a TAB character "^t" should be entered. In all other cases, a single character should be entered. The editor uses this character to determine the field boundaries.

Field widths

This is a list of comma separated field widths used for the conversion. If there are more fields than entries, the last entry will be used as the field width for the remaining fields. This allows the user to set a single entry if all fields are required to be the same width.

Please note: This field must not be left empty when the conversion to fixed columns is executed. It may be populated automatically by pressing the Scan button after specifying the conversion options, or the user may manually specify field widths if desired.

Convert

This performs the conversion from character delimited text to fixed column according to the settings above. The complete file will be converted.


Conv. to Character Delimited command

Convert fixed-width to CSV command (Edit tab/CSV Convert dropdown)

This function allows the user to convert a file from fixed field widths to character delimited fields. This complements the Convert to fixed-width feature.

This function presents the user with a dialog box with the following controls:

Separator Character

This specifies the delimiter character between fields. If this is a TAB character "^ t" should be entered. In all other cases, a single character should be entered. The editor uses this character to separate the fields when converting from fixed widths to character delimited.

Field Widths

This is a list of comma separated field widths used for the conversion. If there are more fields than entries, the last entry will be used as the field width for the remaining fields. This allows the user to set a single entry if all fields are required to be the same width.

Convert

This performs the conversion from fixed column to character delimited text according to the settings above. The complete file will be converted.


Insert Line

Line command (Edit tab/Insert item dropdown)

The Line command inserts a new blank line below the current cursor position. The cursor may be positioned anywhere on the active line when this feature is invoked. This command may be invoked from the Insert item dropdown in the Edit tab or the user may define a keyboard shortcut under Key Mapping in Configuration.

Shortcut: Ctrl+Enter


Page Break command

Page break command (Edit tab/Insert item dropdown)

The Page Break command inserts a page break character at the current cursor position. The page break character can be configured in the Page Setup dialog .

When the document is printed, the page break character is replaced with a page break. Printing continues on the next page following a page break character.


Insert Literal Character

Literal character command (Edit tab/Insert item dropdown)

This command allows a literal character (such as Control C) to be inserted into the file. Pressing Ctrl+I tells UltraEdit that the next character is to be inserted directly into the file without any translation.

This is useful for inserting control codes that may be needed by printers or other devices.

Example:

Ctrl+I followed by Ctrl+C inserts a Control C character into the file

Ctrl+I followed by ESC inserts an escape character into the file

Shortcut: Ctrl+I


Insert String at Every Increment

String at every increment command (Edit tab/Insert item dropdown)

When handling large database type files it is sometimes necessary to split the file into "records" or known line lengths as the file has been output without any delimiters/separators between records.

This feature allows a user-specified string to be inserted at a constant user-specified increment in the file from some start point in the file to some end point in the file.

Start Point:

The start point for this operation may be the beginning of the file or the position of the cursor. This is helpful if the file has a header in it that should not be treated as part of the data. The default behavior is that the beginning of the file is the start point.

End Point:

The end point may be specified as one of the following:

The end of the file (default behavior)

A known offset into the file

After the specified number of records have converted

When a particular string is found, in this case the insertion stops at or before the beginning of the string if found, if not found the option to continue or not is given.

Example:

A database file has records of known length of 2000 characters. Each record has been output consecutively with no separation between the records.

For editing purposes you want to put each record onto a single line.

With this feature you can specify the string to insert is "^p" (insert a newline - paragraph) and that the increment at which to insert the string is every 2000 characters.

UltraEdit will add the new line at the end of each record until the end of file is encountered.


Insert Template command

Template command (Edit tab/Insert template dropdown)

Use this command to insert a template. It presents a dialog allowing you to select the template you wish to insert from the list of templates.

Optionally, the hot keys Alt+0 through Alt+9 and Shift+Alt+0 through Shift+Alt+9 may be used instead of this command.


Display/Modify Templates command

Modify templates command (Edit tab/Insert template dropdown)

Use this command to display the Modify Templates dialog. A template is predefined text that may be recalled automatically at a later time and inserted into a file. The Template Group dropdown may be used to select which templates are listed in the Templates pane.

Templates are organized in four groups: Global, Layouts, Languages, and Projects. Global templates are always available; Layout templates are only available when the layout they're associated with is loaded; Language templates are associated with languages specified for syntax highlighting and are only available when editing files with extensions that match that language; and Project templates are only available when the project they're associated with is loaded.

An unlimited number of templates may be defined. Each of the first 20 global templates may be recalled at a later time using hot keys Alt+0 through Alt+9, and Shift+Alt+0 through Shift+Alt+9, or any of the templates may be recalled with the Insert Template dialog or by user-defined hot keys.

Each template may optionally have a name associated with it, that if defined will show up on the tooltips on the toolbar and in the list of templates when inserting a template.

Global templates are stored in the UETMPLTE.TPL file in the default directory or the directory specified under the Directories branch under Settings in the Advanced tab if using the default layout. The built-in layouts and the customized user layouts save the Layout templates in a layout-related file in the environment directory. Language templates are stored in the default wordfiles directory as they are associated with the languages specified in the wordfiles. Project templates are stored in the directory/file specified in the Project Settings dialog.

Placeholder Variables

Using the syntax [+VariableName+], a user may define "placeholder" variables in templates, and when the template is inserted, the placeholders will be highlighted in a template editing mode so that the user can type over the placeholder value to rename the variable. All occurrences of the variable are then updated. Pressing TAB will cause focus to move to the next placeholder variable. For example if the user inserts the template:

// function [+function+]

[+scope+] function [+function+] () {

^

}

and types "myFunc" for the [+function+] variable and "private" for the [+scope+] variable, he would see this:

// function myFunc

private function myFunc () {

^ <-- caret blinking here

}

If ESC or ENTER is pressed the template will be permanently inserted into the active document and template editing mode will no longer be active.

A template may also contain special text strings that are translated at the time the template is recalled. These special strings are:

[DATE_DMY] | Is translated into the current date with the format DAY/MONTH/YEAR.
[DATE_MDY] | Is translated into the current date with the format MONTH/DAY/YEAR.
[DATE_TEXT] | Is translated into the current date with the date displayed as text.
[TIME] | Is translated into the current time IN 24 HOUR FORMAT.
^ | This indicates the position at which to place the cursor after the template has been inserted.
[FULL_FILE_NAME] | Is translated into the full path and filename of the active document.
[FILE_PATH] | Is translated into the drive and path of the active document.
[FILE_NAME] | Is translated into the root filename of the active document.
[FILE_EXTENSION] | Is translated into the file extension of the active document with the "point", i.e. ".txt".
[FILE_EXTENSION_NP] | Is translated into the file extension of the active document without the "point", i.e. "txt".
[$REPLACE$] | Is replaced with selected text in the active document. The selection will be converted to uppercase text when inserted with the template.
[$replace$] | Is replaced with selected text in the active document. The selection's current case will be maintained when it is inserted with the template.

Note - ^ refers to the character '^' NOT Control Key + value.

Additionally, for extended date and time formatting, UltraEdit supports the following enhanced functionality:

Time

To specify the USER TIME format use the following syntax in your template:

For local time use the following markers:

[TIME_USER]...time format string here...[TIME_USER_END]

For system time use the following markers:

[TIME_USER_SYS]...time format string here...[TIME_USER_SYS_END]

Note: TIME_USER_SYS is UTC (Coordinated Universal Time). In general usage this may be thought of as GMT (Greenwich Mean Time).

The time format string is defined as follows:

If you use spaces to separate the elements in the format string, these spaces will appear in the same location in the template. The letters must be in uppercase or lowercase as shown (for example, "ss", not "SS"). Characters in the format string that are enclosed in single quotation marks will appear in the same location and unchanged in the template.

String | Meaning
h | Hours with no leading zero for single-digit hours; 12-hour clock
hh | Hours with leading zero for single-digit hours; 12-hour clock
H | Hours with no leading zero for single-digit hours; 24-hour clock
HH | Hours with leading zero for single-digit hours; 24-hour clock
m | Minutes with no leading zero for single-digit minutes
mm | Minutes with leading zero for single-digit minutes
s | Seconds with no leading zero for single-digit seconds
ss | Seconds with leading zero for single-digit seconds
t | One character time marker string, such as A or P
tt | Multicharacter time marker string, such as AM or PM

For example, to get the time string

"11:29:40 PM"

use the following format string:

"hh':'mm':'ss tt"

This string MUST be between the markers, for example:

[TIME_USER]hh':'mm':'ss tt[TIME_USER_END]

Date

To specify the USER DATE format use the following syntax in your template:

For local date use the following markers:

[DATE_USER]...date format string here...[DATE_USER_END]

For system date use the following markers:

[DATE_USER_SYS]...date format string here...[DATE_USER_SYS_END]

The date format string is defined as follows:

Use the following elements to construct a format string. If you use spaces to separate the elements in the format string, these spaces will appear in the same location in the template. The letters must be in uppercase or lowercase as shown in the table (for example, "MM" not "mm"). Characters in the format string that are enclosed in single quotation marks will appear in the same location and unchanged in the template.

String | Meaning
d | Day of month as digits with no leading zero for single-digit days.
dd | Day of month as digits with leading zero for single-digit days.
ddd | Day of week as a three-letter abbreviation.
dddd | Day of week as its full name.
M | Month as digits with no leading zero for single-digit months.
MM | Month as digits with leading zero for single-digit months.
MMM | Month as a three-letter abbreviation.
MMMM | Month as its full name.
y | Year as last two digits, but with no leading zero for years less than 10.
yy | Year as last two digits, but with leading zero for years less than 10.
yyyy | 0Year represented by full four digits.

For example, to get the date string

"Wed, Aug 31 94"

use the following format string:

"ddd',' MMM dd yy"

This string MUST be between the markers, for example:

[DATE_USER]ddd',' MMM dd yy[DATE_USER_END]

Description

If desired, users may include a description for a template. This is limited to 79 characters. When the cursor hovers over the template name in the Template List, a tooltip will be displayed with the label Template Description followed by the specified description. If a description is not specified, the label Template Extract will be displayed along with the beginning portion of the template itself.

Inserting Templates

If the option Auto-suggest smart template when typing is enabled under Advanced -> Configuration -> Templates, and the user pauses while typing a string that matches a defined template name, UltraEdit will "suggest" a template based on what was last typed, and the user may press TAB to insert the suggested template.

For example, if the user has a C/C++ template named "void" and is editing a *.cpp file and types "void" and then pauses briefly, UltraEdit will automatically insert the "void" template in a special "suggestion" mode. To finish inserting the template, the user should press TAB. The amount of time the user must wait before seeing a template suggested is defined in the after pausing for field under Advanced -> Configuration -> Templates.

Alternatively, while editing, the user may press Ctrl+Space to invoke the auto-complete dialog and any templates which are defined whose name matches the string next to the caret will be listed in the auto-complete dialog as well. The user may choose a template here and insert this if desired.

Selectable Variable Values

Selectable values allow the user to create a template with a variable with several different pre-defined choices, which can be selected during template insertion via the auto-complete drop down. To add selectable values to a template variable, the following syntax should be used:

[+defaultVal|selectableVal1|selectableVal2|selectableVal3+]

The pipe character is used to delimit different selectable values. In the above example, when the template is inserted, the variable would have a default value of defaultVal. Once the user selects an item from the auto-complete dialog by pressing Enter, UltraEdit will shift focus to the next variable (or if it’s the only variable, insert the template).

In some cases, the user may prefer to use a completely different value for a template variable that does not match either the default or one of the selectable values. Should the user desire, he can simply tab to the variable during insertion and begin typing a new value. In this case, the auto-complete dialog will disappear after the user begins typing new text. At any time, the user may press Ctrl + Spacebar to make the selection dialog visible again.


Date/Time command

Date/Time command (Edit tab)

The date/time command inserts the date and time at the cursor position. The date and time are formatted according to the control panel settings. A single space is inserted between the date and time.

To insert only the date or the time a Template definition feature may be used.

Shortcut: F7


Insert Color command

Color command (Edit tab)

This function allows a user to select a color value and insert it into a document. The dialog allows the user to view or choose a color and then have the value of the color inserted into the document.

The color value is shown in one of the three specified formats:

1) Decimal - This is the decimal value for the color value in RGB (Red,Green,Blue).

2) Hexadecimal - This is the hexadecimal value for the color value in RGB (Red,Green,Blue).

3) HTML - This is the format required for display in an HTML document. The # is added to the value.

When the dialog is first displayed, the color value will default to the selected color (if there is a value selected) in the active file. UltraEdit will try and determine the format of this also based on the selection.

When the user clicks on OK, the Color Value shown will be inserted into the document, replacing the current selection if a selection is made.


Insert File command

File command (Edit tab)

Use this command to insert an existing document (file) into the active document.

This command presents a dialog allowing selection of the file to insert. The Format dropdown is used to specify the encoding of the file which is being inserted into the active file. This will enable UltraEdit to convert the file to the format of the target file if necessary.

The complete contents of the selected file are inserted in the active document at the cursor position.


Sort File command

Sort (using current settings) command (Edit tab/Sort dropdown)

This command sorts each line of the active file according to the current sort options. Any size file may be sorted. See the Advanced Sort/Options for details.

If a portion of the file is selected, only the selected portion is sorted. The rest of the file will not be modified.


Advanced Sort/Options

Advanced sort/options command (Edit tab/Sort dropdown)

This command allows you to set the sort options and perform a sort of the active file. The sort is performed on the complete file unless a portion is selected. If a portion is selected, just the selected portion will be sorted. However ALL the lines selected will be sorted, not just selected columns if in column mode.

When this option is selected, a dialog is presented with the following options:

Sort Order

Ascending This sets the sort for ascending order ('a' to 'z', 0-9) and is the default.

Descending This sets the sort for descending order ('z' to 'a', 9-0).

Remove duplicates

If this is checked, then the associated radio button options Where all selected keys match and Where any selected keys match become active and may be selected.

If Where all selected keys match is selected, duplicate strings/characters must exist in ALL active sort keys for a line to be considered a duplicate and be removed. If Where any selected keys match is selected, a line is considered a duplicate if duplicate strings/characters exist in ANY of the active sort keys. Active keys are designated using the checkboxes under the RD heading. This allows the user greater flexibility in determining which defined keys are used for the Remove duplicates sort operation.

Ignore case

If the Ignore case option is set, lines are considered identical if the characters are the same with the only difference being the case of them. This option should be checked if you want the search to be insensitive to case, i.e. "CAT" is considered the same as "cat". Do not check this option if the sort should consider "cAT" different from "cat".

Numeric sort

If this is checked, the sort will perform a numeric sort on the selected columns. Typically a sort is non-numeric and the values 1,11,111 would be sorted before 2,22,222 as 1 comes before 2. If a numeric sort is selected, the values would be sorted in numeric order (1,2,11,12,111,222). The numeric sort is not possible with a locale specific sort or when using the alternate sort method. The numeric sort option should only be used with numeric characters.

Tab delimited sort

If this is checked, sorting is performed based on fields defined by tabs in the active document. The following must be remembered when executing a tab delimited sort:

1. You must enter at least one field greater than "0". Field "1" would include the text from the beginning of the line to the first tab character in the line.

2. Field start/end values start at "1" which would be the first character in the field.

3. The start/end values can be "0", in which case the entire field is used.

4. You may also specify a starting value and "0" for the end value, which would cause the text from the start value to the end of the field to be used.

Sort Columns

Up to 4 sort keys may be selected to sort on. Each sort key contains a range of columns that will be sorted. The normal value for the range is from column 1 to 9216.

The start and end columns for unused keys should be set to 0. If multiple keys are used, the sort order is based on the first key, followed by the second key, etc.

To sort by complete line set the start column to 1 and the end column to –1. If any key has a value of –1 for the end column the sort will be from the start column to the end of line. If any key is set to sort the complete line the rest of the sort keys will be ignored.

If the start column is 0 for any sort key (and not sorting by line) the start column will be the column of the cursor.

Sorting performance is better when less keys are used and when less columns are sorted on.

The sort uses memory mapped files and virtual memory. In some cases it may be necessary to use an alternate sort that allows the user to specify where the temporary files will be used. If this is the case the Alternate sort not using virtual memory should be checked and only a single sort key may be used (and non-numeric). This is exactly the same as earlier versions that only supported single keys.

Use locale (slower)

This specifies that the sort should be locale specific. For some languages (e.g. German) this is required to change the default sort order. The locale to be used can be specified under the Advanced Menu and Set Code Page/Locale. When using this setting the sort may be slower than when not doing so.

Reset to defaults

When this button is pressed, all sort options will be reset to default values.

These options are saved between UltraEdit sessions and are used by the Sort File command .


Hex Edit command

Hex edit command (Edit tab/Hex mode dropdown)

The Hex Edit command selects the editing mode for the active window. The mode is toggled between Hexadecimal (HEX) and ASCII. The ASCII mode of editing is typically used for any ASCII (text) based files. In the ASCII mode UltraEdit allows normal operation of all functions and allows any characters to be typed.

The Hex mode of editing is typically used for non-ASCII files, or binary files. These files typically contain non-printable characters and are not text files.

The following restrictions apply when HEX mode is selected:

Insert mode (rather than overstrike mode) is not supported.

When the HEX mode of editing is selected for a given window, UltraEdit splits the screen area into three areas as shown:

File Offset: | Hexadecimal Representation | ; ASCII Representation
000000h: | 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | ;123456789012345

The number of HEX characters shown in a line may be specified under the Hex Edit Display topic under the Editor Display branch of Settings in the Advanced tab.

The file offset area shows the current byte offset of the character at the beginning of the line to form the beginning of the file.

The hexadecimal representation shows the hexadecimal value of each file byte as a two character field separated from the next byte by a space (' ').

The ASCII representation provides the view of printable characters. Non-printable characters are shown with a period character ('.').

If Character info is selected in the Edit tab, a dialog will be displayed showing the decimal value and hexadecimal value of the active byte as well as how this will be displayed (this may vary based on font and script). Along with this the offset of the active byte is displayed in both decimal and hexadecimal formats.

Editing in either the ASCII are or the HEX area automatically updates the other area after each valid character is typed.

All modifications are performed in OVERSTRIKE mode. To insert or delete characters in Hex mode use the Insert/delete command from the Hex mode dropdown in the Edit tab.

Cut , copy and paste are supported in Hex mode.

Shortcut: CTRL+H


Hex Edit/EBCDIC command

Hex Edit (EBCDIC) command (Edit tab/Hex mode dropdown)

The Hex/EBCDIC editing mode works almost identically to the Hex Editing mode with the exception it will convert the EBCDIC data for viewing purposes only and show this as ASCII. The content of the file will not be modified, however the right hand side that shows the ASCII representation in Hex Mode will show the data converted to ASCII from EBCDIC.

For details of editing in Hex mode, see Hex Edit command .

While in this mode, editing in the ASCII area will allow data to be entered as ASCII and automatically converted to EBCDIC in the file. Editing in the Hex area will allow data to be entered directly as Hex and the ASCII representation (converted from EBCDIC) will be shown in the ASCII area.

Find/Replace in this mode will allow ASCII strings to be used and correctly found/replaced according to the settings in the Find/Replace dialog box. Regular Expressions however cannot be used in this mode, the results would be indeterminate.


Hex Insert/Delete command

Insert/delete command (Edit tab)

The Hex Insert/Delete command allows the insertion or removal of characters at the current cursor position while in Hex mode . This command presents a dialog that allows selection to insert or delete characters and requires the number of characters that are to be inserted or deleted to be specified.

If insert is selected, UltraEdit will insert the specified number of characters in the file and initialize them to a hexadecimal value of 20 (ASCII space). The characters may them be modified as required.

If delete is selected, the specified number of characters will be removed from the file beginning at the cursor position.

Shortcut: CTRL+D


Hex Copy Selected View command

Copy selected command (Edit tab)

This function is available when editing in Hex mode . The normal Copy command copies the actual data in the file, not the Hex representation shown on the display. This command formats the actual data in the clipboard in the same way it is shown on the screen in HEX mode. This allows the representation to be copied into a text or similar document.

As the data being copied may only be a partial line this command computes the address for the start of the data and this will be how it is formatted in the clipboard.

The following shows a row of data in HEX Mode (the title is for clarification only):

File Offset: | Hexadecimal Representation | ; ASCII Representation
000000h: | 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | ;123456789012345

If the 4567 were selected and copied to the clipboard with this function the format in the clipboard (ready to paste into another document) would be:

000004h: 34 35 36 37 ; 4567


Format Tab

The Format Tab offers the following commands:

Indent |
Reindent selection | reindents selected text in active file
Add indents | presents a dialog to allow adding indentation from selected rows of text
Remove indents | presents a dialog to allow removing indentation from selected rows of text
Convert |
To uppercase | converts the selected text to upper case
To lowercase | converts the selected text to lower case
Capitalize | capitalizes the first character of each word in selected text
Invert case | inverts the case (lower/upper) of each character in selected text
Tabs to spaces | converts tabs to spaces
Spaces to tabs (all) | converts all spaces to tabs
Spaces to tabs (leading) | converts leading spaces to tabs
Wrap to line ends | converts word wrap to hard CR/LFs for complete file
Line ends to wrap | converts CR/LFs to Word Wrap for selected text
Trim |
Trim Leading Spaces | trims the leading spaces from each line
Trim Trailing Spaces | trims the trailing spaces from each line
Paragraph |
Reformat | reformats paragraph to wrap a column
Setup | shows Reformatting Options dialog
Left align paragraph | aligns text against the left margin and will not extend past the right margin
Center align paragraph | centers text between the left and right margins
Right align paragraph | aligns text against the right margin and will not extend past the left margin
Fill paragraph | aligns text between the right and left margins with spaces added between words to ensure alignment to both margins


ReIndent Selection command

Reindent selection command (Format tab)

This command allows the user to reformat the selected text within the active file. This is typically used by programmers to reformat existing text according to the indentation settings in configuration and the automatic indent settings for Syntax Highlighting (see the indentation section under Syntax Highlighting for details).

When the reindenting is performed, UltraEdit will reindent the file line by line, starting with the indentation of the first selected line.

If the indentation of the first selected line is less than the indent setting, or falls between multiples of the indent setting then the indentation will be rounded down to match the value or multiple of the indent setting. (If the indent value is 4, and the first selected line is indented to 2 then the line will be assumed not to be indented as it will be rounded down to 0. If the line was indented to 6 then the line will be adjusted to be indented to 4 as it falls between the indent values of 4 and 8).

UltraEdit does try and determine if the statement causing a change in the indentation is commented out, or part of a string and ignores it in this case. However, if the file contains preprocessor conditional statements (#ifdef, #ifndef, etc.) UltraEdit does not attempt to determine which text is valid and which is not. This may cause lines to be adjusted incorrectly.

To avoid problems with conditional statements it is suggested that all conditional sections include the same number of open and close conditional statements. If an "if (test) {" statement is in the conditional text, make sure the closing brace ("}") is also in the conditional text and there should not be a problem.

In some cases it may be desirable not to indent lines such as compiler directives or comments. UltraEdit provides for this capability by allowing strings to be ignored to be defined in the active wordfile. This is covered under the Syntax Highlighting section.


Add Indents command

Indent selection command (Format tab)

The Indent selection command presents a dialog that allows the user to specify the number of spaces to add at the beginning of each of the selected (highlighted) lines. UltraEdit starts adding the specified number of spaces to each line beginning with the first highlighted line and ending with the last line that has at least one character selected (highlighted).

The Indents will be added to all lines stated above, irrespective to and indentations that may already exist.

To remove indentations, use the Remove Indents command in the Format tab.


Remove Indents command

Remove Indents command (Format tab)

The Remove Indents command presents a dialog that allows the user to specify the number of spaces or tabs to remove from the beginning of each of the selected (highlighted) lines. If the checkbox specifying removal of all indents is checked, UltraEdit will remove ALL indentation at the beginning of the selected lines. UltraEdit starts removing the indents beginning with the first highlighted line and ending with the last line that has at least one character selected (highlighted).

If no indentation is found at the beginning of a selected line, no changes are made to that line.

To add indentations, use the Indent selection command in the Format tab.


To Upper Case command

To uppercase command (Format tab/ Case dropdown)

This command changes all selected text to upper case. There is no limit on the amount of text that may be selected. If Column Mode is selected, the selected columns only are converted.

Shortcut: ALT+F5


To Lower Case command

To lowercase command (Format tab/ Case dropdown)

This command changes all selected text to lower case. There is no limit on the amount of text that may be selected. If Column Mode is selected, the selected columns only are converted.

Shortcut: CTRL+F5


Capitalize command

Capitalize command (Format tab/Case dropdown)

This command changes the first letter of all words in the selected text to upper case and the remaining letters to lower case. There is no limit on the amount of text that may be selected. If Column Mode is selected, the selected columns only are converted.

Shortcut: F5


Invert Case command

Invert case command (Format tab/Case dropdown)

This command inverts the case of all selected text. There is no limit on the amount of text that may be selected. If Column Mode is selected, the selected columns only are converted.

Shortcut: SHIFT+F5


Tabs to Spaces command

Tabs to spaces command (Format tab/ Tabs/spaces dropdown)

Use this command to convert all of the TAB characters within a FILE to spaces. This uses the Tab Settings to determine how the tab character/tab stop is to be interpreted. The conversion is performed such that the formatting will remain the same.

If a portion of the file is selected/highlighted only the selected portion is converted, otherwise the complete file is converted.

To convert spaces to tabs use the Spaces to Tabs (Leading) or Spaces to Tabs (All) command .


Spaces to Tabs (All) command

Spaces to tabs (all) command (Format tab/ Tabs/spaces dropdown)

Use this command to convert all of the spaces in a file to tabs. This uses the Tab Settings to determine how the tab character/tab stop is to be interpreted.

The conversion is performed such that the formatting will remain the same. This will mean that where there are insufficient spaces to replace with a TAB character and retain the same formatting the spaces will be left in place.

If a portion of the file is selected/highlighted only the selected portion is converted, otherwise the complete file is converted.

If you wish to convert only the space at the beginning of a line use the Spaces to Tabs (Leading) command .

To convert tabs to spaces use the Tabs to Spaces command .


Spaces to Tabs (Leading) command

Spaces to tabs (leading) command (Format tab/ Tabs/spaces dropdown)

Use this command to convert all of the (leading) spaces in a file to tabs. This uses the Tab Settings to determine how the tab character/tab stop is to be interpreted.

The leading spaces refers to the space at the beginning of a line. Any spaces after the first non-space character in a line will not be converted. To convert all spaces in a line use the Spaces to Tabs (All) command .

The conversion is performed such that the formatting will remain the same. This will mean that where there are insufficient spaces to replace with a TAB character and retain the same formatting the spaces will be left in place.

If a portion of the file is selected/highlighted only the selected portion is converted, otherwise the complete file is converted.

To convert tabs to spaces use the Tabs to Spaces command .


Convert Wrap to CR/LFs command

Wrap to line ends command (Format tab)

Use this command to Word Wrap the text based on either the width of the display window or a specified column number and write CR/LF (carriage return/line feed) characters to the file. If a space is found at the position of the wrap a single space is removed. This allows the document to be saved as viewed in the word wrap state with CR/LF characters inserted at the end of each word wrapped line.

When this item is selected, a dialog box is displayed allowing selection of the wrap parameters. By default, the text will be wrapped based on the current view. That is to say, the text will be wrapped at the window boundary as shown on the screen. This dialog allows selection of a column number at which the text should be wrapped. In this case the text will be wrapped at the specified column or at the preceding word boundary on the line.

This feature works on the complete file if no text is selected. If a selection is made, the feature only converts the selected area.

To remove CR/LF (carriage return/line feed) characters from the file use the Convert CR/LFs to Wrap command .


Convert CR/LFs to Wrap command

Line ends to wrap command (Format tab)

Use this command to remove the CR/LF (carriage return/line feed) characters from the file allowing the text to be Word Wrapped by UltraEdit. This feature removes all CR/LF characters for text that is selected. If no text is selected this function has no effect.

To remove all CR/LF characters from the file select the complete file. To do this, position the cursor at the beginning of the file and press CTRL+SHIFT+END at the same time.

To add CR/LF (carriage return/line feed) characters to the file use the Convert Wrap to CR/LFs command.


Trim Trailing Spaces command

Trailing spaces command (Format tab)

Use this command to remove the trailing white space (tabs, spaces) from the ends of each line. This function removes the trailing white spaces from the end of every line in the file and positions back to the original cursor position when it is complete.

The Save topic under the File Handling branch in Settings under the Advanced tab provides a setting allowing spaces to be trimmed automatically when a file is saved.


Reformat Pargraph command

Reformat command (Format tab)

Use this command to format the current paragraph (or selected text) to the specified column number boundary. The column number and settings are specified in the Paragraph Setup/Formatting dialog . A paragraph is determined as having two hard returns in succession (i.e. a blank line).

All hard returns are removed for the paragraph, and new hard returns are automatically inserted at the appropriate position based upon the settings in the Reformatting Options dialog under Paragraph Formatting -> Paragraph Setup/Formatting. Please note that the reformat process will remove all bookmarks from bookmarked lines within the area selected for reformatting. An Undo executed after the reformat process completes will not restore removed bookmarks.

The whole file may be reformatted using the Select All command to first select the complete file, then reformat it.

If the Auto Indent feature is enabled the paragraphs will be automatically indented based on the first line of the paragraph.

The settings used in the Paragraph Formatting dialog will be used for this command.


Paragraph Setup/Formatting dialog

Setup command (Format tab)

The paragraph formatting dialog allows the user to align the paragraph using the following methods:

Left Align | Text will be left aligned against the left margin and will not extend past the right margin.
Center Align | Text will be centered between the left and right margins.
Right Align | Text will be right aligned against the right margin and will not extend past the left margin.
Fill | Text will be aligned between the right and left margins with spaces added between words to ensure alignment to both margins. The last line of the paragraph will be aligned only to the left margin.

Each of the separate alignment commands may be selected individually from the menu, or invoked from the Paragraph Setup/Reformatting dialog.

The Paragraph Setup/Reformatting dialog specifies the parameters used for reformatting. These parameters are used when one of the paragraph formatting commands are used.

The parameters are:

Hanging Indent | This applies to the left alignment only. If set, the alignment will allow a second margin to be specified that is used for the second and successive lines of a paragraph. This causes the first line of a paragraph to be indented with one setting and the rest of the paragraph to have a different setting. If this is set, the hanging indent value may be entered in the dialog.
Margins - Use paragraph left margin | This instructs UltraEdit to use the existing left margin of the paragraph that is being reformatted rather than specifying a new margin value.
Margins - Specify margin | This setting instructs UltraEdit to use the left margin value entered in the dialog as the indention for the left margin when reformatting the paragraph.
Margins - Right margin | This setting specifies the right margin to be used when reformatting the paragraph. This is the last column number (starting at 1) at which text may be placed.

The margin settings above will be used for all reformatting commands including the Reformat Paragraph command .

All hard returns are removed for the paragraph, and the paragraph is reformatted based on the settings.

The complete file may be reformatted using the Select All command to first select the complete file, then reformat it.


View Tab

The View Tab includes the following commands:

Display |
Set font | selects the screen font to use
Set hex/column font | selects the screen font to use for HEX and Column mode
Set printer font | selects the printer font to use
Reset fonts | resets the screen and printer fonts to default settings
Show column markers | toggles visibility of active column markers
Set column markers | presents dialog where column marker settings are defined
No scroll left of marker 1 | toggles fixed pane/columns left of first column marker
Line change indicator | toggles visibility of markers indicating modified lines in active document
Spaces/tabs | displays spaces and tabs as visible characters
Line endings | displays new line characters as visible characters
Page breaks | displays page breaks as lines
Ruler | toggles the column ruler indicator at the top of each window
Line numbers | toggles the line number display at the left of each window
Document map | shows or hides the document map
Line spacing - Single | displays documents with single spacing
Line spacing - 1 1/2 spacing | displays documents with 1 1/2 spacing
Line spacing - Double spacing | displays document with double spacing
Highlight |
Highlight all selected | turns off selection of strings matched by a Find with Highlight All Items Found selected when Use persistent highlight all is selected under Configuration -> Search -> Advanced or when all occurrences of the word under the cursor are highlighted
Make selections | converts all highlighted strings to editable selections
Hide / show lines |
Hide/show selection | hides or shows the selected lines
Collapse all | collapses any expanded function or structure in active file
Expand all | expands any collapsed section in active file
Fold lines | toggles visibility of guide lines based on code folding
Mode |
Toggle file change polling | checks active file for changes at interval (seconds) defined in configuration
Auto-scroll polled files | scrolls to last line of polled file when changes are detected (similar to UNIX tail command)
Always on top | toggles setting to display UltraEdit on top of all other applications
Full screen | toggles full screen edit mode


Set Font command

Set font command (View tab/Fonts dropdown)

The Set font command presents the Font dialog that allows selection of different fonts and font sizes. Font selections may be reset to default values by selecting the Reset fonts command.

Additionally, the size of the active font can quickly be increased/decreased by holding the CTRL key and spinning the mouse scroll wheel. This will change the font size for all documents.

Note: If the printer does not support the font Windows automatically adjusts to the closest font.


Set Hex/Column Mode Font

Set hex/column font command (View tab/Fonts dropdown)

The Set hex/column font command presents the Font dialog that allows selection of different fonts and font sizes. The selection made will apply when editing in Hex mode or in Column mode. UltraEdit will automatically switch to this font when Hex or Column modes are selected.

For normal font selection use Set font from the Fonts dropdown in the View tab.


Set Printer Font command

Set printer font command (View tab/Fonts dropdown)

The Set printer font command presents the Font dialog that allows selection of different fonts and font sizes for use by the printer. The selection made will apply only to the printer fonts.

Font selections may be reset to default values by selecting the Reset fonts command.


Reset Fonts command

Reset fonts command (View tab/Fonts dropdown)

The Reset fonts command instructs UltraEdit to reset user selections of the screen and printer fonts to the default settings. Any user selections of the screen fonts made with the Set font command or printer fonts made with the Set printer font command will be lost.


Increase Font Size command

Increase font size command (View tab)

These items allow a user to zoom in and out of a document by increasing and decreasing the font size by about 1 point size with each change. These settings are retained for all documents once they are changed.


Decrease Font Size command

Decrease font size command (View tab)

These items allow a user to zoom in and out of a document by increasing and decreasing the font size by about 1 point size with each change. These settings are retained for all documents once they are changed.


Set Column Markers command

Set column markers command (View tab/Column markers dropdown)

This menu item presents a dialog allowing the user to set a Column Group as active and specify the associated Column Markers which will be displayed when that group is set active. The Set Column Markers dialog is made up of two list controls - Column Groups and Column Markers - that may be used to define groups of column markers which may be stored and set active for different types of documents.

Column Groups

In the Column Groups list, a group name is selected by clicking on it and may be edited if it is clicked on again. This allows column groups to be assigned unique names. This list has four associated buttons:

Set Active | sets selected group active and displays associated column markers in the edit window
Add Group | inserts a new Column Group item into the list
Modify Group | toggles the selected column group name to edit mode so it may be renamed
Delete Group | removes the selected column group from the list

Column Markers

The Column Markers list consists of two separate columns, Enabled and Column Number. When a Column Group is selected in the first list, the column markers associated with that group may be defined within the lower list.

When a column marker is defined a checkbox appears in the Enabled column and the user specifies a column number at which the marker should be displayed in the Column Number column. The associated marker is only displayed if checked. In the Column Markers list, a column number is selected by clicking on it and may be edited if it is clicked on again. This list has three associated buttons:

Add Marker | inserts a new Column Marker item and its associated checkbox into the list
Modify Marker | toggles the selected column marker number to edit mode so it may be modified
Delete Marker | removes the selected column marker from the list


No Scroll Left Side of Marker command

No scroll left of marker 1 command (View tab/Column markers dropdown)

UltraEdit provides for Column Markers that display a vertical line at a specified column.

This command works in conjunction with the column markers. When this item is checked (enabled) the columns to the left of the 1st column marker are fixed, and do not scroll horizontally while the columns to the right of the column marker will scroll as normal when the horizontal scroll bar is used or when the cursor is positioned to the right hand side of the window forcing a horizontal scroll.

If this feature is enabled, columns to the right of the marker will scroll horizontally while columns to the left will not. While the horizontal scroll is in effect, any mouse selection or clicking of the primary mouse button within the fixed portion of the display will cause the horizontal scroll position to be reset allowing viewing and editing of the continuous columns.

If the 1st column marker is disabled or set to 0 this function will have no effect.


Line Change Indicator command

Line change indicator command (View tab)

If this option is selected, modified lines will be indicated with a special colored shading between the line numbers and the first character on the line. The colors used to indicate saved and unsaved changes to a file within an editing session are configured in the Manage Themes dialog under the Editor tab. The Manage Themes dialog may be accessed under Themes dropdown in the Layout tab. If the undo buffer is cleared during an editing session, the line change indicators would be reset as well.

If this option is toggled on/off in the View tab, this will only affect the active document. Global changes for this feature are set under the Line Change Indicator branch in the Editor Display section of configuration.

If a file is opened that exceeds the threshold specified for using temporary files under the Temporary Files branch in the File Handling section of configuration, and the option is set to open without a temporary file in this case, the line change indicator will not be displayed.


Show Spaces/Tabs command

Spaces/tabs command (View tab)

This command allows the displaying of spaces, tabs and new line characters as visible characters on the screen. It does not change the document but allows you to clearly distinguish between the different characters.

Spaces are shown as: '·'

Tabs are shown as: '»'

New lines are shown as: '¶'

If there is not enough room to show the '»' with the tab, the tab will appear as normal, and non visible. The color used to display these characters may be modified by going to the Layout tab and clicking on the Themes dropdown and then by clicking on Manage Themes.


Show Page Breaks as Lines command

Page breaks command (View tab)

The setting instructs UltraEdit to show the page break character (as defined in Page Setup ) as a line drawn across the screen. This will not modify the line numbering of the file. The line numbers are based on the line terminators only.

If this setting is checked, UltraEdit will draw a straight line horizontally across the screen immediately below the current line. Any text following the page break character will start on the line following the page break line.

If this setting is not checked, the page break character will be printed as with any other character and text will be displayed immediately prior to, and following the character according to what is present.


Display Ruler command

Ruler command (View tab)

This command toggles the column ruler that displays the column numbers at the top of each window.

The ruler indicates the column number in even increments. For fixed pitch fonts this will show the correct column indication. For variable pitch fonts, this will show the column numbers based on the average character width for the active font.

The ruler colors may be set with the Manage Themes dialog .


Display Line Numbers command

Line numbers command (View tab)

This menu item toggles the line number display on the left hand side of the window.

The line numbers are shown in a fixed area on the left hand side of the Window for each file if this item is checked. The font used is automatically selected based on the current font and is slightly smaller than the selected font for display.

The color of the line numbers may be set by going to Layout -> Themes -> Manage Themes and clicking on the Editor tab and then changing the color assigned to Ruler, Line Number Column.

To print a file with line numbers, make the appropriate selection under the Page Setup dialog (Application menu -> Print -> Print setup -> Page setup).


Document Map command

Document map command (View tab)

Use this command to toggle Document Map visibility. The document map is an element that allows users quickly navigate in documents by pointing and clicking to reposition the active view. It shows an outline of the active document, like a filmstrip. A "viewport" or frame will indicate the portion of the active file currently visible in the edit window. Users may click at a different position in the Document Map to reposition the viewport or may click on in the viewport and drag it to another location.

The context menu in the Document Map includes the following options:

Zoom In (Show Less) | shows less of file in Document Map at once
Zoom Out (Show More) | shows more of file in Document Map at once
Show - Active Line | toggles visibility of the active line in the Document Map
Show - Bookmarks | toggles visibility of bookmarks in the Document Map when they exist in the active file
Show - Code Folding | toggles visibility of folding nodes in the Document Map when they exist in the active file
Reposition Caret on Click | set caret at beginning of line in edit window when clicking in Document Map


Spacing commands

Line spacing commands (View tab/Line spacing dropdown)

These items provide for Single, 1 ½ and Double spacing. This allows a document to be viewed and printed with additional spacing between each line of text.

If Single spacing is selected, each line is displayed and printed with the normal character height and line spacing.

If 1 ½ spacing is selected, each line is displayed and printed with the 1 ½ the normal character height for the line. The actual characters are the normal height but spacing allocated for the line is increased giving additional room for notes to be hand written between lines.

If Double spacing is selected, each line is displayed and printed with the 2 times the normal character height for the line. The actual characters are the normal height but spacing allocated for the line is increased giving additional room for notes to be hand written between lines.


Hide/Show Selection command

Hide/show selection command (View tab)

This function allows a user to select some number of lines and to hide these such that they will not be visible on the screen, or if lines are hidden they will be shown.

Hiding Lines

To hide a set of lines, select the lines you wish to be hidden and invoke the Hide/show selection command from the View tab or by using the shortcut (CTRL+ '-' numeric keypad). When the lines are hidden, a "+" will be displayed in the folding gutter to the left of the edit window. When editing a file that does not have syntax highlighting, the following configuration options must be selected under Advanced -> Settings -> Editor Display -> Code Folding:

Enable show/hide lines and code folding

Enable show/hide lines in non syntax highlighted files

Multiple sections may be hidden at one time. Changes made to the file will update the hidden regions in most cases such that the hidden lines are maintained. In a few instances (file sort for example) this may not be possible and the hidden lines may be offset requiring them to be hidden again.

Clicking on the "+" in the folding gutter beside hidden lines will cause the section no longer to be hidden. This may be re-hidden by using this Hide Lines feature without a selection – in this case, the last set of lines that was hidden and then shown will be hidden again.

This command can be used from within Macros .

Un-Hiding Lines

To display a set of lines that is hidden, click on the "+" in the folding gutter beside the hidden lines, or position to it via some other means and select Hide/show selection in the View tab.

Saving the Hidden Lines

If the user has the configuration option set to Save Bookmarks the hidden line information will also be saved and reloaded when the file is next loaded.


Collapse All command

Collapse all command (View tab)

This command collapses all blocks in the active file bounded by the Open/Close Fold Strings defined in the active wordfile. If text is selected this will affect only the selected region. If no text is selected this command will operate on the whole of the active file.

For more information see Code Folding .


Expand All command

Expand all command (View tab)

This command expands all blocks in the active file bounded by Open/Close Fold Strings defined in the active wordfile. If text is selected this will affect only the selected region. If no text is selected this command will operate on the whole of the active file.

Please note: When this command is invoked, strings hidden using the Hide Lines command will be expanded as well as folded sections of code.

For more information see Code Folding .


File Change Polling command

Toggle f ile change polling command (View tab/File change polling dropdown)

This command toggles File Change Polling for the active file. This can be very useful for log files or any other files that might be dynamically updated. When this is selected the active file will be checked periodically (based on the interval specified under the File Change Detection topic under the File Handling branch under Settings in the Advanced tab) and updated with any changes that have been made to the file.

Please note: The File change polling dropdown will be grayed out in the View tab unless the associated Configuration item - Poll for file changes at force interval in seconds - has been selected and a polling interval has been set.


Auto Scroll Polled Files command

Auto-scroll polled files command (View tab/File change polling dropdown)

This command toggles the auto scroll state of all files for which polling has been activated using the File Change Polling command . If this is selected all polled files will automatically be scrolled to display the last line each time the files are polled. In the case of dynamically updated files, such as log files, this ensures that the latest additions to the file are always visible when the polled file is active. This functionality is similar to the UNIX tail command.


Always On Top command

Always on top command (View tab)

This command toggles the setting to display UltraEdit on top of all other applications.


Full Screen Mode command

Full screen mode command (View tab)

This function allows the active file to be edited using the whole screen. The toolbar, status bar and other windows that would normally be displayed as part of the UltraEdit application will be hidden while in this mode.

A small window with an icon on it will be shown to allow the user to switch back to normal editing. Additionally, the ESCAPE key may be used to cancel the full screen mode.

When the full screen mode is cancelled, the main UltraEdit window and editing window will be returned to its previous state.


Coding Tab

The Coding Tab includes the following commands:

Formatting |
View as language | displays file with selected syntax highlighting
Add another language | presents Add and remove languages dialog for wordfile management
Add line comment | adds line comments to selected lines
Block comment selection | encloses selected text in block comments. If block comments already exist in selection and nested comments are not supported, line comments will be inserted.
Remove line comment | removes line comments from selected lines
Remove block comment | removes comments inserted into file using Block comment selection
Go to brace | moves caret to matching brace
Select to brace | searches for next close brace and selects text back to matching open brace
HTML / XML |
Javascript lint | invokes JavaScript Lint to check for mistakes in JavaScript source code. For more information see http://www.javascriptlint.com/
HTML tidy | checks and tidies HTML files
Browser view | toggles view of active file from HTML content to browser view (interprets using IE integration)
Refresh view | refreshes browser view of active file
Style builder | presents Style Builder dialog
XML Manager | shows or hides the XML Manager used for navigating nodes in XML files
Reformat XML | formats single line XML by inserting hard returns as appropriate
Run XML Lint | invokes XMLlint parser. For more information on commands and use please see http://xmlsoft.org/xmllint.html
JSON manager | shows or hides the JSON manager used for navigating nodes in JSON files
Reformat JSON | adjusts indentation of active JSON document
Compress JSON | reformats active document to single line format
Insert HTML tag | provides a quick method for inserting commonly needed code in HTML
Scripts |
* Python - Run script | runs active Python script
* Python - Parameters... | presents dialog where user may specify parameters for Python script execution
* Python - Pylint | invokes Python lint parser. For more information on commands and use please see https://www.pylint.org/
* Python - Set Python executable | presents a dialog for user to browse to location of python.exe
* PHP - Run script | runs active PHP script
* PHP - Syntax check | checks syntax of active PHP script
* PHP - Syntax check all | checks syntax of all scripts in all open PHP files
* PHP - Parse document | parses active file and presents HTML equivalent of scripted events in documentname-parsed.php file
* PHP - Strip comments | strips comments and whitespace from active file and reformats it and presents result in documentname-parsed.php file
* PHP - Convert to highlighted HTML | converts script to HTML text bracketed by <code> and </code> allowing script to be displayed in an HTML file highlighted as it appears in UEStudio
* PHP - Set PHP executable | presents a dialog for user to browse to location of php.exe.
* Ruby - Run script | runs active Ruby script
* Ruby - Syntax check | checks syntax of active Ruby script
* Ruby - Command line options | presents dialog for specification of command line options
Search |
Web Search Tools | provides a quick method for invoking tools for use in or along with UltraEdit
Tools |
Astyle reformat | reformats source code (many configurable options). Please note: The Artistic Style EXE is installed in the GNU subdirectory and must be selected prior to its first use.
Code template - Modify code templates | presents the Modify Templates dialog
* Insert class | presents dialog to insert C#, C++, or Java class into active project
Generate GUID | presents a context menu for inserting a Globally Unique Identifier into the active document in one of four available formats
Convert number | converts a selected non-zero number to one of four formats: binary, octal, decimal, or hexadecimal
* .NET protector | presents the .NET Framework Code Protector dialog. This protects .NET executables against simple disassembly of source code. Works directly with the executable and doesn't need .NET framework installed.

* Please note: These features are only supported in UEStudio, and not in UltraEdit.


View As command

View as language command (Coding tab)

This allows the user to override the Syntax Highlighting selection made by UltraEdit based on the file extension and view any file as one of the available languages.

The command allows selection for any of the languages available within Syntax Highlighting and a selection of no highlighting.

If the user uses this feature to override the syntax highlighting the override will stay in effect until the file is closed or saved under a new name.


Comment Add/Remove commands

Add line comment/Remove line comment commands (Coding tab/ Comment/Uncomment dropdowns)

These commands allow line comments (as defined in Syntax Highlighting ) to be added to or removed from the selected lines. The file being edited must be enabled with Syntax Highlighting and line comments must be defined for the particular language.

If the line comments are appropriately defined, these functions will add the line comment characters to the beginning of each line or remove the line comment characters from the beginning of each line. When removing comment characters, the characters will only be removed if they are the first characters in the line.


Match Brace command

Select to brace command (Coding tab)

This command searches forward in the file from the cursor position to find an open or close brace. If an open brace is found, the search continues in a forward direction until a matching close brace is found at the same nest level. If the first brace found is a close brace, the search is performed in the reverse direction until a matching open brace is found at the same nest level.

When the matching brace is found, all the text between and including the two braces is highlighted.

By default an open brace is '(', '[', or '{' and a close brace is ')', ']' and '}'. Users may specify different characters/strings for open/close braces on a per language basis using the Open Brace Strings and Close Brace Strings commands in the wordfile as described under Syntax Highlighting .

Additionally, UltraEdit will automatically highlight a matching bracket/brace if the match is in view when this cursor is positioned to the right or left of a bracket/brace. No screen positioning will be performed, the bracket/brace will only be highlighted if it is in view.

If the file is designated as an HTML file (see Syntax Highlighting) matching '<' and '>' characters will be highlighted also.

Shortcut: CTRL+B


HTML Tidy command

HTML Tidy command (Coding tab)

HTML Tidy is an excellent utility that formats, checks and tidies up HTML code. This was developed by Dave Raggett and has been integrated into UltraEdit. More information on HTML Tidy may be found at: http://tidy.sourceforge.net/docs/quickref.html .

HTML Tidy may be invoked by pressing the HTML Tidy button in the Coding tab and this will present the HTML Tidy dialog:

To define a new config file, type the path to the file in the Configuration text field or press the "..." button to browse to the file you wish to use. Please note that this file must actually exist - specifying a config file that doesn't exist will cause an error when the parse is executed.

Pressing the Return button on the keyboard will save the specified path. Pressing the Options button will present the HTML Tidy options dialog. For a summary of the configuration options available for HTML Tidy please see http://tidy.sourceforge.net/docs/quickref.html .

When HTML Tidy is run from the Coding tab or by pressing the Parse button in the HTML Tidy dialog, the active document will be saved and HTML Tidy will parse the file. The output window will be used to display any errors or warnings that are found. Double clicking on line with the error or warning in the output window will position the cursor to the appropriate line in the file.

If Generate "tidy" document is selected in the HTML Tidy dialog, HTML Tidy will generate a corrected version of the active file and UltraEdit will display this in a new file/window titled "** HTML Tidy Output **". A new "** HTML Tidy Output **" file will be created each time HTML Tidy is used. If this is selected and Write-back is selected as well, the output would be written back to the original file window, but the changes aren't saved until the modified file is saved. If neither Write-back nor Generate "tidy" document are selected no output will be created from the HTML Tidy process.


Style Builder dialog

Style builder command (Coding tab)

The Style Builder dialog may be used to generate styles for the elements in a web page. While this dialog can't set ALL the options that are available for CSS2, it can set most of the common options (background, font/text, margins/padding/position). Pressing the Background, Font/Text, or Edges/Pos buttons will present different settings related to those options.

If you want to look for the full specification of CSS2 from the World Wide Web Consortium (W3C), click the CSS2 Help button. This will open the default browser for your system with the web location where you can find latest information and documentation for CSS2.

If you do not want to directly write generated styles to the edit window, you can use select "clipboard" from the dropdown below the CSS2 Help button and all generated styles will be copied to clipboard.

Common Settings

For each of the three style settings (Background, Font/Text, Edges/Pos), you can directly affect the format that will be used to generate a style. If the Expanded checkbox is selected, all items will be expanded (e.g.: MARGIN-TOP:A; MARGIN-LEFT:B; etc.). If you leave this checkbox unchecked, this format will be used: MARGIN: A B C D to save some space.

If the Lowercase checkbox is selected, all attributes will be inserted in lowercase rather than uppercase format.

If the Use quotes checkbox is selected, all inserted settings will be enclosed in double quotes.

Background

This dialog can be used to create settings for the following background style properties:

background-color

background-image

background-repeat

background-attachment

background-position

Font/Text

This dialog can be used to create settings for the following font/text style properties:

font

font-stretch

text-align

text-decoration

text-indent

text-transform

color

Edges/Position

This dialog can be used to create settings for the following margin/padding/position style properties:

margin-top

margin-right

margin-bottom

margin-left

padding-top

padding-right

padding-bottom

padding-left

position

z-index

top

left

height

width

page-break-before

page-break-inside

page-break-after

For further information on these properties and the possible settings please see http://www.w3.org/TR/REC-CSS2/propidx.html .

For a complete listing of style descriptors please see http://www.w3.org/TR/REC-CSS2/descidx.html .


XML Manager command

XML Manager command (Coding tab/XML dropdown)

This command toggles the visibility of the XML Manager. The XML Manager displays a tree view of the nodes in the active XML document. Double-clicking on a node will position the cursor to the related node in the active document. Pressing SHIFT+Double Click with the cursor on a node will cause the text associated with that node in the active document to be selected. Expanding a node in the XML Manager will also cause the relevant source code to be expanded in the editor if folded.

If the [image] button is pressed, the XML Manager will be split horizontally and the upper pane will display the XML document tree while the lower pane will display a table with an Attribute and Value column. When a node is selected in the XML document tree, it will be scanned for attributes, and if attributes are found, they will be listed in lower pane along with their values.

If a node (element/attribute) is selected, after a momentary delay the user may click it again and it will be activated for editing. If an element is edited, pressing RETURN will save the change to the document tree and appropriately update the open and close tag for the element in the active document. Attributes may be edited from the document tree in a similar manner.

The combobox at the top of the XML Manager may be used to navigate quickly within the document tree of the active XML document. Typing an element or attribute name and then pressing RETURN will position the document tree accordingly and select the first matching node.

Right-clicking in the XML Manager presents the context menu which includes the following options:

Up | moves selected node up in document tree
Down | moves selected node down in document tree
Copy | copies the selected node to the clipboard
Select | selects the active node in the document tree
Format Document | adjusts indentation of active XML document
Parse Document | parses active XML document and updates XML document tree
Cut | cuts the selected node to the clipboard
Replace with clipboard | replaces the selected node with the contents of the clipboard
Paste Before | pastes the node in the clipboard before the active node
Paste After | pastes the node in the clipboard after the active node
Duplicate | duplicates the selected node below the active node in the document tree


Reformat XML command

Reformat XML command (Format tab/XML dropdown)

This command may be used to reformat single line XML. When this option is invoked the editor scans the document and inserts hard returns as appropriate to reformat the document to a more readable format.


JSON Manager command

JSON Manager command (Coding tab/JSON dropdown)

This command toggles the visibility of the JSON manager. The JSON manager displays a tree view of the nodes in the active JSON document. Double-clicking on a node will position the caret to the related node in the active document. Pressing SHIFT+Double Click with the cursor on a node will cause the text associated with that node in the active document to be selected. Expanding a node in the JSON manager will also cause the relevant source code to be expanded in the editor if folded.

If a node (element/attribute) is selected, after a momentary delay the user may click it again and it will be activated for editing. If an element is edited, pressing RETURN will save the change. Attributes may be edited from the document tree in a similar manner.

The combobox at the top of the JSON manager may be used to navigate quickly within the document tree of the active JSON document. Typing an element or attribute name and then pressing RETURN will position the document tree accordingly and select the first matching node.

Right-clicking in the JSON manager presents the context menu which includes the following options:

Copy | copies the selected node to the clipboard
Select | selects the active node in the document tree
Paste before | pastes the node in the clipboard before the active node
Paste after | pastes the node in the clipboard after the active node
Duplicate | duplicates the selected node below the active node in the document tree
Format document | adjusts indentation of active JSON document
Compress document | reformats active document to single line format
Parse document | parses active JSON document and updates JSON document tree
Replace with clipboard | replaces the selected node with the contents of the clipboard
Cut | cuts the selected node to the clipboard


Artistic Style Formatter dialog

Artistic style command (Coding tab)

This dialog may be used to configure settings that will be used to automatically reindent & reformat C/C++/Java source files. This dialog can be accessed via the Astyle reformat button in the Coding tab. The number of indent spaces passed to Artistic Style is based on the Indent spaces value defined under Word Wrap/Tab Settings in Configuration based on the file extension of the active file.

Pressing the Reformat button applies the selected options/settings to the active file.

Indentation

The following indentation options are available:

Control

Function

Case

indents 'case X:' blocks from the 'case X:' headers. Case statements not enclosed in blocks are NOT indented.

switch (foo)

{

case 1:

a += 1;

break;

case 2:

{

a += 2;

break;

}

}

becomes:

switch (foo)

{

case 1:

a += 1;

break;

case 2:

{

a += 2;

break;

}

}

Class

indents 'class' and 'struct' blocks so that the blocks 'public:', 'protected:' and 'private:' are indented. The struct blocks are indented only if an access modifier is declared somewhere in the struct. The entire block is indented. This option is effective for C++ files only.

class Foo

{

public:

Foo();

virtual ~Foo();

};

becomes:

class Foo

{

public:

Foo();

virtual ~Foo();

};

Inline comments

indents C++ comments beginning in column one. By default C++ comments beginning in column one are not indented. This option will allow the comments to be indented with the code.

void Foo()

{

// comment

if (isFoo)

bar();

}

becomes:

void Foo()

{

// comment

if (isFoo)

bar();

}

Label

adds extra indentation to labels so they appear 1 indent less than the current indentation, rather than being flushed to the left (the default).

void Foo() {

while (isFoo) {

if (isFoo)

goto error;

...

error:

...

}

}

becomes (with indented 'error:'):

void Foo() {

while (isFoo) {

if (isFoo)

goto error;

...

error:

...

}

}

Namespace

adds extra indentation to namespace blocks. This option has no effect on Java files.

namespace foospace

{

class Foo

{

public:

Foo();

virtual ~Foo();

};

}

becomes:

namespace foospace

{

class Foo

{

public:

Foo();

virtual ~Foo();

};

}

Multi-line preprocessor definitions

indents multi-line preprocessor definitions ending with a backslash. Should be used with Tabs -> Spaces for proper results. Does a pretty good job, but cannot perform miracles in obfuscated preprocessor definitions. Without this option the preprocessor statements remain unchanged.

#define Is_Bar(arg,a,b) \

(Is_Foo((arg), (a)) \

|| Is_Foo((arg), (b)))

becomes:

#define Is_Bar(arg,a,b) \

(Is_Foo((arg), (a)) \

|| Is_Foo((arg), (b)))

Preprocessor block at brace level zero

indents preprocessor blocks at brace level zero and immediately within a namespace. There are restrictions on what will be indented. Blocks within methods, classes, arrays, etc., will not be indented. Blocks containing braces or multi-line define statements will not be indented. Without this option the preprocessor block is not indented.

#ifdef _WIN32

#include <windows.h>

#ifndef NO_EXPORT

#define EXPORT

#endif

#endif

becomes:

#ifdef _WIN32

#include <windows.h>

#ifndef NO_EXPORT

#define EXPORT

#endif

#endif

Preprocessor conditional statements

indents preprocessor conditional statements to the same level as the source code.

isFoo = true;

#ifdef UNICODE

text = wideBuff;

#else

text = buff;

#endif

becomes:

isFoo = true;

#ifdef UNICODE

text = wideBuff;

#else

text = buff;

#endif

Switch

indents 'switch' blocks so that the 'case X:' statements are indented in the switch block. The entire case block is indented.

switch (foo)

{

case 1:

a += 1;

break;

case 2:

{

a += 2;

break;

}

}

becomes:

switch (foo)

{

case 1:

a += 1;

break;

case 2:

{

a += 2;

break;

}

}

Max. instatement indent

sets the maximum of # spaces to indent a continuation line. The # indicates a number of columns and must not be greater than 120. If no # is set, the default value of 40 will be used. A maximum of less than two indent lengths will be ignored. This option will prevent continuation lines from extending too far to the right. Setting a larger value will allow the code to be extended further to the right.

fooArray[] = { red,

green,

blue };

fooFunction(barArg1,

barArg2,

barArg3);

becomes (with larger value):

fooArray[] = { red,

green,

blue };

fooFunction(barArg1,

barArg2,

barArg3);

Min. conditional indent

sets the minimal indent that is added when a header is built of multiple lines. This indent helps to easily separate the header from the command statements that follow. The value indicates a number of indents and is a minimum value. The indent may be greater to align with the data on the previous line.

The valid values are:

0 - no minimal indent. The lines will be aligned with the parenthesis on the preceding line.

1 - indent at least one additional indent.

2 - indent at least two additional indents.

3 - indent at least one-half an additional indent. This is intended for large indents (e.g. 8).

The default value is 2, two additional indents.

// default setting makes this non-bracketed code clear

if (a < b

|| c > d)

foo++;

// but creates an exaggerated indent in this bracketed code

if (a < b

|| c > d)

{

foo++;

}

becomes (when setting min. conditional indent = 0):

// setting makes this non-bracketed code less clear

if (a < b

|| c > d)

foo++;

// but makes this bracketed code clearer

if (a < b

|| c > d)

{

foo++;

}

Style

One of sixteen possible styles may be selected using the Style dropdown ( allman, ansi, bsd, break, java, attach, kr, stroustrup, whitesmith, banner, gnu, linux, hortsmann, otbs, pico, lisp).

default

If no bracket style option is set, the opening brackets will not be changed and closing brackets will be broken from the preceding line.

allman

ansi

bsd

break

Allman style formatting/indenting uses broken brackets.

int Foo(bool isBar)

{

if (isBar)

{

bar();

return 1;

}

else

return 0;

}

java

attach

Java style formatting/indenting uses attached brackets.

int Foo(bool isBar) {

if (isBar) {

bar();

return 1;

} else

return 0;

}

kr

(Kernighan & Ritchie)

Kernighan & Ritchie style formatting/indenting uses linux brackets. Brackets are broken from namespaces, classes, and function definitions. Brackets are attached to statements within a function.

int Foo(bool isBar)

{

if (isBar) {

bar();

return 1;

} else

return 0;

}

stroustrup

Stroustrup style formatting/indenting uses stroustrup brackets. Brackets are broken from function definitions only. Brackets are attached to namespaces, classes, and statements within a function. This style frequently is used with an indent of 5 spaces.

int Foo(bool isBar)

{

if (isBar) {

bar();

return 1;

} else

return 0;

}

whitesmith

Whitesmith style formatting/indenting uses broken, indented brackets. Class blocks and switch blocks are indented to prevent a 'hanging indent' with switch statements and C++ class modifiers (public, private, protected).

int Foo(bool isBar)

{

if (isBar)

{

bar();

return 1;

}

else

return 0;

}

banner

Banner style formatting/indenting uses attached, indented brackets. Class blocks and switch blocks are indented to prevent a 'hanging indent' with switch statements and C++ class modifiers (public, private, protected).

int Foo(bool isBar) {

if (isBar) {

bar();

return 1;

}

else

return 0;

}

gnu

GNU style formatting/indenting uses broken brackets and indented blocks. This style frequently is used with an indent of 2 spaces.

Extra indentation is added to blocks within a function. The opening bracket for namespaces, classes, and functions is not indented.

int Foo(bool isBar)

{

if (isBar)

{

bar();

return 1;

}

else

return 0;

}

linux

Linux style formatting/indenting uses linux brackets. Brackets are broken from namespace, class, and function definitions. Brackets are attached to statements within a function. Min. conditional indent is one-half indent. If you want a different minimum conditional indent use the K&R style instead. This style works best with a large indent. It frequently is used with an indent of 8 spaces.

Also known as Kernel Normal Form (KNF) style, this is the style used in the Linux kernel.

int Foo(bool isBar)

{

if (isFoo) {

bar();

return 1;

} else

return 0;

}

horstmann

Horstmann style formatting/indenting uses run-in brackets, brackets are broken and allow run-in statements. Switches are indented to allow a run-in to the opening switch block. This style frequently is used with an indent of 3 spaces.

int Foo(bool isBar)

{ if (isBar)

{ bar();

return 1;

} else

return 0;

}

otbs

"One True Brace Style" formatting/indenting uses linux brackets and adds brackets to unbracketed one line conditional statements. In the following example brackets have been added to the "return 0;" statement. The option add one line brackets can also be used with this style.

int Foo(bool isBar)

{

if (isFoo) {

bar();

return 1;

} else {

return 0;

}

}

pico

Pico style formatting/indenting uses run-in brackets, opening brackets are broken and allow run-in statements. The closing bracket is attached to the last line in the block. Switches are indented to allow a run-in to the opening switch block. The style implies keep one line blocks and keep one line statements. This style does not support multiple-line brackets. If add brackets is used they will be added as one line brackets. This style frequently is used with an indent of 2 spaces.

int Foo(bool isBar)

{ if (isBar)

{ bar();

return 1; }

else

return 0; }

lisp

Lisp style formatting/indenting uses attached brackets, opening brackets are attached at the end of the statement. The closing bracket is attached to the last line in the block. The style implies keep one line statements but NOT keep one line blocks. This style does not support one line brackets. If add one line brackets is used they will be added as multiple-line brackets.

int Foo(bool isBar) {

if (isBar) {

bar()

return 1; }

else

return 0; }

Mode

This option is usually set from the file extension for each file. You can override the setting with this entry. It will be used for all files regardless of the file extension. It allows the formatter to identify language specific syntax such as C++ classes, templates, and keywords.

c | indents a C or C++ file
cs | indents a C# file
java | indents a Java file

Options file

An OPTIONAL default options file may be used to supplement or replace the dialog options. The dialog options have precedence. If there is a conflict between a dialog option and an option in the default options file, the dialog option will be used.

Artistic Style looks for this file in the following locations (in order):

1. the file indicated by the --options= command line option as used if an options file is set in the dialog;

2. the file and directory indicated by the environment variable ARTISTIC_STYLE_OPTIONS (if it exists);

3. the file named .astylerc in the directory pointed to by the HOME environment variable (e.g. "$HOME/.astylerc" on Linux);

4. the file named astylerc in the directory pointed to by the USERPROFILE environment variable (e.g. "%USERPROFILE%\astylerc" on Windows).

Options may be set apart by new-lines, tabs, commas, or spaces.

Long options in the options file may be written without the preceding '--'.

Lines within the options file that begin with '#' are considered line-comments.

Example of a default options file:

# this line is a comment

--brackets=attach # this is a line-end comment

# long options can be written without the preceding '--'

indent-switches # cannot do this on the command line

# short options must have the preceding '-'

-t -p

# short options can be concatenated together

-M65Ucv

Formatting

The following formatting options are available:

Control

Function

Add brackets

adds brackets to unbracketed one line conditional statements (e.g. 'if', 'for', 'while', ...). The statement must be on a single line. The brackets will be added according to the currently requested predefined style or bracket type. If no style or bracket type is requested the brackets will be attached. If add one line brackets is also used the result will be one line brackets.

if (isFoo)

isFoo = false;

becomes:

if (isFoo) {

isFoo = false;

}

Add one line brackets

adds one line brackets to unbracketed one line conditional statements (e.g. 'if', 'for', 'while', ...). The statement must be on a single line. The option implies keep one line blocks and will not break the one line blocks.

if (isFoo)

isFoo = false;

becomes:

if (isFoo)

{ isFoo = false; }

Align pointer

attaches a pointer or reference operator (*, &, or ^) to either the variable type (left) or variable name (right), or place it between the type and name (middle). The spacing between the type and name will be preserved, if possible. This option is for C/C++, C++/CLI, and C# files. To format references separately use the following align reference option.

char* foo1;

char & foo2;

String ^s1;

becomes (with align pointer = type):

char* foo1;

char& foo2;

String^ s1;

char* foo1;

char & foo2;

String ^s1;

becomes (with align pointer = middle):

char * foo1;

char & foo2;

String ^ s1;

char* foo1;

char & foo2;

String ^s1;

becomes (with align pointer = name):

char *foo1;

char &foo2;

String ^s1;

Align reference

aligns references separate from pointers. Pointers are not changed by this option. If pointers and references are to be aligned the same, use the previous align pointer option. The align reference option with value none will not change the reference alignment. The other options are the same as for align pointer. This option is for C/C++, C++/CLI, and C# files.

char &foo1;

becomes (with align reference = type):

char& foo1;

char& foo2;

becomes (with align reference = middle):

char & foo2;

char& foo3;

becomes (with align reference = name):

char &foo3;

Break after logical

The option max. code length will break a line if the code exceeds # characters. The valid values are 50 thru 200. Lines without logical conditionals will break on a logical conditional (||, &&, ...), comma, parenthesis, semicolon, or space.

Some code will not be broken, such as comments, quotes, and arrays. If used with keep one line blocks or add one line brackets the blocks will NOT be broken. If used with keep one line statements the statements will be broken at a semicolon if the line goes over the maximum length. If there is no available break point within the max code length, the line will be broken at the first available break point after the max code length.

By default logical conditionals will be placed first on the new line. The option break after logical will cause the logical conditionals to be placed last on the previous line. This option has no effect without max. code length.

if (thisVariable1 == thatVariable1 || thisVariable2 == thatVariable2 || thisVariable3 == thatVariable3)

bar();

becomes:

if (thisVariable1 == thatVariable1

|| thisVariable2 == thatVariable2

|| thisVariable3 == thatVariable3)

bar();

becomes (with break after logical):

if (thisVariable1 == thatVariable1 ||

thisVariable2 == thatVariable2 ||

thisVariable3 == thatVariable3)

bar();

Break else if()

breaks 'else if' header combinations into separate lines. This option has no effect if keep one line statements is used, the 'else if' statements will remain as they are.

If this option is NOT used, 'else if' header combinations will be placed on a single line.

if (isFoo) {

bar();

}

else if (isFoo1()) {

bar1();

}

else if (isFoo2()) {

bar2;

}

becomes:

if (isFoo) {

bar();

}

else

if (isFoo1()) {

bar1();

}

else

if (isFoo2()) {

bar2();

}

Break blocks

The default option pads empty lines around header blocks (e.g. 'if', 'for', 'while', ...).

isFoo = true;

if (isFoo) {

bar();

} else {

anotherBar();

}

isBar = false;

becomes:

isFoo = true;

if (isFoo) {

bar();

} else {

anotherBar();

}

isBar = false;

The all option pads empty lines around header blocks (e.g. 'if', 'for', 'while', ...). Treat closing header blocks (e.g. 'else', 'catch') as stand-alone blocks.

isFoo = true;

if (isFoo) {

bar();

} else {

anotherBar();

}

isBar = false;

becomes:

isFoo = true;

if (isFoo) {

bar();

} else {

anotherBar();

}

isBar = false;

Close templates

closes whitespace in the angle brackets of template definitions. Closing the ending angle brackets is now allowed by the C++11 standard. Be sure your compiler supports this before making the changes.

Stack< int,List< int > > stack1;

becomes:

Stack<int,List<int>> stack1;

Empty lines

The delete option deletes empty lines within a function or method. Empty lines outside of functions or methods are NOT deleted. If used with break blocks with default or all it will delete all lines EXCEPT the lines added by the break blocks options.

void Foo()

{

foo1 = 1;

foo2 = 2;

}

becomes:

void Foo()

{

foo1 = 1;

foo2 = 2;

}

The fill option fills empty lines with the white space of the previous line.

Keep one line blocks

will not break one line blocks.

if (isFoo)

{ isFoo = false; cout << isFoo << endl; }

remains unchanged.

Keep one line statements

will not break complex statements and multiple statements residing on a single line.

if (isFoo)

{

isFoo = false; cout << isFoo << endl;

}

remains unchanged.

if (isFoo) DoBar();

remains also unchanged.

Max code length

The option max code length will break a line if the code exceeds # characters. The valid values are 50 thru 200. Lines without logical conditionals will break on a logical conditional (||, &&, ...), comma, parenthesis, semicolon, or space.

Some code will not be broken, such as comments, quotes, and arrays. If used with keep one line blocks or add one line brackets the blocks will NOT be broken. If used with keep one line statements the statements will be broken at a semicolon if the line goes over the maximum length. If there is no available break point within the max code length, the line will be broken at the first available break point after the max code length.

Tabs -> Spaces

converts tabs into spaces in the non-indentation part of the line. The number of spaces inserted will maintain the spacing of the tab. The current setting for spaces per tab is used. It may not produce the expected results if this option is used when changing spaces per tab. Tabs are not replaced in quotes.

Space padding

There are several padding options available:

oper

inserts space padding around operators. Any end of line comments will remain in the original column, if possible. Note that there is no option to unpad. Once padded, they stay padded.

if (foo==2)

a=bar((b-c)*a,d--);

becomes:

if (foo == 2)

a = bar((b - c) * a, d--);

paren

inserts space padding around parenthesis on both the outside and the inside. Any end of line comments will remain in the original column, if possible.

if (isFoo((a+2), b))

bar(a, b);

becomes:

if ( isFoo ( ( a+2 ), b ) )

bar ( a, b );

first-paren-out

inserts space padding around the first parenthesis in a series on the outside only. Any end of line comments will remain in the original column, if possible. This can be used with unpad-paren below to remove unwanted spaces. If used with pad-paren or pad-paren-out, this option will be ignored. If used with pad-paren-in, the result will be the same as pad-paren.

if (isFoo((a+2), b))

bar(a, b);

becomes:

if (isFoo ((a+2), b))

bar (a, b);

header

inserts space padding after parenthesis headers only (e.g. 'if', 'for', 'while', ...). Any end of line comments will remain in the original column, if possible. This can be used with unpad-paren to remove unwanted spaces.

if(isFoo((a+2), b))

bar(a, b);

becomes:

if (isFoo((a+2), b))

bar(a, b);

paren-in

inserts space padding around parenthesis on the inside only. Any end of line comments will remain in the original column, if possible. This can be used with unpad-paren below to remove unwanted spaces.

if (isFoo((a+2), b))

bar(a, b);

becomes:

if ( isFoo( ( a+2 ), b ) )

bar( a, b );

paren-out

inserts space padding around parenthesis on the outside only. Any end of line comments will remain in the original column, if possible. This can be used with unpad-paren below to remove unwanted spaces.

if (isFoo((a+2), b))

bar(a, b);

becomes:

if (isFoo ( (a+2), b) )

bar (a, b);


Project Tab

The Project Tab allows you to manage your projects or workspaces. This provides an easy way to manage and group associated files.

This functionality combines the grouping of files for quick access via the Files dialog and the saving/restoring of the open files state.

Project |
Open | opens an existing project file
Recent | lists recently used projects
New project | creates and opens a new project file
Close project | closes a project
Project settings | adds, removes, or opens files within the project
Add |
Add to project | presents submenu to insert files/folders/groups into active project
IntelliTips |
* Go to symbol definition | displays IntelliTips list indicating where selected symbol is defined. Double-clicking item in list opens referenced file to definition point.
* Display function tip | displays function tips defined in active file
* Reparse active file | forces IntelliTips to reparse active file
* More IntelliTips - .source -> .header | displays context menu allowing user to toggle between source and associated header file
* More IntelliTips - File list | displays file list
* More IntelliTips - Symbol list | displays available symbols for auto-completing word under caret (for example, an object member)
* More IntelliTips - Keyword list | displays all available keywords / templates for current source file
* More IntelliTips - Show functions in this file | displays functions defined in active file
* More IntelliTips - Jump to ClassViewer | toggles Workspace Manager to display Tags pane
Tags |
Find symbol | finds symbol in tag file
Generate tags | creates tag file
CTag options | sets up options for Ctags
Backup |
Backup project | copies all active files in the current project/workspace to a compressed backup file (.bup) stored in the same directory as the .prj file for the active project/workspace
Restore project | presents Restore Project Files dialog to reload a project from a copy that was previously backed up
Tools |
Tool configuration | presents dialog for user-definable tool configuration for active project
Version control |
* Git - Add current file | adds current file to active Git repository
* Git - Commit current file | records changes to current file to repository
* Git - Commit all files | records changes for all files to repository
* Git - Stash changes | stashes changes in working directory
* Git - Blame (current file) | shows what revision and author last modified each line of a file
* Git - Pull | incorporates changes from a remote repository into the current branch
* Git - Push | updates a remote repository with changes from a local repository
* Git - Show git branch | toggles visibility of Git branch manager
* Git - Show git shell | toggles visibility of Git shell
* CVS/Subversion - Active module | opens Version Control Module Manager
* CVS/Subversion - Checkout | checks out module from repository
* CVS/Subversion - Tag | creates tag (branch) in CVS tree
* CVS/Subversion - Import | imports new module into repository
* CVS/Subversion - Export | checks out module excluding CVS information
* CVS/Subversion - Accounts/settings | launches CVS Manager dialog
* Update | commits working copy from repository without displaying any prompts or options
* Commit | commits working copy to repository without displaying any prompts or options
Advanced |
* Project manager | launches Project Manager dialog from which users may open, create, backup, restore or batch build projects
* Solution - New | presents dialog for creation of a new solution (.prw)
* Solution - Open | presents dialog for selection of an existing solution to be opened
* Solution - Close | closes the currently active solution
* Add projects | presents a dialog to allow users to browse to a project and add it to the active solution
* Remove projects | removes the current project from the active solution

* Please note: These features are only supported in UEStudio, and not in UltraEdit.


Open Project/Workspace command

Open command (Project tab)

The Open Project command allows you to open an existing project that must previously have been created with the New Project/Workspace command . When a new project is opened, the current project (if opened) will be closed. The option will be given to close files that are currently open.

When the project is opened, any files that were previously open when the project was last closed will be opened automatically.


New Project/Workspace command

New project command (Project tab/New project dropdown)

The new project command allows you to create a new project/project file.

A project allows you to manage your projects or workspaces. This provides an easy way to manage and group associated files.

In many instances a group of files may be related and while editing a particular file there may be reason to edit or view other associated files. These files can be grouped as a project/workspace.

Grouping these files into a project allows you to easily access and/or open all the associated files when needed without having to search for them.

The project support provides combined project and workspace functionality. In many cases it may be convenient to use the automatic workspace support as described below:

Workspace

The workspace functionality saves the state of all open files in the project file when the project is closed including window position, cursor position and which files are open.

When a project is opened all the files that were previously opened when the project was closed are opened automatically. The files do not have to be specifically added to the project via the Files dialog .

Project

The project functionality allows files to be associated together even if they are not currently open in the editor. Files may be added to the project or removed from the project via the Files dialog . The files within the project can easily be opened via the Files dialog .


Close Project/Workspace command

Close project command (Project tab)

The Close Project command closes the currently opened project. The state of all files will be saved in the project file allowing them to be opened automatically when the project is next opened . The option will be given to close files that are currently open.


Project Settings command

Project settings command (Project tab)

The Project Settings command presents the Project Settings dialog . This dialog is used to configure the settings for the active project. Files/folders may also be added to or removed from the active project using the context menu options in the File Tree View .

Where possible, the path to files in a project will be relative to the location of the project file. In some instances, if the relative path cannot be resolved, the path would be the FULL path.

In some cases it is advantageous to group multiple sets of files together within a single project. UltraEdit provides for grouping of these files in named groups. These groups may be added or deleted as needed and files may be added to each group.

The dialog shows a list of files that are part of the project. The following controls are used to manage the list:

Open

The Open button opens the selected files from the list and closes the dialog. Multiple files may be selected from the list and opened at once. Any changes to the list are saved. DOUBLE CLICK of any files in the file list will perform the open command.

Close

The Close button closes the dialog. Any changes to the list are saved.

Update

This updates the project information (committing the changes) and refreshes the project list.

New Group

The New Group button presents a dialog box to the user allowing the user to specify the name of the group about to be added. Nested groups are permitted.

Up to 2000 files may be added to a project.


Add To Project command

Add to project command (Project tab)

This command presents a submenu from which the user may select items to add to the active project. Please note: In UltraEdit this submenu only includes the New Folder and Files options described below.

The Add to project dropdown contains the following items:

New Folder | presents New Folder dialog to allow the user to select a folder from currently mapped drives to add to a project or (if the Group item is selected) specify a new Group for placekeeping purposes in the active project
Files | presents File Open dialog to allow the user to select a file from currently mapped drives to add to the active project
Dynamic Link Library | presents dialog to allow the user to select a DLL to from currently mapped drives to add to the active project


Find Symbol

Find symbol (Project tab/Ctags dropdown)

This command searches the tag file for the active symbol and if only one match is found the file will be opened in UltraEdit and the file positioned to the symbol. If multiple matches occur, a dialog box will be shown giving the user the option to position to the appropriate tag.


Ctags support

UltraEdit supports Ctags as part of a project. In order to use Ctags, you would need to:

1. Create a new project.

2. Add the required files/folders to the project.

3. Generate the Ctags file from the Project tab.

4. Open "file.c" and position the caret on top of a symbol you would like parsed and press F11.

UltraEdit will then jump to the line in "header.h" where the symbol is defined.

What is Ctags?

Ctags generates a tag file (or index) file of C/C++ objects and functions found in C/C++ header and source files that allows these items to be referenced quickly within UltraEdit.

Ctags EXE

UltraEdit relies on an external tag file generator. There are many versions of Ctags and we recommend "Exuberant Ctags" available from http://ctags.sourceforge.net/ .

UltraEdit can make use of an existing tag file, or if an EXE for creating Ctags is available it can also create the tag file. Using ctags.exe from Exuberant Ctags and placing this in the GNU subdirectory under the directory containing UltraEdit will by default allow UltraEdit to create the tag file. A ctags.exe is installed with UltraEdit by default.

Ctags configuration within UltraEdit

The Ctag options command in the Ctags dropdown under the Project tab allows the user to change the Ctags option and to create the tag file. The Ctags option dialog allows for the following three items to be defined:

Default tag file – This specifies the tag file to be used if there is not a specific project tag file active (defined in the project settings). This must be present if there is not a project specific tag file for UltraEdit to lookup symbols.

CTAG EXE path/name – This specifies the full path and name of the ctags.exe that will be run to create the tag file from within UltraEdit. If this is not present UltraEdit can still reference a tag file for symbols but it can not create one. The default setting for this is "ctags.exe" in the GNU subdirectory under the directory containing UltraEdit.

CTAG parameters – This specifies the parameters to be passed to the ctags.exe for it to function correctly. The default settings are set up for "Exuberant Ctags" as described above.

%fi on the parameter line is replaced when the ctags.exe is run with the filename/path of a file that contains a list of files that the ctags.exe will use to create its tags from. If a project is loaded in UltraEdit, UltraEdit creates a temporary file with a list of the project files and passes this in place of %fi.

%fo on the parameter line is replaced with the full filename/path of the tag file to be created. This would be the tag file specified in the project, or the default tag file defined above.

Creating the tag file

The tag file can be created using the Generate tags command in the Ctags dropdown under the Project tab, or when a project is opened the tag file can be created automatically if the project settings specify this.

Finding a symbol/tag

The whole purpose of Ctags is to be able to quickly find a function or object that is defined elsewhere in the file or another file. Assuming the tag file exists, selecting Find symbol from the Ctags dropdown under the Project tab will search the tag file for the symbol and if only one match is found the file will be opened in UltraEdit and the file positioned to the symbol. If multiple matches occur, a dialog box will be shown giving the user the option to position to the appropriate tag.


Backup Project/Workspace command

Backup project command (Project tab)

This command copies all files in the current project/workspace to a compressed backup file (with a ".bup" extension) stored in the same directory as the .prj file for the active project/workspace and presents the Backup Project Files dialog to display information regarding the created project backup file.

Having a backup copy of a project/workspace allows users to develop with the security of knowing that if something doesn't work as planned a working project/workspace can be restored using the Restore Project/Workspace command .


Restore Project/Workspace command

Restore project command (Project tab)

This command presents the Restore Project Files dialog to reload a project from a copy that was previously backed up using the Backup Project/Workspace command .

The Restore Project Files dialog lists all the files stored in project/workspace from the previous backup.

It is not necessary to restore all items from a compressed backup file if this is not desired. Pressing the "-" button will cause all items in the current listing to be deselected. Pressing the "+" button will cause all items listed in the dialog to be selected. Individual files may be selected/deselected by clicking on them with the mouse.

The text field to the right of the "+" button is a filter text field where file extensions may be entered. If an extension is specified (e.g. cgi) and the "+" button is pressed, all files with that extension will be selected. If an extension is specified (e.g. cgi) and the "-" button is pressed, all files with that extension will be deselected.

Once the desired items in the project are selected pressing the Restore button will reload them from the compressed backup file.


Git Branch Manager

Git Branch Manager (Project tab/Git dropdown)

The Git branching model is a staple of the system and unique to Git alone. UEStudio includes full support for managing Git project branches via the Branch Manager dialog. This dialog can be accessed 2 different ways:

1. Via the ribbon: Project tab -> Git dropdown -> Show git branch

2. Via the Project pane’s repository folder context menu: Git -> Branch manager…

If no project is opened, or if a project is opened but it does not contain any Git repositories, the buttons in the Branch Manager will be disabled and a message at the top of the dialog will indicate this.

The Git Branch Manager dialog includes the following options:

Control: | Function:
Repository | The repository is a (non-editable) field indicating the full folder path to the active Git repository. If the current project includes more than one Git repository, a dropdown containing all repositories in the project will be displayed. Users may switch to and activate a different repository by selecting it in this dropdown.
Current branch | shows the HEAD branch name and the description of the last commit
Status... | presents the dockable Git Shell and populates it with current status of repository
Commit changes | stages and commits all changes to the repository
Push... | Only available if the active repository is linked to a remote branch, this will push the local version of the repository to its remote location
Pull... | Only available if the active repository is linked to a remote branch, this will pull the remote version of the repository into the local repository
Other branches | lists all available branches in the repository, including remote references. From here, users may select a branch to checkout, delete, merge, etc.
Branch filter | allows users to begin typing the name of a branch to filter the “Other branches” list to just those that match
Refresh | refreshes the list of available branches
Add | adds a new branch or remote reference
Checkout | checks out the selected branch in the “Other branches” list - disabled if nothing is selected
Delete | deletes the selected branch in the “Other branches” list - disabled if nothing is selected

Branch list/Checkout

The full list of branches in your repository is shown in the “Other branches” table in the Branch Manager dialog. Remote branches (references / tracking branches) are indicated by the subdued text (medium gray in the screenshot above) in the listing. Branches that have been merged into your active branch are indicated by a checkmark next to the branch name. Users may switch branches (checkout) by selecting the branch they wish to switch to and clicking Checkout at the bottom-right of the list. Users may also double-click a branch in the listing to checkout / switch to that branch. If the branch is a remote branch, UEStudio will notify the user that a local branch and tracking branch must be created in order to check out the remote branch. When the checkout is complete, UEStudio will prompt the user regarding the new current branch, and the Branch Manager dialog will be updated to reflect this. The new current branch will also be reflected in the Project pane directly beneath the main repository folder.

Stashing

If a user tries to switch branches but still has uncommitted changes in the current branch, UEStudio will warn the user of this and ask if they would like to stash the changes before checking out the other branch. Stashing will leave the modified files of the current branch in a “modified/staged” state (indicated with an orange icon overlay). If the user chooses not to stash the changes, UEStudio will abort the checkout altogether. UEStudio will notify the user that the stash was successful. Users may can later reapply a stash by checking out the branch in which changes were stashed, right-clicking on the repository folder in the Project pane, and selecting Git -> Reapply stash.

Creating a new branch

Users may create a new branch, based on the active branch, by clicking the Add icon. This offers two options: New branch or New remote reference. If New branch is selected, a dialog will be shown where the user will enter the new branch's name and then click OK to create and switch to the new branch New remote reference may be selected to pull in branches from other users’ repositories. In the resulting dialog, users will enter the remote reference name (for example, “github”), and the remote URL (for example, “https://github.com/user/repo.git”). UEStudio then issues the commands to create the new remote reference, and the new branches will be populated in the branch list.

Users may check out a remote branch if it has been pulled into the active repository, but must keep in mind that Git will maintain both a “tracking” branch and a corresponding working branch. When the user first attempts to checkout a remote branch, UEStudio will ask them to set up a local tracking branch for that purpose. Once this is confirmed, UEStudio will automatically switch to the new tracking branch.

Deleting branches

Users may delete a branch by selecting it in the list and clicking the Delete icon. UEStudio will confirm the deletion and prompt for credentials if authorization is required. The Delete button is disabled until a branch is selected in the branch list (deleting the active branch is not supported). It is possible to select multiple branches in the branch list via Ctrl + Click and delete them all at once. If the branch chosen for deletion contains commits that have not yet been merged into another branch (meaning, commits could be lost), UEStudio will display a warning to alert the user of this. The warning must be confirmed if the user wishes to continue to delete the branch.

Users may delete a remote branch by selecting it in the list and clicking the Delete icon. UEStudio will confirm the deletion first and prompt for credentials if authorization is required.

Merging branches

The Git merging model is designed so that users must first check out the branch they want to merge into then run merge command on the branch they want to merge from. UEStudio handles all merge operations within the Branch Manager. The active branch is shown in the box on the right. Users may click and drag the branch they want to merge onto the active branch from the branches list to the empty box on the left. When the user drops the branch onto the box, UEStudio will populate the box with the branch name and turn its border green to indicate that a valid branch has been selected. The user may then click the green Play button to run the Git merge. UEStudio will confirm the merge. UEStudio will run the merge in the background with output shown in the output window, and the merged branch will be updated with a checkmark in the branch list to indicate it is now included in the active branch.


Git Shell

Git Shell (Project tab/Git dropdown)

The Git Shell window is a dockable status window where users may update and review the status of the current repository. The information in this window shows the raw output from a standard “git status” command. The Git Shell window may be opened by any of the following methods:

1. By going to View -> Views/Lists -> Git and selecting Git Shell

2. By clicking on the Status... button in the Git Branch Manager (will refresh Git status if already open)

3. By selecting Status... from the repository context menu in the Project pane (will refresh Git status if already open)

UEStudio automatically refreshes the Git Shell window after issuing any Git command and after detecting any modifications to the repository.

The Git Shell context menu includes the following options:

Refresh Status | updates the display of the status of the active repository
Clear Output | clears currently displayed output
Copy to Clipboard | copies all visible output to clipboard
Copy Selected Line to Clipboard | copies selected line to clipboard
Set Output Font | presents dialog where user may set font for Git Shell

At the bottom of the Git Shell is a command line where users may run custom/flagged commands not directly supported by UEStudio. Commands should be issued as they normally would be on the UNIX command line. All output from the commands is returned in the Git Shell. UEStudio will automatically detect and reflect any changes to your repository/branch that result from any commands issued in the shell with the symbols below:

indicates the file/folder is updated and has been committed

indicates the file/folder has a conflict

indicates the file/folder has not been added to the active repository
indicates the file/folder has been modified

indicates the file/folder is being ignored

indicates the file/folder has been added, but not committed to the active repository


Checkout command

Checkout command (Project tab/ CVS/Subversion dropdown)

This command launches the CVS Checkout dialog. Users may create/modify a CVS account and checkout options through the CVS Checkout dialog.

The desired account may be selected from the Account dropdown. If a CVS account doesn't already exist, pressing the Modify button will launch the CVS Manager dialog where users may add/remove an account.

The Module dropdown lists the top level directories in the CVS repository. Pressing the Update button will update the list of modules in the CVS repository if this feature is supported by the CVS server. Modules will be created as subdirectories of the Local root path.

The Local root path field may be used to specify the path to the local directory where documents checked out through CVS should be written. The "..." button may be used to browse to the desired directory if this is preferred.

Checkout Options

If Use module name for checkout folder is selected, then the module name will be the name of the folder under which the files being checked out will be written in the local copy directory defined in the Local root path field. If this is not selected the Folder field will be active and the name to be used should be defined here.

If Checkout default HEAD branch is selected the most current revision of the specified module will be used as the beginning point for opening the desired files. If this is not selected the Branch/Tag field will be active and the branch desired for opening should be specified here.

Add Files To

These settings relate strictly to UEStudio projects and are not directly related to CVS. If New project is selected then files checked out through this dialog will be added to a new project. When the Checkout button is pressed the Project Settings dialog will be launched and the new project parameters may be defined. If Current project is selected the specified files would be added to the active project.

Pressing the Checkout button will retrieve the files under the specified branch. When the specified files are retrieved, each directory should contain a CVS subdirectory in which the CVS information related to the files in the active directory will be stored. This will include a list of files, versions and tags in the active directory.

* Please note: This feature is only supported in UEStudio, and not in UltraEdit.


Import command

Import command (Project tab/ CVS/Subversion dropdown)

The Import command in the CVS submenu presents the CVS Import dialog. This may be used to specify the parameters to be used to import items to CVS.

The desired account may be selected from the Account dropdown. If a CVS account doesn't already exist, pressing the Modify button will launch the CVS Manager dialog where users may add/remove an account.

All files and directories below the path specified in the Folder to Import into CVS field will be added to the CVS repository under the name specified in the Module Name field.

The Vendor Tag is the initial branch tag used to identify the module upon import.

The Release Tag allows for a unique identification of the files from this import into the CVS repository and for any subsequent imports.

The only difference between the CVS Import dialog and the Subversion Import dialog is that the Subversion dialog does not include the Vendor Tag and Release Tag items.

* Please note: This feature is only supported in UEStudio, and not in UltraEdit.


Export command

Export command (Project tab/ CVS/Subversion dropdown)

This command launches the CVS Export dialog. Users may create/modify a CVS account and export options through the CVS Export dialog.

The desired account may be selected from the Account dropdown. If a CVS account doesn't already exist, pressing the Modify button will launch the CVS Manager dialog where users may add/remove an account.

The Module dropdown lists the top level directories in the CVS repository. Pressing the Update button will update the list of modules in the CVS repository.

The Local Root Path field may be used to specify the path to the local directory where documents checked out through CVS should be written. The "..." button may be used to browse to the desired directory if this is preferred.

Export Options

If Use module name for export folder is selected, then the module name will be the name of the folder under which the files being checked out will be written in the local copy directory defined in the Local Root Path field. If this is not selected the Folder field will be active and the name to be used should be defined here.

If Export default HEAD branch is selected, the top level folder of the specified module will be used as the beginning point for opening the desired files. If this is not selected the Branch field will be active and the branch desired for opening should be specified here.

Add Files To

These settings relate strictly to UEStudio projects and are not directly related to CVS. If New Project is selected then files checked out through this dialog will be opened under a new Project. When the Export button is pressed the Project Settings dialog will be launched and the new project parameters may be defined. If Current Project is selected the specified files would be opened under the active project.

Pressing the Export button will open the files under the specified branch as specified.

Please note: The only difference between Checkout and Export is that an export opens the specified files without any CVS information. If files are exported the CVS subdirectory with the file names, versions, and tags will not be created in the exported directories. Exported files cannot be updated, committed, or otherwise returned to the CVS repository.

* Please note: This feature is only supported in UEStudio, and not in UltraEdit.


Accounts/Settings command

Accounts/Settings command (Project tab/ CVS/Subversion drodown)

The Version Control Account Manager dialog may be used to create accounts for checking out files from the CVS/Subversion Server and to specify the settings to be used with these accounts.

If the Add Account button is pressed a new account will be created with settings as follows:

Setting Items | Usage
Account | name to be used for account
Protocol | may be either pserver or ext. pserver is the standard CVS communications mechanism using username/password login and is a non-secure, plain text method with no encryption. ext launches an external SSH (secure shell) application where username and authorization code are specified. This is encrypted and will require the password to be entered with each invocation.
Server | IP address or fully qualified domain name
Port | normally blank
Repository | path to the CVS repository on the CVS server
Username | username for login to account, required for both pserver and ext login
Password | password - required for each usage of ext account (stored for pserver accounts)

If an account is selected in the CVS Accounts list and the Set Default Account button is pressed, the specified account will be set as the default CVS account.

If VCS Settings is selected the VCS Settings pane is displayed. By default the Use Default Applications option will be selected. If this is not selected users must specify/browse to the desired executable for the Log Editor and Compare application.

The Default Checkout Root Path is the default path for CVS Checkout or Export. This can be overridden in the individual CVS command dialogs.

* Please note: This feature is only supported in UEStudio, and not in UltraEdit.


Update command

Update command (Project tab/Update dropown)

The Update command in the Project tab will only be active if a CVS Project is loaded. (A project is considered a CVS Project if the CVS Support option is selected and a valid CVS module is specified in the Project Settings dialog .) If a CVS Project is loaded and this option is selected the Update will be executed without any prompts or options as this will use the options specified for the CVS Project.

When the Update option is selected in the Project tab the CVS Update dialog will be presented. This may be used to specify the parameters used to update the specified module or file in CVS.

The desired account may be selected from the Account dropdown. If a CVS account doesn't already exist, pressing the Modify button will launch the CVS Manager dialog where users may add/remove an account.

The Module/File field may be used to specify the module or file that will be updated from CVS. You may browse to select an existing module or file by pressing the "..." button.

The Update using most recent revision option is checked by default and specifies that the most recent revision will be retrieved from CVS. If this isn't selected then the Revision Options section below becomes active.

Revision Options

Retrieve revision by date retrieves the most recent revision no later than the date specified in the Merge To field.

Retrieve revision by revision/tag retrieves the revision/tag/branch specified in the Merge To field. This option will remain active for the specified file/module until overridden or reset using Reset sticky options.

Merge revisions enables merging a single revision into the current working directory or merging two separate revisions into the current working directory. If Merge from default ancestor is checked, the revision specified in the Merge To field is merged with the current working directory. If it is unchecked the revision specified in the Merge From field is merged with the revision specified in the Merge To field.

Update Options

Overwrite local overwrites any locally modified files with the most current CVS revision and creates a backup of the modified file prefixed with .#.

Reset sticky options removes any tag, revision, or date information from the CVS information maintained in the working copy.

Prune empty folders removes directories in the working copy that are empty in the CVS repository.

Create missing retrieves any files or directories that are missing from the working copy.

* Please note: This feature is only supported in UEStudio, and not in UltraEdit.


Commit command

Commit command (Project tab)

The Commit command in the Project tab will only be active if a CVS Project is loaded. (A project is considered a CVS Project if the CVS Support option is selected and a valid CVS module is specified in the Project Settings dialog .) If a CVS Project is loaded and this option is selected the Commit will be executed without any prompts or options as this will use the options specified for the CVS Project.

When the Commit option is selected the CVS Commit dialog will be presented. This may be used to specify the parameters used to commit a module or file to CVS.

The desired account may be selected from the Account dropdown. If a CVS account doesn't already exist, pressing the Modify button will launch the CVS Manager dialog where users may add/remove an account.

The Module/File field may be used to specify the module or file that will be committed to CVS. You may browse to select an existing module or file by pressing the "..." button.

By default the Commit to HEAD option is selected which will commit the specified module/file to the most current branch of the CVS repository.

The Force new revision option increments the revision of the specified module or file even if no changes are detected.

The Force recursion option only becomes active if Force new revision is enabled and checking this will recursively increment the revision level of all modules and files below the specified module.

For Subversion accounts, the only option available is the Non-recursive option. If this option is selected, the Commit command will not recurse into directories (i.e. if a directory is selected to be committed, none of its subdirectories would be committed).

* Please note: This feature is only supported in UEStudio, and not in UltraEdit.


Project Manager command

Project manager command (Project tab)

Selecting this option in the Project tab launches the Project Manager dialog.

Project List

The main part of the Project Manager dialog is the Projects list [1]. This list includes the Project Name, Compiler, Working Time, and Project Path. The Project Manager is intended to be used to help manage all projects currently in progress. The functions related to Project management are divided into three categories: Project [2] - related to opening, creating, backing up, and restoring project files, Projects List [3] - related to adding projects to or removing them from the Projects List, and Batch Builder [4] - related to opening/creating lists for batch building.

Project Functions

Projects may be opened from the Project Manager by double-clicking on a project name or by selecting a project name and pressing the Open button. This will open the selected project in UEStudio.

If the Create button is pressed, a context menu is presented from which the user may select Empty or Using Templates.

If Empty is selected a dialog for creating a new, empty dialog is presented.

Here the Project Name [1] and Location [2] may be specified. If Create project directory [3] is NOT selected then the specified project will be created in the specified directory. If Create project directory IS selected then a directory with the name of the project will be created on the specified path. For example, if the project name "App1" were specified the path to the project file would be "C:\Development\Working Group1\App1\App1.prj".

If the Using Templates option is selected, a dialog allowing the specification of the new project and the template to be used to create it is presented.

Project Templates

Depending on the type of compiler selected you may use one of the offered templates . Select the desired Compiler [1], next select the type of Template you want to use to create a project with [2] and type the name of this project in the Project Name field [3]. Don't forget to set the Location [4] of the project by typing it or press the Browse button and select it. It is recommended you set a location when you run project templates the first time and then use the same one always. This location is the "parent" directory of your projects, because UEStudio creates its own directory for a project with the same name as the project. Most of the templates automatically create a project and open in UEStudio but some templates will need some options set before a project will be created. One template is included for all compilers - User Defined Template.

Backup/Restore Functions

If the Backup button is pressed the files in the active project will immediately be backed up. If the Location text field is empty, backups are created with the same name as the active project. If a path is specified, the Project Manager will generate names with a date stamp and if Restore is pressed, the user may select the version of the backup desired to restore the selected project. Remove Backup may be pressed to select backups that should be removed. Backups for the active project will be listed in a context menu from which the user may select the backup to remove.

Projects List Functions

If projects have already been created, the Add button may be used to add a single project to the Projects List. The Find button may be used to add all projects found in the specified directory. To remove projects from the Projects List, the Remove button may be used. If a single project is selected when the Remove button is pressed, the Project Manager will open the project directory in Windows Explorer to allow the user to more easily remove project files from the disk if desired. If more than one project is selected, Project Manager will remove these projects only from the Projects List. Pressing the Delete button will delete the entire active Projects List.

Batch Builder Functions

Pressing the Create button in the Batch Builder section with a project selected in the Projects List will quickly create a Batch Builder list. Pressing the Open button will open the Batch Builder dialog .

* Please note: These features are only supported in UEStudio, and not in UltraEdit.


New Solution command

New command (Project tab/Solution dropdown)

This command opens a Save As dialog where the user may define a new Solution file (.prw) in which multiple project files (.prj) may be associated.

* Please note: This feature is only supported in UEStudio, and not in UltraEdit.


Open Solution command

Open command (Project tab/Solution dropdown)

This command presents an Open dialog where the user may select a Solution file (.prw) to be opened.

* Please note: This feature is only supported in UEStudio, and not in UltraEdit.


Close Solution command

Close command (Project tab/Solution dropdown)

This command closes the active solution.

* Please note: This feature is only supported in UEStudio, and not in UltraEdit.


Add Project command

Add projects command (Project tab/Advanced group)

This command presents an Open dialog where the user may select a project file (.prj) to be opened in the active solution.

If a project is opened in a solution, this project is set in the solution (INI based) file as active, so that the next time the solution is opened, this project is opened also.

* Please note: This feature is only supported in UEStudio, and not in UltraEdit.


Remove Project command

Remove projects command (Project tab/Solution dropdown)

This command presents the Projects in Solution dialog.

Selected projects (.prj) are removed from the active Solution (.prw) when the Remove Projects button is pressed in this dialog.

* Please note: This feature is only supported in UEStudio, and not in UltraEdit.


Build Tab

Please note: This tab and the options described below are only available in UEStudio and the following information doesn't apply to UltraEdit.

The Build tab contains commands which may be used to compile or run the files in the active project or workspace. Before most options in the Build tab will be available for use, you must set the Project as compilable under the Project Files/Settings dialog in the Project tab and select a compiler to be used for your project.

The Build tab includes the following commands:

Compiler |
Options - Select compiler | presents Select Compiler dialog
Options - Set compiler options | presents Compiler Options dialog
Options - Set compiler paths | presents Compiler Paths dialog
Regenerate makefile | recreates control file for compile process based on current configuration options
Build |
Build mode | dropdown allows users to determine whether build mode should be "Release" or "Debug"
Compile | runs the selected compiler on the active file
Build - Build | builds all files in active workspace based on the active target and dependencies
Build - Batch build | builds list of files ( EXEs, DLLs) based on target and dependencies
Options | presents Advanced Build Options dialog
Stop build | stops active build process
Rebuild all | rebuilds all files for the active target without reference to dependencies
Clean | removes intermediate files and target executables
Debugger |
Debug (start) | starts selected debugger on active file
Run |
Run application | runs selected target executable
Run commands | presents submenu to run or debug selected target or to show makefile
Resource |
Resource editor | allows users to edit resources for the active project


Select Compiler command

Select compiler command (Build tab/Set Compiler Options dropdown)

This command presents the Select Compiler dialog which may be used to select the compiler to be used with the active project.


Set Compiler Options command

Set compiler options command (Build tab/Set Compiler Options dropdown)

This command presents the Compiler Options dialog which may be used to configure options to be used with the compiler selected to be used with the active project.


Set Compiler Paths command

Set compiler paths command (Build tab/Set Compiler Options dropdown)

This command presents the Set Compiler Paths dialog. This may be used to specify the path for many different compilers.

The path to the desired compiler may be directly entered in the text field to the right of the compiler name or users may press the "..." button to browse to the desired compiler executable.


Compile command

Compile command (Build tab)

This command saves the active document if needed and then compiles it. If a compiler is not selected or the compiler options are not set for the project the Select Compiler dialog is displayed, then the Project Settings dialog is displayed and then the Compile process is started.


Build command

Build command (Build tab/Build dropdown)

This command saves all modified documents and builds the project target(s). If a compiler is not selected or the compiler options are not set for the project the Select Compiler dialog is displayed, then the Project Settings dialog is displayed and then the Build process is started.


Batch Build command

Batch build command (Build tab/Build dropdown)

This command builds a list of executables (EXEs, DLLs) based on target(s) and dependencies.


Advanced Build Options command

Options command (Build tab)

This command presents the Advanced Build Options dialog. These options allow the user to have greater control over the Build process.

The Advanced Build Options dialog has the following options:

Option | Usage
Grab standard output from tools | Most compilers write only information here, but it is recommended to leave this checked. If unchecked, none of the messages assigned to STDOUT from compilers and build tools will be displayed.
Grab standard error from tools | Same as above, but for STDERR. Compilers write WARNINGS and ERRORS here.
Show build commands when executing | By default this option is not checked. If you want to show which commands are used when you click BUILD, REBUILD, etc., this item should be selected.
Create build LOG files | If this option is selected, HTML files with commands will be created when COMPILE, BUILD, REBUILD, and other commands are executed.
Run tools in HIDE mode | By default all compilers and other build tools are executed in HIDE mode and their output is grabbed. If this option is not selected this would not be the case.
Auto show output window | If you wish to see the output from STDOUT or STDERR when build commands are executed, this option should be checked.
Auto scroll output window | By default when UEStudio writes to the output window, it always sets the active line position to the line that is written, but in some configurations this may slowdown the build process.
Easy capture method (for old DOS compilers) | This option enables an alternate method to capture output from the compiler. Please check this ONLY if your compiler or tool "hangs up" when UEStudio runs it.
Stop build after # error module(s) | When the compiler writes error/warning messages to the output window, UEStudio monitors these messages. If the number of errors exceeds the specified threshold, the build process will be stopped after completion of the current compilation where the threshold is exceeded.
Priority | When building a large project, but the build process slowing down other processes is not acceptable, the Priority should be set to IDLE. Higher priorities may be selected as desired.
Include files scan depth (nest level) | When source files are compiled, UEStudio scans for included files to check dependencies. This value specifies how many levels the search should recurse when searching for these. Please note that a higher level will require a longer time for the scan.


Rebuild All command

Rebuild all command (Build tab)

This command removes all files created by the compiler and then builds the project.


Clean command

Clean command (Build tab)

This command removes intermediate files and target executables for the active project.


Start Debugger command

Debug (start) command (Build tab)

This command starts selected debugger on the active file. If debugger is not set, a dialog will be displayed where the debugger for the active project may be selected.

In most cases, where the use of a debugger is appropriate, this will be specified as most compilers come packaged with an associated debugger and the Debugger key in the Compiler Options (under Linker Options) will show this (for example for Visual Studio, the debugger is set to "msdev").

Double clicking on the Debugger key presents a dialog where the user may specify a different debugger to be used if desired.

The user may click on the Go button in the Debug tab or toolbar to invoke the debugger.

UEStudio will check to see if a debugger is set. If this isn't set in the compiler options, UEStudio will display a browse dialog so a debugger may be selected. If a debugger is set, UEStudio will prompt if this debugger should be set as the default for future projects. If "Yes" is selected, the selected debugger will be saved in the compiler configuration file so that when a new project is selected this will be remembered and is not limited to the active project.

If the Edit Configuration button is pressed in the Select Compiler dialog the compiler configuration file will be displayed here and advanced users who are very familiar with their compiler/debugger functionality may edit this file directly if desired.

For example, users may set dependencies, and decide if they want to run the debugger as a console debugger (gdb) or windowed debugger (WinDbg).

In the configuration file, users may select the Debug key and modify the [Start Debugger] section. For example, if the default is set to a windowed debugger and you wish to use a console debugger you would have to change/add the key "DisplayConsole=1" in that section.

If the Make Configuration Local button is pressed in the Select Compiler dialog the compiler configuration file will be saved into the project directory and changes made after pressing this will be saved locally with the project.


Run Application command

Run application command (Build tab)

This command runs the application created with the selected compiler or invokes the build process first if the application does not yet exist.


Run Commands command

Run commands command (Build tab)

This command presents a popup menu with a variable number of items depending on the compiler configuration that is used and which commands are set for this compiler's configuration .


Resource Editor

Resource editor command (Build tab)

UEStudio features a Resource browser and editor. Add, Remove, Browse resources as desired. Edit dialogs, string tables, menus and more. You can even configure UEStudio to edit bitmaps and icons via user-installed graphic editors. If the Res tab is selected at the bottom of the Workspace Manager

the source for the associated dialog may be opened in UEStudio by double-clicking on the dialog icon or ID in the Workspace Manager.

With the source for the dialog to be edited visible in the edit window, two options are available for modifying the dialog.

1. The source for the dialog may be modified directly and saved changes will be written back to the project resources.

2. The Resource editor command in the Build tab may be clicked to present the dialog in preview mode.

Individual controls may be clicked on and dragged to new positions within the dialog. New controls may be added and existing controls may be removed:

Right clicking on the preview dialog will present the Resource Editor context menu:

This provides a more visual method of designing dialogs and once the desired result is achieved changes to the dialog may be saved by selecting Save and Quit from the context menu.

A broad range of choices is available for adding new controls to the dialog being previewed:


Layout Tab

The Layout Tab includes the following commands:

Look and feel |
Manage Layouts | presents Layout Manager dialog where user may specify active layout (menus/toolbars/dockable windows)
Manage Themes | presents Manage Themes dialog where users may configure colors for the application
File tabs | shows or hides the open file tabs
Status bar | shows or hides the status bar
Bookmark gutter | shows or hides the bookmark gutter
Views |
File view | shows or hides the file tree view
Function list | shows or hides the function list
Output window | shows or hides the output window
JSON manager | shows or hides the JSON manager used for navigating nodes in JSON files
XML manager | shows or hides the XML Manager used for navigating nodes in XML files
Template list | shows or hides the template list
Macro list | shows or hides listing of all currently loaded macros
Script list | shows or hides listing of all currently specified scripts
Bookmarks | shows or hides the Bookmark Viewer
Tag List | shows or hides the tag list
ASCII table | shows or hides the dockable ASCII table
Clipboard history | shows or hides the clipboard history list
Other windows - Find string list | shows or hides the Find String List
Gather windows | forces undocked child windows to be displayed on the same monitor as the application


Layout Selector

Manage Layouts (Layout tab/Layout dropdown)

This command presents the Layout Manager dialog where the user specifies the active editing layout.

The Layout Selector dialog allows users to choose between predefined editing layouts. A layout includes ribbon commands, customized menus, toolbars and dockable windows as well as customized templates for selected layouts. This provides a great time-saver as users may switch between different display options for all of these items at once rather than configuring each of these individually.

When the Layout Selector is first displayed, the active layout will be selected in the left pane with a description of the layout.

Switching Layouts

The active layout may be changed by selecting a new layout from the list and pressing the OK button. When this is done the user will be prompted to confirm he wishes to change layouts.

If Continue is selected, the active layout will be changed to the one selected in the Layout Selector dialog. If Stop is pressed, no change will occur.

Customizing Layouts

Default layouts may be customized if desired. When a layout is active, a user can customize layout items individually. Dockable windows may be opened and positioned as desired to meet the user's needs.

Once the active layout is customized, the Layout Manager dialog should be invoked by selecting Manage Layouts from the Layout dropdown in the View tab or by pressing ALT+F8. The user may then edit the name of the active layout in the text box at the top of the selection list and press the Save Current State As button to save the customized version of the active layout.

Any defined layout may be deleted by selecting it in the selection list and pressing the Delete Selected Layout button.

If the Reset Built-In Layouts button is pressed, all built-in layouts will be restored to their default state. Please note: Any customer layouts that have been created in addition to the default layouts will be preserved in their current state.

Exporting/Importing Layouts

If a user wishes to export a layout they have created to share with a friend or co-worker, this may be done by pressing the Export/Import Layout button. This will present a popup menu where the user may choose one of two options: Export Selected Layout or Import Layout.

If the user selects the Export Selected Layout button, the Browse for Folder dialog is presented and the user can select the folder to export the layout file to or create a new folder to export to. The selected layout will be created as a file with the name of the selected layout and the extension "uee". For example, the Power User layout would be exported as "Power User.uee".

If the Import Layout button is pressed, the Open dialog will be displayed so the user may navigate to the *.uee file that should be imported for the desired layout. The settings in the imported file will be automatically parsed and the layout will then be available for selection in the Layout Selector dialog.


Manage Themes dialog

Manage Themes (Layout tab/Themes dropdown)

The Manage Themes dialog may be used to modify themes, create new themes, delete themes, and import/export (open and save) themes. The Manage Themes dialog has three major sections: Application, Editor, and Syntax. The top row of controls are present when any of the three tabs are selected.

The Theme dropdown allows users to select themes which have already been specified. By default, themes are stored in the %APPDATA%\IDMComp\UltraEdit\themes folder and have a .uetheme extension. The four buttons in the top row of controls support the following features:

The Add theme button presents a submenu with two options: Add new theme and Add existing theme.

The Delete theme button removes the selected theme from the system
The Export theme button opens a file browser dialog where the user may save the theme selected in the Theme dropdown
The Revert theme to defaults button resets the selected theme to its defaults (erasing any user modifications/overrides)

Add new/existing theme

If Add new theme is selected from the Add theme submenu, this presents a New Theme dialog where users may specify the name of the new theme as well as an existing theme whose settings will be used as a basis for the new theme to be defined. By default, the currently active theme will be automatically selected. When the users clicks OK, the new theme will be created and will be made active in the Theme dropdown and the user may begin modifying the associated settings.

If Add existing theme is selected, this will open a file browser dialog where the user may select an existing theme file. The selected theme will then be copied to the user's themes directory and the Theme dropdown will automatically switch to the newly imported theme. The active theme will not actually be changed until Apply or OK is pressed.

Manage Themes - Application

The Application tab of the Manage Themes dialog offers the following functionality:

Application style dropdown | allows users to select from a pre-defined list of default styles for the application as a whole
Set styles for dropdown | allows users to configure the color of specific elements within the application such as dockable windows, menus, toolbars, file tabs, and more
Font | if applicable for the selected item, the Set font button will be active and may be used to set the font/size/style of text in the selected item
Foreground swatch | presents an OS color picker dialog which may be used to define the color of the selected item
Background swatch | presents an OS color picker dialog which may be used to define the color of the selected item

The preview button [image] allows the user to preview changes in the main application window in real time. When this is toggled on, a user may preview modifications to a theme as he makes them and then toggle this off to see the changes compared to current settings.

Manage Themes - Editor

The Editor tab of the Manage Themes dialog offers the following functionality:

Foreground swatch | presents an OS color picker dialog which may be used to define the color of the selected item
Background swatch | presents an OS color picker dialog which may be used to define the color of the selected item
Enable active line highlighting | if unchecked, active line highlighting will be disabled. The color settings for active line are ignored
Enable active column highlighting | if unchecked, active column highlighting will be disabled. The color settings for active column are ignored
Enable folded line background | If unchecked, folded line background highlighting will be disabled. The color settings for folded line are ignored.

Manage Themes - Syntax

The Syntax tab of the Manage Themes dialog offers the following functionality:

Language dropdown | allows user to select the syntax highlighting language for which styles will be set. The language list is populated with the names of languages from the user's wordfiles folder. Along with the defined languages, there is a Default language setting (described below)
Defaults button | allows users to revert to a language's color/style settings for all color groups back to the defaults
Foreground swatch | presents an OS color picker dialog which may be used to define the color of the selected item
Background swatch | presents an OS color picker dialog which may be used to define the color of the selected item
Font styles | allow users to pick a font style (normal, bold, italic or underline) for the selected item
Enable background color | if checked, this causes the background color for "Normal text" from the theme's editor color settings to be overridden with the background color setting here

Manage Themes - Output

The Output tab of the Manage Themes dialog offers the following functionality:

Output window font button | allows user to configure the font to be used in the output window
Output type dropdown | allows user to select the output type they wish to change colors for
Defaults button | allows users to revert to a theme's color/style settings for all color groups back to the defaults
Foreground swatch | presents an OS color picker dialog which may be used to define the color of the selected item
Background swatch | presents an OS color picker dialog which may be used to define the color of the selected item
Font styles | allow users to pick a font style (normal, bold, italic or underline) for the selected item
Enable background color | if checked, this causes the background color for "Normal text" from the theme's editor color settings to be overridden with the background color setting here


Open File Tabs command

File tabs command (Layout tab)

This command enables or disables the tab control that allows the user to select between open documents. The tab control allows easy selection between open documents while maintaining all other window switching and display functionality.

If you right-click on the open file tabs a pop-up menu is displayed with several file options.

The tab control may be dragged from its default docked position at the top of the main window and docked at the bottom of the window, or left standalone. If it is standalone, it may be resized vertically and horizontally as desired.

Additionally, the individual tabs may be dragged to a new location. To drag a tab, left click on the tab you wish to move and while holding the mouse button down, move it over the tab you wish to insert before and release the mouse button. When dragging tabs, the tab will always be inserted before the tab that you "drop" the tab on. The tab will only be moved if you release the mouse button while positioned over an existing tab.

When the tab control is in its default docked position, scroll arrows appear if more documents are open than can be displayed.

The tab control may be resized. If resized while docked so that more than one row of tabs are shown the scroll arrows will no longer be available.

Right-clicking on an open file tab will allow the file tabs to be sorted. These will be sorted alphabetically when the command is performed. Due to the operation of the underlying control used, if multiple lines are displayed the underlying control will reorder the ROWS of tabs but internally keep the order the same. This means that the sort will work but the rows may not be in order and will change order if a file from a different row is selected.

Double clicking on the File Tab for an open document will close the document.

If the cursor is positioned above a File Tab a tooltip will be displayed showing the full path of the related file.

Dragging Tabs to Another Instance or to Create a New Instance

If a file tab is clicked on and the user drags it outside of UltraEdit and drops it on another application or on the desktop, a new instance of UltraEdit will be opened with that file ready for editing. If multiple instances are already in use, file tabs may be dragged from one instance to another and dropped in either instance to more easily organize files for better workflow.

Locking the File Tabs

In UltraEdit a right click in empty space by the open file tabs will cause a tip Undockable to appear. If this item is checked, the open file tabs may be dragged from their default docked position to a floating dialog. Double-clicking on the title bar of this dialog will return the file tabs to their default docked position. If Undockable is NOT checked, the file tabs are "locked" and may not be removed from their default docked position.


Status Bar command

Status bar command (Layout tab)

Use this command to display and hide the Status Bar, which describes the action to be executed by the selected command or depressed toolbar button, and keyboard latch state.

See Status Bar for help on using the status bar.


Bookmark gutter command

Bookmark gutter command (Layout tab)

If this option is selected, the bookmark gutter will be displayed to the right of line numbers and to the left of the folding gutter. When clicked, a bookmark will be toggled on or off for the associated line. The bookmark gutter context menu includes the following options:

Toggle bookmark | toggles bookmark at the current line
Edit bookmark name | presents Edit bookmark dialog where bookmark names may be added or removed
Hide bookmark gutter | hides bookmark gutter
Clear all bookmarks | removes all bookmarks from active document
Edit bookmarks... | presents Edit book
Copy all bookmarked lines | presents Edit bookark dialog where bookmarks may be renamed or deleted
Cut all bookmarked lines | cuts all bookmarked lines in active file to clipboard
Delete all bookmarked lines | removes all bookmarked lines from active file
Open bookmark viewer | opens Bookmark Viewer dockable window


File Tree View command

File view command (Layout tab)

This command enables or disables the File View.

The File Tree View shows a list of files or directories for the selected drive in a tree type format. The Drive/File List shows the drives available and additionally allows a selection for displaying all the open files or files in the current project.

Double clicking on any of the files in the Tree View will open or activate the file. Multiple files may be selected and opened at once. (To select multiple files, use the left mouse button and the shift key to select between two files, or the control key and the left mouse button to select multiple non contiguous files).

The Filter entry box allows the user to specify a file filter that will be applied to the files shown when viewing one of the drives. It does not apply when showing project or open files.

Several functions are available by right clicking on the appropriate file. These are dependant on the list being shown.

Open Files

If the list of files shown are the currently open files the following functions are available when the right click menu is shown:

Close | closes an opened document
Save | saves an opened document using the same file name
Print | prints a document
Tile Horizontal | arranges windows in non-overlapped horizontal tiles
Tile Vertical | arranges windows in non-overlapped vertical tiles
Show Names Only | displays file names only (no path)
Allow Docking | permits docking of File Tree View rather than "floating" view
Hide File List | dismisses File Tree View
Make Folder Active Path | sets File Tree View to folder of active file

All of the above functions work on ALL the selected files.

Project Files/Drive

If the list of files shown are the currently open files the following functions are available when the right click menu is shown:

Open Selected File - This will open the selected file(s) in the editor.

Properties - This will show the file properties for the FIRST item selected.

Common

At any time right clicking on the Tree View will provide options to hide the view, or to disable the docking. If it is not docked it will show as a window unattached to other windows.


Function List command

Function list command (Layout tab)

Use this command to toggle Function List visibility. This command shows the list of functions in the active document. The results are displayed in dockable window either in alphabetical order, or in order they occur in the document. By double-clicking on one of the result lines UltraEdit will position to that line in the file and the focus will change to the file. If Enter is pressed while focus is in the Function List, UltraEdit will position to that line and focus will remain in the function list. CTRL+Enter will also position to the line in the file and the focus will change to the file.

UltraEdit searches for a particular pattern to determine if a line is considered a function. The pattern that is searched for is a regular expression string(s) that may be modified by the user. The regular expression string(s) is defined in the active wordfile and each language may have its own definition. By default the regular expression string uses UltraEdit style regular expressions. If desired, Perl compatible Regular Expressions may be used for the function strings by adding the following:

/Regexp Type = Perl

See the Syntax Highlighting section for details on changing the string used for recognizing a function.

While navigating through the file, UltraEdit will attempt to highlight the current function that the cursor is in. In reality it will find the previous function in the file (to the cursor position) that it recognized as a function and highlight this. If the cursor is between functions, or after the last function, the previous function recognized will be highlighted. If the option for all files in the project to be shown in the function list is set, the position of the cursor will not be highlighted.

The context menu in the Function List includes the following options:

Sort List | sorts functions alphabetically. If this is not selected, functions are listed in logical order.
List for all Project Files | lists functions for all files in active project. If this is not selected, the functions listed are limited to the active file.
Copy to Clipboard | copies contents of function list to clipboard
Refresh Function List | refreshes function list (equivalent to F8)
Flat List | toggles display of functions between flat and hierarchical modes

The combobox at the top of the function list window allows the user to search for functions in the active file by typing any amount of characters to match the name of a particular function(s). All functions matching the typed characters will then be populated into the combobox, which the user can open by clicking the combobox arrow. Selecting any of the functions in the combobox list will jump to that particular function in the active file.


Output Window command

Output window command (Layout tab)

This command enables or disables the Output Window. The Output Window is used to capture the output from user tools (see Tools Configuration) or from the Find in Files output.

When lines are added to the Output Window from a tool (not Find in Files ) the list is scrolled down automatically enabling the user to see the end of the results without having to scroll.

Double clicking on a line containing the filename and line number will cause UltraEdit to attempt to open the file specified at the line number. If the filename is fully qualified the filename will be located and the number after this will be used for the line number. If the filename is not fully qualified UltraEdit will attempt to determine the filename from the first word in the line that contains a period. UltraEdit will then open the specified file in the directory of the active file. If the file does not exist in the directory of the active file, UltraEdit will try and open the file from the Project Directory if it is specified.

By double clicking on one of the result lines UltraEdit will position to that line in the file and the focus will change to the file. If Enter is pressed while focus is in the Output Window UltraEdit will position to that line and focus will remain in the Output Window. CTRL+Enter will also position to the line in the file and the focus will change to the file.


Template List command

Template list command (Layout tab)

This command toggles the visibility of the Template List. The Template List displays all templates that have been defined using the Modify templates dialog accessed under the Insert template dropdown in the Edit tab or the Code template dropdown in the Coding tab. Double-clicking on any listed template will insert that template into the active document at the current cursor position.

Templates are organized in four groups: Global, Layouts, Languages, and Projects. Global templates are always available; Layout templates are only available when the layout they're associated with is loaded; Language templates are associated with languages specified for syntax highlighting and are only available when editing files with extensions that match that language; and Project templates are only available when the project they're associated with is loaded.

Right clicking on a template group in the Template List displays a context menu with the following options:

Modify Templates | presents the Modify Templates dialog
Open Template File | opens the template file for the active group in the edit window

Right clicking on a template name in the Template List displays a context menu with the following options:

Sort Alphabetically | sorts listed templates alphabetically within active group
Move Up | moves the selected template up one position in the list
Move Down | moves the selected template down one position in the list
Delete Template | removes the active template from the list and the relevant template file
Add/Modify Template | presents the Modify Templates dialog so the selected template may be edited or new templates added
Insert Template | inserts the selected template into the active document

Description

If desired, users may include a description for a template. This is limited to 79 characters. When the cursor hovers over the template name in the Template List, a tooltip will be displayed with the label Template Description followed by the specified description. If a description is not specified, the label Template Extract will be displayed along with the beginning portion of the template itself.

Template Creation

Along with manually creating templates in the Modify Template dialog (described above), users may also select text in a file and drag this to a template group in the Template List to quickly create a template. The newly created template will be given a generic default name which immediately becomes active for editing. In order to quickly create templates in this manner, Disable drag & drop must be unchecked under Configuration - Editor - Miscellaneous.


Macro List command

Macro list command (Layout tab)

This command toggles the visibility of the Macro List. The Macro List displays all currently loaded macros. Macros may be loaded from the Load dropdown in the Advanced tab. Double-clicking on any listed macro will activate that macro similar to the Play again command in the Play macro dropdown in the Advanced tab. Right-clicking in the Macro List presents a context menu with the option Modify Macro. If this option is selected, the Edit/Create Macro dialog will be displayed.


Script List command

Script list command (Layout tab)

This command toggles the visibility of the Script List. The Script List displays all currently specified scripts. Right-clicking in the Script List presents the context menu which includes the following options:

Run | runs selected script
Add Script | presents File Open dialog where user may specify script to add to list
Edit Script | opens selected script in editor window
Remove Script | removes selected script from list


Bookmark List command

Bookmarks command (Layout tab)

This command toggles the visibility of the Bookmark Viewer. The Bookmark Viewer displays all bookmarks currently specified for the active document. If no bookmarks are defined the list will display "No Bookmarks".

Right-clicking on the column headers in the Bookmark Viewer will present a popup menu where users can select the column headers they wish to be visible in the Bookmark Viewer. If Column Order is selected at the bottom of this menu, a dialog is displayed where users can specify the order in which columns should be displayed in the Bookmark Viewer.

Right-clicking in the Bookmark Viewer presents the context menu which includes the following options:

List Bookmarks for all Files | displays list of bookmarks in all open files. If this option is selected, the name of the file the bookmark exists in will also be displayed.
Delete Bookmarks | deletes currently selected bookmark(s)
Copy All Bookmarked Lines | copies all bookmarked lines in active file to clipboard
Cut All Bookmarked Lines | cuts all bookmarked lines in active file to clipboard
Delete All Bookmarked Lines | deletes all bookmarked lines in active file
Edit Bookmark | opens Edit Bookmark dialog where name of bookmark may be edited

If desired, the bookmark name may be modified using the Edit Bookmark command. If focus is moved to a bookmarked line, that line will automatically be highlighted in the Bookmark Viewer.


Tag List command

Tag list command (Layout tab/ Other windows dropdown)

This command displays a dialog showing a list of predefined "tags". A tag is simply a short string of characters and the name "tag" is used as this feature is commonly used for "HTML Tags".

The purpose of the tag list is to provide a method to easily insert into a document commonly used tags/strings without having to type them.

The Modify command in the right-click context menu allows the list of tags to be modified or a different taglist file to be selected. The tags consist of a start and end tag.

To insert a tag, select the tag you wish to insert and double click on the tag or press enter. When the tag is inserted into the active document, the start tag (if defined) is inserted at the beginning of any text selected and the end tag (if defined) is inserted at the end of the current selection. If no selection is made the tags are inserted at the cursor location.

By double-clicking on one of the tags UltraEdit will insert the tag and the focus will change to the file. If Enter is pressed while focus is in the Tag List UltraEdit will insert the tag and focus will remain in the Tag List. CTRL+Enter will also insert the tag and the focus will change to the file.

Multiple groups of tags may be defined and the group may be selected from the drop-down list.

Adding New Tags

The default file for the tags is the taglist.uet file. This is stored in the directory where the uedit32.ini / uestudio.ini file is located which is by default %APPDATA%\IDMComp\UltraEdit or %APPDATA%\IDMComp\UEStudio. Additional tag lists have been provided by users and may be found at http://www.ultraedit.com/downloads/extras.html#taglists. If a user navigates to this page and selects the Tag List the would like to add (for example ASP Tags) they can save this to their local system.

The full tag list should be pasted into the taglist.uet file just above the "Group List" section at the bottom. The EXACT title must be added to the [Group List]. For example, the ASP tag list title is:

[Tag Group - ASP - Active Server Pages]

The original [Group List] should be modified from:

[Group List]
0=COLD FUSION - Tags
1=HTML - Special Characters
2=HTML - Tags
3=UE/UES Macro Commands
4=UE/UES Script Commands
5=

to:

[Group List]
0=COLD FUSION - Tags
1=HTML - Special Characters
2=HTML - Tags
3=UE/UES Macro Commands
4=UE/UES Script Commands
5=ASP - Active Server Pages
6=

when adding ASP tags. The empty lines at the end of the Group List and the Tag List are important and should not be forgotten.


ASCII Table command

ASCII Table command (Layout tab/Other windows dropdown)

This feature displays a pop-up dialog which contains an ASCII Table.

This table contains the following columns:

Character

This column shows the characters as they would be displayed using the selected font. The font may be changed using the Select Font button.

Decimal #

This is the decimal value of the character in the range of 0 to 255.

Hexadecimal #

This is the hexadecimal value of the character in the range of 0 to FF.

Name #

This is the recognized name for the character. This is for the first 32 characters only.

Ctrl Character #

This is the recognized control character that the character represents. This is for the first 32 characters only.

To view the characters with a different font use the Select Font button. When the ASCII Table starts up it defaults to the font currently selected within the editor.

If you wish to insert any of the characters in to the active file select the character and click the Insert Char button or double-click the character in the table.


Clipboard History command

Clipboard history command (View tab/Other windows dropdown)

This command toggles the visibility of the Clipboard History. The Clipboard History displays a listing for any text copied to clipboard while the history list is active. Double-clicking on any listed item inserts it into the active document.

Right-clicking in the Clipboard History presents a context menu where the user may choose to Clear Clipboard History if desired. Selecting Options in the context menu presents the Clipboard History Options dialog.

The Clipboard History Options dialog is used to specify the content to be displayed in the Clipboard History for all clipboard items:

Right-clicking on a history entry and selecting Delete History Entry from the context menu will remove the selected item.


Window Tab

The Window Tab offers the following commands which enable the user to arrange multiple views of multiple documents in the application window:

Active window |
Duplicate window | creates a duplicate window of the active document
Split horizontally | creates a duplicate pane within the active document displayed one above the other allowing the user to edit the active document in two separate locations at the same time
Split vertically | creates a duplicate pane within the active document displayed side-by-side allowing the user to edit the active document in two separate locations at the same time
Switch |
Last file | makes the previous window active
Next file | makes the next window active
Previous tab | promotes previous file to top based on left-right tab order
Next tab | promotes next file to top based on left-right tab order
Arrange |
Enable tiling | switches file tab type from undockable to dockable
Sync scrolling | synchronizes vertical scrolling for all non-minimized windows
Cascade & tile - Cascade | arranges windows in an overlapped fashion *
Cascade & tile - Tile horizontal | arranges windows in non-overlapped horizontal tiles *
Cascade & tile - Tile vertical | arranges windows in non-overlapped vertical tiles *
Minimize all | minimizes all opened documents
Arrange minimized | arranges icons of closed windows (only available when Dockable tabs are active)
List |
All windows | lists all open windows
Application |
New instance | launches a separate instance of UltraEdit/UEStudio

* Please note: Document windows cannot be tiled or cascaded if the Enable tiling option is not selected in the Window Tab or under Settings -> Application Layout -> File Tabs -> Operation.


Duplicate Window command

Duplicate Window command (Window tab)

Use this command to open a new duplicate window with the same contents as the active window. You can open multiple document windows to display different parts or views of a document at the same time. If you change the contents in one window, all other windows containing the same document reflect those changes. When you open a duplicate window it becomes the active window and is displayed on top of all other open windows.


Previous Window command

Previous tab command (Window tab)

Use this command to switch to the previous open document window. UltraEdit determines which window is previous according to the order in which you opened the windows.

Shortcut: SHIFT+CTRL+F6 or CTRL+SHIFT+TAB


Next Window command

Next tab command (Window tab)

Use this command to switch to the next open document window. UltraEdit determines which window is next according to the order in which you opened the windows.

Shortcut: CTRL+F6 or CTRL+TAB


Cascade command

Cascade command (Window tab/Cascade & tile dropdown)

Use this command to arrange multiple opened windows in an overlapped fashion.


Tile Horizontal command

Tile horizontal command (Window tab/Cascade & tile dropdown)

Use this command to vertically arrange multiple opened windows in a non-overlapped fashion. The Enable tiling option must be selected for the Cascade & tile dropdown to be active.


Tile Vertical command

Tile vertical command (Window tab/Cascade & tile dropdown)

Use this command to arrange multiple opened windows side by side. The Enable tiling option must be selected for the Cascade & tile dropdown to be active.


Arrange Icons command

Arrange minimized command (Window tab/Cascade & tile dropdown)

Use this command to arrange the icons for minimized windows at the bottom of the main window. If there is an open document window at the bottom of the main window, then some or all of the icons may not be visible because they will be underneath this document window.


Windows command

All windows command (Window tab)

UltraEdit displays a list of currently open document windows in the Windows dialog accessed by clicking All windows in the Window tab. Choose a document from this list to make its window active.


Advanced Tab

The Advanced Tab provides access to some of the advanced capabilities of UltraEdit and UEStudio:

Tools |
SSH/telnet - SSH/telnet console | shows or hides the SSH/Telnet console
SSH/telnet - SSH/telnet accounts | shows or hides the SSH/Telnet Account Manager
Run DOS command | runs a DOS command and captures its output
Run last command | repeats the last DOS command
Run Windows program | runs a Windows program
User tools | presents dialog for user-definable tool configuration
Active file |
Encryption - Encrypt file | encrypts active file using user-specified passphrase
Encryption - Decrypt file | decrypts active file using user-specified passphrase
Base64 encode | converts selected text to Base64
Base64 decode | converts selected text from Base64
Conversions - UNIX/MAC to DOS | converts the file format from UNIX or MAC to DOS
Conversions - DOS to MAC | converts the file format from DOS to MAC
Conversions - DOS to UNIX | converts the file format from DOS to UNIX
Conversions - EBCDIC to ASCII | converts the file format from EBCDIC to ASCII
Conversions - ASCII to EBCDIC | converts the file format from ASCII to EBCDIC
Conversions - OEM to ANSI | converts the file format from OEM to ANSI
Conversions - ANSI to OEM | converts the file format from ANSI to OEM
Conversions - ASCII to Unicode | converts the file format from ASCII to Unicode
Conversions - UTF-8 to Unicode | converts the file format from UTF-8 to Unicode
Conversions - Unicode to ASCII | converts the file format from Unicode to ASCII
Conversions - UTF-8 to ASCII | converts the file format from UTF-8 to ASCII
Conversions - ASCII to UTF-8 | converts the file format from ASCII to UTF-8
Conversions - Unicode/UTF-8 to UTF-8 | converts the file format from Unicode/UTF-8 to UTF-8
Conversions - Unicode/ASCII/UTF-8 to UTF-8 | converts the file format from Unicode/ASCII/UTF-8 to UTF-8
Conversions - UNICODE to UNICODE Big Endian | converts the file format from Unicode to Unicode (Big Endian)
Conversions - UNICODE Big Endian to UNICODE | converts the file format from Unicode (Big Endian) to Unicode
Conversions - UNICODE to ASCII Escaped Unicode | converts the file format from UNICODE to ASCII Escaped Unicode
Conversions - ASCII Escaped Unicode to UNICODE | converts the file format from ASCII Escaped Unicode to UNICODE
Code page | presents Code Page Selection dialog to allow changing code page for active document
Macro |
Play multiple times | runs any macro or runs a macro multiple times
Play again | runs last macro again
Quick record | records a macro without showing dialog for name, etc.
Define and record | starts recording a macro
Load | loads a macro file
Load and append to existing | loads and appends a macro file to any macros already resident
Edit macro | edits a macro
Configure macros | deletes a macro or modifies its properties
Delete all macros | deletes all resident macros
Save all macros | saves all resident macros to a file
Set macro for auto-load | specifies macro to load at startup
Set macro for file open/save | specifies macro to run when a file is loaded or saved
Show post macro record options | prompts user with options after macros are recorded
Warn on exit if macro not saved | warns if macros are not saved when editing
Script |
Play script | shows listing of all currently specified scripts
All scripts | opens the Script dialog where scripts may be added for execution
Configure |
Settings | presents Configuration dialog with index tree to access categorized configuration options
Backup/restore user customizations | presents dialog allowing user to select application settings, layout data, smart templates, and wordfiles to backup or restore
Export settings | presents dialog allowing user to select folder to export settings to
Import settings | presents dialog allowing user to select INI file from which to import settings
Updates |
Check for updates | checks to see if an upgrade/hotfix is available for the version currently being used


SSH/Telnet Account Manager

SSH/telnet accounts command (Advanced tab/ SSH/telnet dropdown)

This dialog allows user SSH/Telnet accounts to be configured. This may be accessed with the SSH/telnet accounts command in the SSH/telnet dropdown under the Advanced tab. Once the console is visible the Accounts button may be pressed to present the SSH/Telnet Account Manager dialog

An account specifies the server to be connected to and the user identification that will be used to connect to the server.

The Add Account button allows you to specify a new account name. The account to modify may be selected from the list of accounts. If any changes have been made to the account a prompt will be shown asking if the changes should be kept.

The Remove Account button immediately removes the active/selected account from the accounts list.

The Set Default Account button sets the active/selected account as the default account specified by an asterisk "*" following the account name in the list.

The SSH/Telnet Account Manager has options organized under five different tabs: General, Advanced, Proxy, Authentication and Terminal.

The General tab includes the following configuration options:

Account

This is the name to be used for the configured account. This name will appear in the list to the left of the configuration options when changes are saved.

Protocol

This dropdown allows users to select either SSH or Telnet protocol be used for the account. If SSH is selected, this instructs UltraEdit/UEStudio to only connect with SECURE SHELL with the protocol specified under the Authentication tab. All transfers are encrypted and the encryption algorithm is negotiated with the server. If this is set the transfer dialogs will show a "lock" symbol indicating the transfer is secure.

Server

This is the server that you wish to connect to such as ultraedit.com. If preferred the IP Address in the form xxxx.xxxx.xxxx.xxxx may be entered.

Port

This is the port used by UltraEdit/UEStudio for the SSH/Telnet protocol. The default is 22 for SSH and 23 for Telnet. This may be changed if required.

Username

This is the username used to log into the server.

Password

This is the password used with the username to log into the server. This should be the password for the username as provided by the site administration.

Save Password

This checkbox determines if UltraEdit/UEStudio will save the password for later reference. If not, the user will be prompted for the password as required. Note: if the password is saved it is stored on the system. It is encrypted however, the encryption mechanism is unsophisticated and should not be relied upon as a method of security.

The Advanced tab includes the following configuration options:

KeepAlive Timeout

This option specifies the interval (in seconds) at which connection test packets should be sent to the server.

Auto-Disconnect Timeout

This option specifies the interval (in seconds) that UltraEdit/UEStudio should wait before terminating a session that has had no activity.

Remote Command

This option may be used to specify a command which will be executed automatically upon successful completion. After the command has been executed the terminal session will be automatically disconnected.

Session Logging

Enable Session Logging

If this option is selected, all console output will be captured and written to the file specified in the textbox below.

Log File

This is the path to the file that will be used to log console output from each session. Users may specify the path and file name manually or browse to the directory/file to be used.

Append new sessions to file

If this option is selected the output from each successive session will be appended to the output from the previous session. If this option is not selected, the output of each successive session will overwrite the output from the previous session.

The Proxy tab includes the following configuration options:

Use Proxy

This enables the proxy settings and configures this account to connect through the specified proxy. If connecting directly to the Internet the proxy settings should not be enabled. If connecting via a proxy on a LAN it will be necessary to set up the proxy settings.

Proxy Type

This is the proxy type to be used for the SSH/Telnet account. The user may select one of the following proxy types:

HTTP - (CONNECT)

Relay

SOCKS4

SOCKS5

Windows - (Internet Explorer)

Proxy Port

This is the port used by UltraEdit/UEStudio for the SSH/Telnet protocol. The default is 22 for SSH and 23 for Telnet. This may be changed if required.

Proxy Username

This is the username used to log into the proxy.

Proxy Password

This is the password used with the username to log into the proxy. This should be the password for the username as provided by the site administration.

The Authentication tab includes the following configuration options:

Authentication

This allows the user to specify the protocol and type of authentication to be used with the server. The following protocols are supported:

Auto | If this option is selected connection will first be attempted with SSH2. If this is not supported by the server SSH1 will be used for the connection.
SSH1 | If this option is specified ONLY SSH1 will be used to connect to the server.
SSH2 | If this option is specified ONLY SSH2 will be used to connect to the server.

The following authentication types are supported:

Password Only | This requires the username/password to be provided and no public/private key pair is used.
Public Key Only | This requires the use of the public/private key pair to be used. The private key location must be specified in the Private Key Path.
Password and Public Key | This allows the user to specify the public/private key and/or the username/password.
Key Requires Passphrase | This allows the user to indicate that the private key is password protected. If this is the case, the user will be prompted for the password once per session, or after changing the account settings.
Private key path | The user may browse to or manually specify the path to the existing private key. The authentication method must be supported by the server. The keys used should be in OpenSSH format and may be RSA or DSA type keys.

The Terminal tab includes the following configuration options:

Terminal Type

This option is used to specify the terminal type set on the remote server (an Environment variable). This may be left blank.

Terminal Emulation

This dropdown allows the user to specify what terminal emulation should be used for the session. The following options are supported:

VT100

Linux

None

Foreground Color

Users may click on the color block to specify the foreground color for the terminal.

Background Color

Users may click on the color block to specify the background color for the terminal.

Font Setup

Clicking on this button will present the standard Windows font dialog from which users may select the font to be used.

Scroll Back Log

This field may be used to specify the number of lines the user may scroll back in the existing log. Users may scroll using the mouse wheel, page up/page down, or the scrollbar.

ANSI Support

When a connection is established with the server, escape sequences are passed with data specifying color, style, and other formatting information. This setting allows the user to specify what formatting information is displayed in the SSH/Telnet client window.

Full ANSI | If this option is selected the client will attempt to display everything.
Strip Colors | If this option is selected the client will attempt to display everything except colors passed by the server.
Strip ANSI | If this option is selected the client will only attempt to display text and whitespace characters passed by the server.


DOS Command

Run DOS command command (Advanced tab)

This command allows a DOS command to be run from within UltraEdit and the results of the command are captured and automatically displayed with UltraEdit at the completion of the command.

A dialog box is presented that allows the command to be specified (with a browse button) and the working directory to be specified (working directory only supported with UltraEdit).

The command line specified should be the full path of the file to be executed unless it is a system command (such as "DIR"), or it is in the Windows directory, or the Windows System directory.

The working directory should be the full path of the working directory, or left blank if not required.

In order to allow maximum flexibility of programs to be run, a special command line sequence is permitted that will cause the active filename to be inserted into the command line and passed to the program to be executed. For example:

You set up a command to run a compiler and you want to invoke the compiler with the file you are currently editing. If you change files you want the compiler to be invoked with the new file. The compiler is c:\comp\compiler.

Specify the following command in the dialog box:

c:\comp\compiler %F

When the command is executed, the %F will be replaced by the full directory path, filename and extension of the active window. The file will be saved before the command is executed.

The following commands may be used to pass a portion of the full qualified filename:

%P Path only ("C:\project\test\")

%N File name only ("test")

%E Extension only (".c")

%P%N%E is equal to %F which is ("C:\project\test\test.c") in the example above.

NOTE - If the %f, %p, %n, %e are lower case the filenames are passed as long filenames and should be put in quotes, i.e. "%f" or "%p%n" etc. If the %F, %P, %N, %E are in upper case the filename and path will converted and passed as the "8.3" short filename specification for maximum compatibility with DOS programs.

Additionally the following commands are available:

%R This may be used for the full path/name of the *.prj project file (%r for long name, %R for short name)

%RP This may be used for the full path of the *.prj project file (%rp for long name, %RP for short name)

%RN This may be used for the name only of the *.prj project file (%rn for long name, %RN for short name)

%modify% In some cases it may be necessary to modify the command line parameters each time the tool is run. To do this, add %modify% in the command line and when the tool is run a dialog box will be shown allowing the user to modify the command line or cancel and run without modification.

%sel% This instructs UltraEdit to add the highlighted/selected text from the active document into the command line in place of the %sel%.

%Env: This allows the user to use an environment variable in the command. The environment variable immediately follows the %Env: and UltraEdit replaces this with the contents of the matching environment variable.

%line% This instructs UltraEdit to add the line number of the cursor into the command line in place of %line%. The first line is number 1.

%col% This instructs UltraEdit to add the column number of the cursor into the command line in place of %col%. The first column is number 1.

The output from the command will be captured and displayed in a window when the command has completed.

As the output from a DOS program is sometimes buffered by the operating system, this process may not work correctly with a program that requires interaction while it is executing, the prompts may not appear on the screen at the correct time and the user may wonder why there is no activity.

As the output will always be captured. If the program generates no console screen output the captured output may be empty and UltraEdit will show an empty window.

If the Show DOS box checkbox is checked, a DOS window will be shown as the command is being executed, otherwise the DOS window will be hidden.

The Last DOS Command repeats the last command specified with the DOS command dialog without presenting the dialog box.


Run Windows Program command

Run Windows program command (Advanced tab)

This command allows a Windows program to be executed from within UltraEdit. The output is not captured.

A dialog box is presented that allows the command to be specified (with a browse button) and the working directory to be specified (working directory only supported with UltraEdit).

The command line specified should be the full path of the file to be executed, unless it is in the Windows directory, or the Windows System directory.

The working directory should be the full path of the working directory, or left blank if not required.

In order to allow maximum flexibility of programs to be run, a special command line sequence is permitted that will cause the active filename to be inserted into the command line and passed to the program to be executed. For example:

You set up a command to run a compiler and you want to invoke the compiler with the file you are currently editing. If you change files you want the compiler to be invoked with the new file. The compiler is c:\comp\compiler.

Specify the following command in the dialog box:

c:\comp\compiler %F

When the command is executed, the %F will be replaced by the filename of the active window. The file will be saved before the command is executed.

The following commands may be used to pass a portion of the full qualified filename:

%P Path only ("C:\project\test\")

%N File name only ("test")

%E Extension only (".c")

%P%N%E is equal to %F which is ("C:\project\test\test.c") in the example above.

NOTE - If the %f, %p, %n, %e are lower case the filenames are passed as long filenames and should be put in quotes, i.e. "%f" or "%p%n" etc. If the %F, %P, %N, %E are in upper case the filename and path will converted and passed as the "8.3" short filename specification for maximum compatibility with DOS programs.

Additionally the following commands are available:

%R This may be used for the full path/name of the *prj project file (%r for long name, %R for short name)

%RP This may be used for the full path of the *.prj project file (%rp for long name, %RP for short name)

%RN This may be used for the name only of the *.prj project file (%rn for long name, %RN for short name)

%modify% In some cases it may be necessary to modify the command line parameters each time the tool is run. To do this, add %modify% in the command line and when the tool is run a dialog box will be shown allowing the user to modify the command line or cancel and run without modification.

%sel% This instructs UltraEdit to add the highlighted/selected text from the active document into the command line in place of the %sel%.

%Env: This allows the user to use an environment variable in the command. The environment variable immediately follows the %Env: and UltraEdit replaces this with the contents of the matching environment variable.

%line% This instructs UltraEdit to add the line number of the cursor into the command line in place of %line%. The first line is number 1.

%col% This instructs UltraEdit to add the column number of the cursor into the command line in place of %col%. The first column is number 1.

To run a DOS program use the DOS Command.


Tool Configuration command

Configure tools command (Advanced tab/User tools dropdown)

UltraEdit/UEStudio allows the user to configure up to 25 tools for commands of the user's choice. Additionally up to 25 additional tools may be configured for the active project by selecting the Configure tools option in the Project tools dropdown in the Project tab.

These commands may be any DOS or Windows commands, and when set up appear in the lower portion of the relevant dropdown.

When the Configure tools command is selected, a dialog is presented allowing the user to specify the command line and action for each of the users choices. Any tool changes may be saved by pressing the OK or Apply buttons. The Tool Configuration dialog arranges different options for user-defined tools under the Command, Options, and Output tabs for easier management. Each tab presents different settings related to configuration of the currently specified tool. All three tabbed views include the Insert, Copy, and Delete buttons as well as the Tool List pane [5] which may be used to rearrange the list of currently defined tools.

Command Tab

This tab in the Tool Configuration dialog is used to create new tools or modify the defined options for existing tools. Users may also rearrange the tool list here and changes made here will be reflected in the tools listed at the bottom of the Advanced menu.

Creating a New Tool

If any tools are currently listed in the Tool List pane you may select a tool and press the Insert button to create a new tool. This will cause the new tool to be added to the list above the selected item. The following options may be defined for a tool under the Command tab:

Menu item name

This is the name of the item as it appears in the User tools or Project tools dropdown and will be reflected in the Tool List pane as well.

Command line

This is the actual command line that will be invoked when the tool is run. If desired, it may contain a "%f" that will be replaced by the full directory specification and filename of the active file. The file will be saved first if changes have been made.

For example, you might set up a command to run a compiler and you want to invoke the compiler with the file you are currently editing. If you change files you want the compiler to be invoked with the new file. The compiler is c:\comp\compiler.

Specify the following command in the dialog:

c:\comp\compiler "%f"

When the command is executed, the %F will be replaced by the full directory path, filename and extension of the active window. The file will be saved before the command is executed.

The following commands may be used to pass a portion of the full qualified filename:

%P Path only ("C:\project\test\")

%N Filename only ("test")

%E Extension only (".c")

%P%N%E is equal to %F which is ("C:\project\test\test.c") in the example above.

NOTE - If the %f, %p, %n, %e are lower case the filenames are passed as long filenames and should be put in quotes, i.e. "%f" or "%p%n" etc. If the %F, %P, %N, %E are in upper case the filename and path will converted and passed as the "8.3" short filename specification for maximum compatibility with DOS programs.

Additionally the following commands are available:

%R This may be used for the full path/name of the *.prj project file (%r for long name, %R for short name)

%RP This may be used for full path of the *.prj project file (%rp for long name, %RP for short name)

%RN This may be used for the name only of the *.prj project file (%rn for long name, %RN for short name)

%ftpl This returns the full path of the local copy of an FTP file when opened in UltraEdit. For instance: C:\DOCUME~1\[username]\LOCALS~1\Temp\myFile.001

%modify% In some cases it may be necessary to modify the command line parameters each time the tool is run. To do this, add %modify% in the command line and when the tool is run a dialog box will be shown allowing the user to modify the command line or cancel and run without modification.

%sel% This instructs UltraEdit to add the highlighted/selected text from the active document into the command line in place of the %sel%.

%Env: This allows the user to use an environment variable in the command. The environment variable immediately follows the %Env: and UltraEdit replaces this with the contents of the matching environment variable. Please note: this command does not require the "closing" percent sign "%".

%line% This instructs UltraEdit to add the line number of the cursor into the command line in place of the %line%. The first line number is 1.

%col% This instructs UltraEdit to add the column number of the cursor into the command line in place of the %col%. The first column number is 1.

Working directory

This is the working directory for the specified command. If applicable, the process will be started with this as its working directory. As above, the %p may be used to specify the path. It should be noted that UltraEdit has special handling for the working directory and quotes should not be used when specifying the working directory (i.e. %p rather than "%p" should be used in this case).

If quotes are used to specify the working directory users will likely see an "Error Creating Process 267" which indicates that the specified working directory is not valid.

Toolbar/bitmap icon (file path)

This allows the user to specify a bitmap or icon file to be used on the toolbar for the current selected tool. The browse button allows the user to browse for the bitmap or icon. The bitmap or icon will be scaled to fit on the toolbar. Each file should contain a single bitmap or icon. If this is not defined, the default tool icon will be used.

Tool List pane

All defined tools will be listed in the Tool List pane [5] and users may rearrange tools by selecting them and using the Up and Down buttons to move the selected tool in the list.

Options Tab

This tab in the Tool Configuration dialog is used to define options for the currently selected tool. The following options are included.

Program Type Selection

The Program Type may be configured here. It is important that the selection of DOS program or Windows program match the type of program being invoked by the tool.

Save active file

If Save active file is checked, the editor will save the active file before running the tool, otherwise it will not (unless Save all files first is checked).

Save all files first

If Save all files first is checked, the editor will save all open files before running the tool.

Tool List pane

All defined tools will be listed in the Tool List pane and users may rearrange tools by selecting them and using the Up and Down buttons to move the selected tool in the list.

Output Tab

This tab in the Tool Configuration dialog is used to define output options for the currently selected tool. The following options are included.

Command Output (DOS Commands ONLY)

DOS command output may be optionally captured to a file. The four options for DOS command output are:

1) Append to existing (create new file if one does not exist)

2) Replace existing

3) Create new file

4) Output to list box ( Output Window ).

This list box allows the user to double-click on a line of the captured output and the editor attempts to open the referenced file and position to the specified line if found.

If the Show DOS box checkbox is checked, a DOS window will be shown as the command is being executed, otherwise the DOS window will be hidden.

If the Capture output checkbox is not selected then neither the output of the tool or any associated error output will be captured.

As several commands may be configured, it is quite possible the user may wish for some commands to always create a new file, while other commands should replace the existing file (or append to it). For this reason, each capture mode (append, replace, new) will create a new file for that mode if one does not exist, and each time a command is run, the file for the given capture mode will be append to or replaced if appropriate, or a new file created if selected.

Replace selected text with

This indicates that at the completion of the tool command, the captured output or contents of the clipboard will be used to replace the current selection (or inserted at the cursor position if no selection), or if no replace is selected, the output will be displayed as normal.

Handle output as

Users may specify how output should be displayed. The output generated from the tool is not converted, but will be displayed as specified. If "UTF-16" is selected, the command prompt will be invoked with the "/u" flag before the command is run.

Tool List pane

The Tool List pane shows the currently configured commands. Clicking on a command in this list will cause the associated parameters of this command to be loaded and they may then be modified. To keep the changes, the user MUST press OK or Apply to save any tool configuration changes.

If you click on an item, you may delete it by selecting the Delete button.

Output Window

If a tool is configured that returns errors to the output window (such as a compiler), UltraEdit and UEStudio will open the referenced file to the specified line if the user double-clicks on the error listing. For this to be supported the file must be referenced in the following format [FULL PATH(Column Number): Error Message] i.e.:

C:\Development Path\ProjectDev\EditWindow.c(341): Undefined variable "GeneralError"

Requirements

DOS commands require that CMD.EXE be in the path.


Encrypt File command

Encrypt file command (Advanced tab/Encryption dropdown)

This command may be used to encrypt the specified file (or specified files) using the Advanced Encryption Standard (AES) algorithm.

Encrypt File

When this option is selected, a dialog is displayed where the user is prompted to specify the file(s) to be encrypted and enter a passphrase to be used as the encryption key. The passphrase is case-sensitive and may be between 8 and 32 characters in length and may include any characters which may be typed.

By default the path for the active file will populate the File(s) to Encrypt field. Users may specify the full path to a different file (or files) to be encrypted in this field. The easiest way to do this would be to press the browse button beside the File(s) to Encrypt field which will present an Open dialog where users may navigate to the file(s) they wish to be encrypted. If desired, multiple files may be encrypted by selecting them in the Open dialog (using the CTRL key and mouse or SHIFT key and mouse to select multiple items) and then pressing the Open button to pass the specified files back to the Encrypt File(s) dialog.

If the files to be encrypted are specified manually, the full path must be specified and multiple files should be separated by a semicolon and a space. (Example: c:\sample\columnfind.txt; c:\sample\resource.h; c:\sample\main.cpp;"

The user must then enter and confirm the passphrase to be used for encrypting the specified files.

PLEASE NOTE: The user MUST memorize or make note of the encryption passphrase specified. The specified passphrase is not stored anywhere on the system or in the application files. If this passphrase is forgotten/lost the encrypted data will be permanently unrecoverable.

If Replace Encrypted File If Exists is selected, then any encrypted files that already exist in the specified path with names and extensions matching the files selected for encryption would automatically be overwritten.

Once the specified file or multiple files are encrypted, an encryption status dialog will be displayed listing the files that are encrypted if the output window is not currently visible. If the output window is visible, these items would be displayed in the output window.


Decrypt File command

Decrypt file command (Advanced tab/Encryption dropdown)

This command may be used to decrypt the content of the active file (or specified files) using the Advanced Encryption Standard (AES) algorithm.

Decrypt Files

When this option is selected, a dialog is displayed where the user is prompted to specify the file(s) to be decrypted and enter a passphrase to be used as the decryption key. The passphrase is case-sensitive and may be between 8 and 32 characters in length and may include any characters which may be typed.

Users may specify the full path to a different file (or files) to be decrypted in the File(s) to Decrypt field. The easiest way to do this would be to press the browse button beside the File(s) to Decrypt field which will present an Open dialog where users may navigate to the file(s) they wish to be decrypted. If desired, multiple files may be decrypted by selecting them in the Open dialog (using the CTRL key and mouse or SHIFT key and mouse to select multiple items) and then pressing the Open button to pass the specified files back to the Decrypt File(s) dialog.

If the files to be decrypted are specified manually, the full path must be specified and multiple files should be separated by a semicolon and a space. Encrypted files will be saved with a ".uenc" extension.

The user must then enter and confirm the passphrase to be used for decrypting the specified files. The passphrase entered and confirmed for decryption must be an exact match for the passphrase entered during encryption.

If Replace Decrypted File If Exists is selected during decryption, any plain text files that already exist in the specified path (where the encrypted files exist) with names and extensions matching the files selected for decryption would automatically be overwritten.


UNIX/MAC to DOS command

UNIX/MAC to DOS command (Advanced tab/Conversions dropdown)

Use this command to correct the end of line characters for display in UltraEdit and other text editors.

Some documents generated from UNIX-based systems (and some other systems) do not terminate each line with a carriage return and line feed. UltraEdit requires all lines to be terminated with a carriage return and line feed character.

This command searches the file for all carriage return and line feed characters. If a carriage return character is found without an accompanying line feed character, a line feed character is added. If a line feed character is found without a preceding carriage return character a carriage return character is inserted. If a line feed is found preceding a carriage return the characters are reversed.

To convert a file to UNIX format, use the DOS to UNIX command .

To convert a file to MAC format, use the DOS to MAC command .


DOS to MAC command

DOS to MAC command (Advanced tab/Conversions dropdown)

Use this command to convert the file to a Macintosh format. This will replace the carriage return and line feed combinations to a carriage return only.

To convert a file from UNIX or MAC format, use the UNIX/MAC to DOS command .


DOS to UNIX command

DOS to UNIX command (Advanced tab/Conversions dropdown)

Use this command to convert the file to a UNIX format. This will replace the carriage return and line feed combinations to a line feed only.

To convert a file from UNIX or MAC format, use the UNIX/MAC to DOS command .


EBCDIC to ASCII command

EBCDIC to ASCII command (Advanced tab/Conversions dropdown)

This function converts the complete file from EBCDIC format to ASCII. This is useful in dealing with files that are in the EBCDIC file format (usually on Mainframe computer systems).


ASCII to EBCDIC command

ASCII to EBCDIC command (Advanced tab/Conversions dropdown)

This function converts the complete file from ASCII to EBCDIC format. This is useful in dealing with files that need to be exported in the EBCDIC file format (usually on Mainframe computer systems).


OEM to ANSI command

OEM to ANSI command (Advanced tab/Conversions dropdown)

Use this command to convert a file that uses the OEM character set (usually DOS generated text files) to the ANSI (Windows) character set.

To convert a file from ANSI to OEM, use the ANSI to OEM command .


ANSI to OEM command

ANSI to OEM command (Advanced tab/Conversions dropdown)

Use this command to convert a file that uses the ANSI (Windows) character set to the OEM (DOS) character set.

To convert a file from OEM to ANSI, use the OEM to ANSI command .


ASCII to Unicode command

ASCII to Unicode command (Advanced tab/Conversions dropdown)

This function will convert the complete file from ASCII to Unicode (16-Bit wide characters).

The conversion uses the active code page. For information on code pages see the Windows documentation/help.

The status bar will show a "U-" in front of the file type (DOS/UNIX/MAC) to indicate the file is Unicode.

A file may be converted to ASCII with the Unicode to ASCII command .


UTF-8 to Unicode command

UTF-8 to Unicode command (Advanced tab/Conversions dropdown)

This function will convert the complete file from UTF-8 to Unicode. When the file is saved it will remain as Unicode unless specifically converted to another format by the user. The status bar will show a "U-" in front of the file type (DOS/UNIX/MAC) to indicate the file is Unicode.


Unicode to ASCII command

Unicode to ASCII command (Advanced tab/Conversions dropdown)

This function will convert the complete file from Unicode to ASCII.

The conversion uses the active code page. For information on code pages see the Windows documentation/help.

For Unicode files the status bar will show a "U-" in front of the file type (DOS/UNIX/MAC) to indicate the file is Unicode. Following the conversion this indicator would not be present.

A file may be converted to Unicode with the ASCII to Unicode command .


UTF-8 to ASCII command

UTF-8 to ASCII command (Advanced tab/Conversions dropdown)

This function will convert the complete file from UTF-8 to ASCII. When the file is saved it will remain as ASCII unless specifically converted to another format by the user. It will use the current code page for conversion. It's possible that not all characters may be converted correctly. In this case a default character (?) will be used.


ASCII to UTF-8 command

ASCII to UTF-8 command (Advanced tab/Conversions dropdown)

This function will convert the complete file from ASCII to UTF-8. When the file is saved it will remain as UTF-8 unless specifically converted to another format by the user. The status bar will show "UTF-8" in the field following the file type (DOS/UNIX/MAC).


Unicode/UTF-8 to UTF-8 command

Unicode/UTF-8 to UTF-8 command (Advanced tab/Conversions dropdown)

This function will convert the complete file from Unicode or UTF-8 (ASCII representation) to UTF-8 (with the file internally as Unicode). When the file is saved it will remain as UTF-8 unless specifically converted to another format by the user. The status bar will show "U8-" in front of the file type indicator.

Internally the file will be in UNICODE format and converted back when the file is saved to UTF-8 encoding. In HEX mode the file will be shown with its current internal representation.


Unicode/ASCII/UTF-8 to UTF-8 command

Unicode/ASCII/UTF-8 to UTF-8 command (Advanced tab/Conversions dropdown)

This function will convert the complete file from Unicode, ASCII or UTF-8 (Unicode representation internally) to UTF-8 encoding. The file will however not be internally stored as Unicode and as such the multi-byte UTF-8 characters will display as upper ASCII characters and not the UTF-8 character they represent. When the file is saved it will remain as UTF-8 unless specifically converted to another format by the user. The status bar will NOT indicate this file format as it has no different structure from an ASCII file.


UNICODE to UNICODE Big Endian command

UNICODE to UNICODE Big Endian command (Advanced tab/Conversions dropdown)

This function will convert the complete file from Unicode encoding to Unicode (Big Endian) encoding. Endian refers to the order in which bytes are stored. On Windows platforms, which are mostly little endian, UTF-16LE is just called "Unicode" and UTF-16BE is just called "Unicode (Big Endian)". This is much less confusing for the majority of people who do not work cross-platform.


UNICODE Big Endian to UNICODE command

UNICODE Big Endian to UNICODE command (Advanced tab/Conversions dropdown)

This function will convert the complete file from Unicode (Big Endian) to Unicode encoding. Endian refers to the order in which bytes are stored. On Windows platforms, which are mostly little endian, UTF-16LE is just called "Unicode" and UTF-16BE is just called "Unicode (Big Endian)". This is much less confusing for the majority of people who do not work cross-platform.


Play Any/Multiple Times command

Play multiple times command (Advanced tab/Play macro dropdown)

The Macro Play Any/Multiple Times command allows a macro that has been recorded with the Macro Record command to be replayed multiple times. A dialog box is presented that prompts the user for a number between 1 and 100000 that specifies the number of times the macro should be replayed. To replay the macro a single time use the Macro Play Again command .

This command is not available if a macro record has not been recorded or loaded.


Play Again command

Play again command (Advanced tab/Play macro dropdown)

The Macro Play Again command allows a macro that has been recorded with the Macro Record command to be replayed. The macro is replayed one time for each invocation of the command. To replay the macro multiple times use the Macro Play Any/Multiple Times command .

This command is not available if a macro record has not been recorded or loaded.


Quick Record command

Quick record command (Advanced tab/Record dropdown)

The Macro Quick Record command starts 'recording' keystrokes and actions for later playback. When this is active the command changes to Stop quick recording. Clicking on this, or using the shortcut for Macro Quick Record will stop recording the macro.

The command works in an identical manner to the Macro Record command with the exception that it does not prompt for a name, shortcut key, etc.

When this is played back, no cancel dialog will be shown. In the macro list, this will be shown with a blank name and when recorded will overwrite any existing quick macro, or macro recorded with a blank name.

The purpose of this command is to provide the same ability as recording a macro but with a single keystroke to record and stop recording.

The macro is played back by selecting the Macro Play again or Macro Play multiple times command as with normal macros.


Record command

Record command (Advanced tab/Record dropdown)

The Macro Record command starts 'recording' keystrokes and actions for later playback. Recording is stopped when the Stop Recording command is selected.

This command presents the Macro Definition dialog allowing you to define the macro name and hot key if required. When the dialog is dismissed with the OK button the macro recording starts.

Notes for recording macros:

The Macro Record function records all keystrokes and characters typed while recording is selected. All keystrokes are recorded, including key combinations that move to end of line, top or bottom of document etc. Care should be taken to ensure that when the macro is to be played again the same keystrokes are appropriate. When a macro is being recorded, a Macro Recording notification will be shown in the second cell of the status bar.

Mouse motion and scrolling is NOT recorded while recording is selected. All positioning should be performed with the keyboard.

Macros will record and playback the Next Window and Previous Window commands.

Find and Replace are supported while recording is selected (see Find for special characters that are useful with macros). Any find or replace functions will be recorded directly as performed, unless using special characters that are replaced when executing with the contents of the clipboard or the highlighted text, see Find . If all, or any occurrences of "FIND" are replaced with "REPLACE" in a file, the same action will be performed when the macro is played again .

Cut , Copy and Paste are also supported while macro recording is selected. Any of these operations will be performed dynamically as the macro is played again . That is to say that if an item is cut while recording the macro, an item will be cut while playing back the macro based on the selected text at the time the macro is being played back. If the selected text is different while playing back the macro, from when the macro is recorded, the text cut while playing back the macro will also be different.

As multiple macros are now supported, this command is available when macros already exist.

Hex editing is now supported within macros.

The following commands are supported when recording a macro:

Keyboard entry - typing characters

Cursor positioning

Selecting text with keyboard commands

Cut, copy, paste

Find/replace

HEX mode switching and editing

File open, close, save

Bookmarks

Playing macros - nesting macros

Window switching - next/previous window

Insert/Overstrike selection

Unix/Mac to DOS

DOS to Unix

DOS to MAC

Convert Wrap to CR/LF's

Convert CR/LF's to Wrap


Stop Recording command

Stop Recording command (Advanced tab/Record dropdown)

The Macro Stop Recording command stops capturing keystrokes and actions that was started when the Macro Record command was selected. Once a macro has been recorded and the session has been stopped with this command, the macro may be played back by selecting the Macro Play Again or Macro Play Any/Multiple Times command .

After a macro has been recorded, it may by saved using the Macro Save All command .


Load command

Load command (Advanced tab/Load dropdown)

The Macro Load command presents a dialog box for loading a previously saved set of macros from a disk file. The dialog box allows selection of a file from any file device known to the system. The default filename presented is ULTRAEDIT.MAC, although any filename is acceptable.

When a file is selected for loading a check is made to ensure the file is an UltraEdit macro file.


Load and Append to Existing command

Load and append to existing command (Advanced tab/Load dropdown)

This function allows a macro file to be loaded appending the file to the macros already resident, unlike the Macro Load command that deletes all resident macros before loading the file.

A dialog box is presented for loading a previously saved set of macros from a disk file. The dialog box allows selection of a file from any file device known to the system. The default filename presented is ULTRAEDIT.MAC, although any filename is acceptable.

When a file is selected for loading a check is made to ensure the file is an UltraEdit macro file.


Edit Macro command

Edit macro command (Advanced tab/Configure dropdown)

The Edit Macro command allows a new macro to be created and edited or an existing macro that has previously been generated with this command or with the Macro Record command to be edited.

In many cases, it is easier for the user to generate the macro by recording it with the Macro Record command and then to edit it if necessary. The learning curve is less with this approach.

Commands

A macro is a series of commands that may later be played back automatically to modify the file. The left hand side of the dialog shows the current macro being edited and an editable window containing the commands that make up the macro.

The commands in the macro must be one of the predefined commands. These predefined commands are shown on the right hand side of the dialog. If the mouse is double clicked on the command it is automatically added to the macro, or clicking on the arrow to the left of the commands will add it to the macro.

Parameters

Many of the commands have numeric parameters. The numeric parameters are quite obvious, such as "GotoLine # #" or "GotoPage #". However, some of the commands such as Find and Replace, Sort etc. have additional parameters that are not numeric. These additional parameters are listed below the command list for easy selection.

Creating a New Macro

To create a new macro from this dialog click the New Macro button. This displays the Macro Definition dialog allowing you to define the macro name and hot key if required.

When this new macro is created, four macro commands are automatically added to the macro:

- Insert Mode or OverStrike Mode

- ColumnModeOn or ColumnModeOff

- HexOn or HexOff

- UltraEditReOn or UnixReOn or PerlReOn

These four commands are added based on the current state of the editor. The purpose is to establish a known state each time the macro is played. If a macro is recorded in one mode and played back in another the results may be unpredictable. Establishing the mode at the beginning of the macro helps to ensure the expected results are achieved. These commands may be modified as required.

Once a macro has been created, it may be edited. Please note, that "^c" and "^s" may be used with many macro commands and will be replaced with the contents of the clipboard (^c) and the text currently selected (^s) when used. This allows users to record a macro that may reference a specific string and replace this with one of these two items to allow the string to be dynamically "specified" as the macro is run.

Modifying The Macro

To modify the macro, commands may be typed directly into the macro edit box or selected from the command list. Commands are not case sensitive but must be spelled exactly as shown in the command list.

The table below shows the commands that may be added to any parameters:

Commands

Parameters*

Description

""

Insert text between the quotes (""). The closing quote must be the last non-space character on the line. The characters to be inserted may cross multiple lines. To insert a quote ("), place it as needed in the text being inserted and ensure the last character is also a quote. To insert just one quote character (") the line should look like this:

"""

To insert a new line, add a line between the open quote and close quote. To insert two lines with 1 and 2 at the beginning of the lines the command should be as follows:

"1
2"

AnsiToOem

Convert file from ANSI to OEM

ASCIIToUnicode

Convert file from ASCII to Unicode

ASCIIToUTF8

Convert file from ASCII to UTF-8

Bottom

Jump to end of file

CancelSelect

Clears any selection in active document

ClearClipboard

Clear the contents of the active clipboard within UltraEdit

Clipboard

Clipboard number (0-9)

Select the specified clipboard 0 = Windows clipboard and 1-9 specifies user clipboards

CloseFile

Blank (no parameter)
Save forces the file to be saved before closing
NoSave closes the file without prompting if the file should first be saved

Close the active file

ColumnCenterJustify

Center justify selected columns

ColumnCut

Numeric value of columns to cut

Cut in column mode the selected columns or the specified number of columns from current cursor position to bottom of the file. Value "0" must be used to cut the selected columns.

ColumnDelete

Numeric value of columns to delete

Delete in column mode the selected columns or the specified number of columns from current cursor position to bottom of the file. Value "0" must be used to delete the selected columns.

ColumnInsert

String in quotes ("")

Insert string between quotes into selected columns

ColumnInsertNum

start number
increment
LeadingZero (optional)
HEX (optional)

Insert number in selected columns. For example to insert a number starting with number 20 with an increment of -1 (= decrement by 1) with leading zeros in hexadecimal notation at the current column on every selected line or from current line to last line following command must be used:

ColumnInsertNum 20 -1 LeadingZero Hex

ColumnLeftJustify

Left justify selected columns

ColumnModeOff

Turn the column mode off

ColumnModeOn

Turn the column mode on

ColumnRightJustify

Right justify selected columns

CommentAdd

Insert the line comment string as defined in the syntax highlighting language used to highlight the current file at start of every selected line or the current line if there is no selection. This command has no affect on a file not highlighted with a syntax highlighting language or when the language has no line comment definition. The cursor position does not change and the selection remains.

CommentRemove

Remove the line comment string as defined in the syntax highlighting language used to highlight the current file at start of every selected line or the current line if there is no selection. This command has no affect on a file not highlighted with a syntax highlighting language or when the language has no line comment definition. The line comment string must be at start of the line (column 1) without preceding whitespace. A line comment string after one or more spaces or tabs is ignored and not removed. The cursor position does not change and the selection remains.

CommentSelectionAdd

Insert the "block comment on" string at start and the "block comment off" string at end of a selection as defined in the syntax highlighting language used to highlight the current file. If nothing is selected on execution of the command, both strings are inserted at current cursor position. This command has no affect on a file not highlighted with a syntax highlighting language or when the language has no block comment definition. If the selected block contains already a block comment and the language does not support nested blocks comments, command CommentAdd is automatically executed instead of this command for inserting the line comment string at start of every selected line if the language supports a line comment. The cursor moves to start of the inserted "block comment on" string and the selection is removed after execution when the block comment strings are inserted.

CommentSelectionRemove

Remove the "block comment on" string at start and the "block comment off" string at end of a selection as defined in the syntax highlighting language used to highlight the current file. The command has no affect if nothing is selected on execution of the command. And the command works only if the current selection starts with the "block comment on" string and ends with the "block comment off" string. Whitespace inside the selection before "block comment on" string or after "block comment off" string are not ignored and result in not removing the block comment strings. The cursor moves to start of the selection and the selection is removed after execution when the block comment strings are removed.

Copy

Copy selected text to the clipboard

CopyAllBookmarkLines

Copy all bookmarked lines in active document to clipboard

CopyAppend

Copy selected text and append it to the clipboard

CopyFilePath

Copy the active file path/name to the clipboard

Cut

Cut the selected text from the file to the clipboard

CutAllBookmarkLines

Cut all bookmarked lines in active document to clipboard

CutAppend

Cut the selected text from the file and append it to the clipboard

DecodeBase64

Converts the selected text from Base64

DecryptFilePrompt

Presents the Decrypt File dialog prompting user for the full path of the file to decrypt and the passphrase to be used as the decryption key

DelAllBookmarkLines

Delete currently bookmarked lines in active document

DelAllEmptyAndWhitespaceOnlyLines

Deletes all lines in the active document that have nothing on them and lines that only have whitespace characters on them

DelAllEmptyLines

Deletes all lines in the active document that have nothing on them (including whitespace)

DelAllHiddenLines

Delete lines currently hidden/folded in active document.

Delete

Delete current character or selected text

DeleteLine

Delete the current line

DeleteToEndofLine

Delete from the current cursor position to the end of the line

DeleteToStartofLine

Delete from the current cursor position to the start of the line

DosToMac

Convert the file (line terminators) to MAC format

DosToUnix

Convert the file (line terminators) to UNIX format

DupeLine

Inserts duplicate of active line below cursor

Else

Else function for an If ... command

IfSel
...
Else
do these commands if the IfSel failed.
EndIf

EncodeBase64

Converts the selected text to Base64

EncryptFilePrompt

Presents the Encrypt File dialog prompting user for the full path of the file to encrypt and the passphrase to be used for encryption

EndIf

Ends the block of instructions controlled by the If... statements

EndLoop

End of loop - go back to beginning of the loop - see the Loop command

EndSelect

Stop selecting text (see StartSelect for details)

EnvTemplate

Template name in quotes ("")

Insert the specified layout (formerly environment) template into the file

ExitLoop

Exit loop and go to first command after the loop (after the EndLoop command) - see the Loop command

ExitMacro

Exit macro without processing any additional commands or returning an error

Find

"" (Search string in quotes)
AllFiles indicates that search will include all open files (optional)
Ascii indicates an ASCII search in hex mode (optional, hex mode only)
MatchCase indicates the search is case sensitive (optional)
MatchWord indicates the search string will only match instances that are a complete word (optional)
PreserveCase if used the case of the replace string matches the case of the found string, only useful with a following Replace command (optional)
RegExp indicates a regular expression search (optional)
Up indicates search in reverse direction (optional)
SearchInColumn indicates search should be restricted to specified columns (optional). The next two parameters must be the numbers for the starting and the ending column. The column numbering starts with "0" (start of line). The ending column can have the value "-1" which means end of line.
Select indicates the text should be selected from the current selection/position to the end of the search target
SelectText indicates that search will be restricted to currently selected text (optional)

Find the string in quotes "" based on the parameters specified.

Some examples:

Find a single alphabetic character in any case:

Find RegExp "[A-Z]"

Find a single alphabetic character in upper case only:

Find MatchCase RegExp "[A-Z]"

Find a single character which is NOT 'a' or 'A' or CRLF (UltraEdit syntax):

Find RegExp "[~a^p]"

Find a single character which is NOT 'a' or LF (Unix/Perl syntax):

Find MatchCase RegExp "[^a\n]"

FindInFiles

"" (Initial Directory string in quotes)
"" (In Files/Types string in quotes)
"" (Search string in quotes)
DisplayLinesDoNotMatch limits output to lines not matching the search string (optional)
FavFiles if used the search is restricted to files specified under Favorite files in the Application menu (optional)
IgnoreHiddenSubDirs if used the search will skip over subdirectories defined as "hidden" in the Windows file system (optional)
MatchCase indicates the search is case sensitive (optional)
MatchIfNotFound if used the search will return files which do NOT include the specified search string (optional)
MatchWord indicates the search string will only match instances that are a complete word (optional)
OpenFiles indicates the search should be limited to files currently opened for editing (optional)
OpenMatchingFiles if used causes all files matching search parameters to be opened in editor (optional)
OutputWin if used returns output of search to output window; if not used output is returned to a new edit window (optional)
ProjFiles if used the search is restricted to files specified as part of the active project (optional)
Recursive if used the search will continue through all subdirectories of the specified search directory (optional)
RegExp indicates a regular expression search (optional)
SolFiles if used the search is restricted to files specified as part of the active solution (optional, only UEStudio)
Unicode if used the specified search string will be interpreted as multi-byte Unicode string and a Unicode find is executed (optional)
 UseEncoding if used the specified number will be used to determine the encoding used for the search string (optional)

Searches through specified files to find the string in quotes "" based on the parameters specified. The format must be as follows:

FindInFiles BoldParameters "Initial Directory" "Files/Types" "Search String"

For example:

FindInFiles OutputWin "c:\temp\test\" "*.html" "home"

The Recursive parameter is ignored when the search is in all open files, project files or solution files.

The initial directory and the file/type arguments should be empty strings "" when using FavFiles, OpenFiles, ProjFiles or SolFiles.

FromEBCDIC

Convert text from EBCDIC format

GetString

String in quotes ("") used in the prompt dialog

Prompts the user for a string that is inserted in the file at the current location. The "prompt" is the prompt or question that is displayed to the user when the macro is run

GetString "What country do you live in?"

GetValue

String in quotes ("") used in prompt dialog

Prompts the user for a value that is inserted in the file at the current location. The "prompt" is the prompt or question that is displayed to the user when the macro is run.

GetValue "How old are you?"

GotoBookMark

Index of bookmark to jump to or -1 to go to next bookmark

Jump to the next/specified bookmark. The indexes start with 0. If a user enters an index that is greater than the actual number of bookmarks then caret is automatically set to the next bookmark like when using -1 as bookmark number.

GotoBookMarkSelect

Index of bookmark to jump to or -1 to go to next bookmark

Jump to the next/specified bookmark and select text from the cursor position to bookmark. The indexes start with 0. If a user enters an index that is greater than the actual number of bookmarks then caret is automatically set to the next bookmark like when using -1 as bookmark number.

GotoEndOfNextWord

Jump to end of next word

GotoEndOfNextWordSelect

Jump to end of next word and select all text from current caret position

GotoEndOfPrevWord

Jump to end of previous word

GotoEndOfPrevWordSelect

Jump to end of previous word and select all text from current caret position

GotoLine

Numeric value of line and column number to jump to

Jump to the specified line and column number. Use line number 0 to jump to the specified column in the current line.

GotoLineSelect

Numeric value of line and column number to jump to

Jump to specified line number and column number and select text from cursor position to line/column. Use line number 0 to jump to the specified column in the current line while selecting text.

GotoPage

Numeric value of page to jump

Jump to specified page number

GotoPageSelect

Numeric value of page to jump

Jump to specified page number and select text from cursor position to page number

HexDelete

Numeric value specifying number of bytes to delete

Delete the specified number of bytes from the file

HexInsert

Numeric value specifying number of bytes to insert

Insert the specified number of bytes (spaces) into the file

HexOff

Turn Hex mode off - switch to text mode

HexOn

Turn Hex mode on

HideShowCollapseAll

Collapse all foldable lines in active document

HideShowExpandAll

Expand all folded/collapsed lines in active document

HideShowSelection

Hide the selected lines, or if hidden, show the lines hidden at the line of the cursor

IfCharGt

"character" or number

This checks if the current character at the cursor position is greater than the specified character or number specified. The check against a number is not to check the value of a string but the value of the underlying character.

IfCharGt " "
... do these commands if the current character is greater than a space.
...
EndIf

IfCharGt 32
... do these commands if the current characters decimal value is greater than 32 - a space.
...
EndIf

IfCharIs

"string" or number

This checks if the current character at the cursor position is in the specified string, or matches the decimal number.

IfCharIs "xyz"
... do these commands if the current character is x, y, or z.
...
EndIf

IfCharIs 34
... do these commands if the current character is decimal value 34 - a double quote.
...
EndIf

IfColNum

number

This checks if the current cursor position is the specific column number.

IfColNum 10
... do these commands if the current cursor position is column 10. Column 1 is the first column.
...
EndIf

IfColNumGt

number

This checks if the current cursor position is greater than the specific column number.

IfColNumGt 10
... do these commands if the current cursor position is greater than column 10. Column 1 is the first column.
...
EndIf

IfEof

This checks if the current cursor position is at the end of file.

IfEof
... do these commands if at end of file.
...
EndIf

IfExtIs

"string"

This checks if the file extension of the active file matches the specified string. If the extension matches, the condition is satisfied and the macro will execute the steps following the IfextIs statement.

IfExtIs "txt"
... do these commands if the current file extension is txt.
...
EndIf

IfFound

This checks the results from the last find command in the macro and will execute the next set of instructions up to an "EndIf" if the last search was successful:

Find "something"
IfFound
... do these commands if "something" was found.
...
EndIf

NOTE - To avoid a "Not Found" message when running the macro, make sure the "Continue if a Find with Replace Not Found" check box is set for the macro properties.

IfFTP

This checks if the current file is a file loaded via FTP/SFTP and not a local/network file.

IfFTP
... do these commands if the file is an FTP loaded file.
...
EndIf

IfNameIs

"string"

This checks if the active filename (not path or extension) matches the specified string. If the name matches, the condition is satisfied and the macro will execute the steps following the IfNameIs statement.

IfNameIs "test"
... do these commands if the current filename is test (irrespective of the file extension).
...
EndIf

IfNotFound

This checks the results from the last find command in the macro and will execute the next set of instructions up to an "EndIf" if the last search was NOT successful:

Find "something"
IfNotFound
... do these commands if "something" was NOT found.
...
EndIf

NOTE - To avoid a "Not Found" message when running the macro, make sure the "Continue if a Find with Replace Not Found" check box is set for the macro properties.

IfSel

This checks if there is currently any selected text within the active file.

IfSel
... do these commands if "something" is selected.
...
EndIf

InsertLine

Inserts blank line below current cursor position

InsertMode

Change text editing mode to insert mode for characters typed

InsertPageBreak

Insert a form feed/page break character at the current cursor position in the file

InvertCase

Invert the case of selected text

Key

BACKSPACE
DEL
DOWN ARROW
END
HOME
LEFT ARROW
PGDN
PGUP
RIGHT ARROW
UP ARROW
Ctrl+END
Ctrl+HOME
Ctrl+LEFT ARROW
Ctrl+RIGHT ARROW

Insert a key command into the macro. Generally used for navigation in the file and for backspace or delete. The "Ctrl+" modifier may be used as with normal editing to modify the command.

For text input the "" string command is used, not the Key command.

LngTemplate

Template name in quotes ("")

Insert the specified language template into the file

Loop

#

Loop # times where # is a number. A value of 0 indicates Loop forever. For example:

Loop 10
... do these commands 10 times
...
EndLoop

If the Loop command exists, the application checks for ExitLoop or ExitMacro until an EndLoop command is reached. If neither of these exist, the macro loop will be limited to one iteration only.

MatchBrace

Find matching brace and select the text between them

MoveLineDown

Moves active line down one line from current position

MoveLineUp

Moves active line up one line from current position

NewFile

Open a new blank file

NextDocument

Switch to next file tab document

NextWindow

Switch to next window

OemToAnsi

Convert file from OEM to ANSI

Open

Filename in quotes ("")

Open the specified file. The filename must be in quotes. "^s" may be used in the filename. UltraEdit will replace this with the currently selected text in the active window. Likewise, "^c" may be used and UltraEdit will replace this with the contents of the clipboard.

OverStrikeMode

Change text editing mode to overstrike mode for characters typed

Paste

Paste the contents of the clipboard into the file

PerlReOn

Switch regular expressions to Perl compatible style regular expressions

PlayMacro

Numeric value specifying number of times to play it

Macro name ("") in quotes

Play another macro. Specify the number of times to play the macro first, then the macro name. The macro name must be in quotes and is case sensitive and the macro must already exist.

PreviousBookmark

Jump to the previous bookmark

PreviousBookmarkSelect

Jump to the previous bookmark and select text from cursor position to bookmark

PreviousDocument

Switch to previous file tab document

PreviousWindow

Switch to previous window

PrjTemplate

Template name in quotes ("")

Insert the specified project template into the file

ReIndentSelection

Re-indents currently selected text in active file

Replace

All Replace all occurrences.
AllFiles Replace in all open files (requires All).
SelectText Replace in selected text (Requires All).
Replace String in quotes ("") - String to replace the found string

The Replace command replaces the previously found string with the string specified. This command MUST follow a Find command.

As with the Find string, the replace string must be in quotes. The closing quote must be the last non-space character on the line.

The replace string may cross multiple lines however, if the last non-space character in any line is a quote it will terminate the string. All special characters permitted by the Replace Command are permitted here.

ReplInFiles

"" (Initial Directory string in quotes)
"" (In Files/Types string in quotes)
"" (Search string in quotes)
"" (Replace string in quotes on the same line as end of search string)
FavFiles if used the search is restricted to files specified under Favorite files in the Application menu (optional)
IgnoreHiddenSubDirs if used the search will skip over subdirectories defined as "hidden" in the Windows file system (optional)
Log creates a list of changed files in the output window (optional)
MatchCase indicates the search is case sensitive (optional)
MatchWord indicates the search string will only match instances that are a complete word (optional)
OpenMatchingFiles if used causes all files matching search parameters to be opened in editor (optional)
PreserveCase if used the case of the replace string matches the case of the found string (optional)
ProjFiles if used the search is restricted to files specified as part of the active project (optional)
Recursive if used the search will continue through all subdirectories of the specified search directory (optional)
RegExp indicates a regular expression search (optional)
SolFiles if used the search is restricted to files specified as part of the active solution (optional, only UEStudio)
Unicode if used the specified search and replace string will be interpreted as multi-byte Unicode strings and a Unicode replace is executed (optional)
 UseEncoding if used the specified number will be used to determine the encoding used for the search and replace string (optional)

Searches through specified files to find the string in quotes "" based on the parameters specified and replace this as specified. The format must be as follows:

ReplInFiles BoldParameters "Initial Directory" "Files/Types" "Search String" "Replace String"

For example:

ReplInFiles "c:\temp\test\" "*.html" "line x
line y" "line y
line x"

The Recursive parameter is ignored when the search is in all open files, project files or solution files.

The initial directory and the file/type arguments should be empty strings "" when using FavFiles, OpenFiles, ProjFiles or SolFiles.

ReturnToWrap

Convert hard returns to word wrap

RunTool

String in quotes ("") specifying the case sensitive menu name of tool to run

Runs a tool. The tool must be configured using the Configure tools command from the User tools dropdown in the Advanced tab.

Save

Save active file

SaveAll

Save all open files

SaveAs

Filename in quotes ("")

Save the active file as the filename specified. The filename must be in quotes. "^s" may be used in the filename. UltraEdit will replace this with the currently selected text in the active window. Likewise, "^c" may be used and UltraEdit will replace this with the contents of the clipboard.

SelectAll

Select all text in the file

SelectLine

Select all text on active line

SelectToBottom

Select all text from the current position to the end of file

SelectToTop

Select all text from the current position to the top of file

SelectWord

Select the current word (same as double clicking a word)

SortAsc

IgnoreCase Ignore case of characters in the sort.
RemoveDup Remove duplicate lines.
RemDupByAllKeys Remove duplicate lines where all specified keys match.
RemDupByAnyKeys Remove duplicate lines where any specified keys match.
RemKey1 Sort columns specified for key 1 used when removing duplicates.
RemKey2 Sort columns specified for key 2 used when removing duplicates.
RemKey3 Sort columns specified for key 3 used when removing duplicates.
RemKey4 Sort columns specified for key 4 used when removing duplicates.
Numeric Sort based on numeric value, not character order. Cannot be used with Alternate or Locale sort.
Alternate Specifies that the sort should use the alternate sort method. With the alternate sort method only a single sort key may be used.
Locale Specifies that the sort should be locale specific. Cannot be used together with the Alternate parameter.
Pairs of sort keys (numeric values), each value is separated by a space.

Sort the file, or selected text in ascending order.

For example:

SortAsc IgnoreCase RemoveDup Numeric 1 -1 0 0 0 0 0 0

SortDes

IgnoreCase Ignore case of characters in the sort.
RemoveDup Remove duplicate lines.
RemDupByAllKeys Remove duplicate lines where all specified keys match.
RemDupByAnyKeys Remove duplicate lines where any specified keys match.
RemKey1 Sort columns specified for key 1 used when removing duplicates.
RemKey2 Sort columns specified for key 2 used when removing duplicates.
RemKey3 Sort columns specified for key 3 used when removing duplicates.
RemKey4 Sort columns specified for key 4 used when removing duplicates.
Numeric Sort based on numeric value, not character order. Cannot be used with Alternate or Locale sort.
Alternate Specifies that the sort should use the alternate sort method. With the alternate sort method only a single sort key may be used.
Locale Specifies that the sort should be locale specific. Cannot be used together with the Alternate parameter.
Pairs of sort keys (numeric values), each value is separated by a space.

Sort the file, or selected text in descending order.

For example:

SortDes RemoveDup Locale 0 -1 0 0 0 0 0 0

SpacesToTabs

Convert (leading) spaces within the file to tabs

SpacesToTabsAll

Convert (all) spaces within the file to tabs

StartSelect

Start selection. This turns the selection mode on. Any cursor movement or positioning will be with selection on and the text is selected. EndSelect will stop the selection mode. The selected text will remain selected until another command causes it not to be selected as with normal editing.

TabsToSpaces

Convert all tabs within the file to spaces

Template

Template name in quotes ("")

Template number (#) (optional)

Insert the specified global template into the file

TimeDate

Insert the time and date into the file at the current location

ToCaps

Capitalize each word in the selected text

ToEBCDIC

Convert text to EBCDIC format

ToggleBookmark

Set or remove a bookmark at the current line

ToLower

Convert the selected text to lower case

Top

Jump to top of file

ToUpper

Convert the selected text to upper case

TrimLeadingSpaces

Trim leading spaces from each line of current file

TrimTrailingSpaces

Trim trailing spaces from each line of current file

UltraEditReOn

Switch regular expressions to UltraEdit style regular expressions (not Unix)

UnicodeToASCII

Convert file from Unicode to ASCII

UnixMactoDos

Convert the active file (line terminators) from Mac/Unix to DOS format

UnixReOn

Switch regular expressions to Unix style regular expressions

UTF8ToASCII

Convert file from UTF-8 to ASCII

WrapToReturn

Column number (#) at which wrap is performed. Zero for the column number indicates the wrap is to occur at the window boundary.

Convert the file from word wrap to hard returns

XMLConvertToCRLF

Converts single-line XML text to indented XML format

* Where (#) exists in the parameter column a numeric value is to be entered for that parameter. Likewise, where ("") exists in the parameter column a string is to be entered between quotes. The text only describes the meaning of the parameter.
All string parameters must be the last parameter.


Delete Macro/Mod. Properities command

Configure macros command (Advanced tab/Configure dropdown)

This command allows the user to delete a macro or modify the hot key associated with any macro. A dialog box is presented that shows all of the macros, and allows any macro to be selected and its hot key modified (or the macro may be deleted). No support is provided to modify the contents of a macro. For more details on the hot key assignments see Macro Recording .


Delete All command

Delete all macros command (Advanced tab/Configure dropdown)

This command deletes all the resident macros. If any of the macros have been created or modified since the file was saved, the user is prompted allowing the macros to be saved prior to deleting them.


Save All command

Save all macros command (Advanced tab/Configure dropdown)

The Macro Save All command presents a dialog for saving to a disk file the macros that have been recorded using the Macro Record command . The dialog box allows selection of a file from any file device known to the system. The default filename presented is UltraEdit.MAC, although any filename is acceptable.

This command is available only if a macro has been recorded or loaded.


Set Auto Load command

Set macro for auto-load command (Advanced tab/Configure dropdown)

The Macro Set Auto Load command allows you to specify a macro file that should be loaded automatically when UltraEdit is started.

This also allows a specific macro to be executed a specified number of times, if required. A macro file may be loaded automatically without executing a macro.

This method of loading a macro at startup overrides the Command Line parameters for loading a macro. If no macro is specified to be loaded here, the command line parameter setting, if specified, will be used.


Set Macro for File Load/Save command

Set macro for file open/save command (Advanced tab/Configure dropdown)

This command allows the user to specify a macro to be executed each time a file is loaded or saved.

The dialog box shown provides the following options:

Macro filename

This specifies the full path and name of the macro file containing the macro(s) to be run when a file is loaded or saved. If macros are to be run when a file is loaded and saved, they must be in the same file.

Macro name to run on load

This specifies the name of the macro to run when a file is loaded. The macro if specified is run AFTER a file is loaded. It is run for each file loaded.

# of times

This specifies the number of times for each file to execute the macro specified for file load.

Macro name to run on save

This specifies the name of the macro to run when a file is saved. The macro if specified is run BEFORE the file is saved. It is run for each file saved.

# of times

This specifies the number of times for each file to execute the macro specified for file save.

Note – If the user only wants to run these macros for certain types of files the user can test in the macro for the file name or extension and take appropriate action in the macro.


Post Macro Record Options

Show post macro record options command (Advanced tab/Configure dropdown)

The Post Macro Record Options dialog facilitates the use of options available to the user after a macro has been recorded.

Macro File Used For Save

If a macro is loaded while recording a macro, the currently loaded macro path and name will be reflected here. In this case, a Save button would be displayed in the dialog. If no macro is loaded, pressing the Save As button will present a Save As dialog where the user can specify the path and name the macro just recorded should be saved under. Once a macro save file is specified, the option to Load macro file on start up will be active.

Macro File To Load On Start Up

If a macro is currently specified under Set Auto Load to be loaded for use on startup, the path and name of the macro will be indicated here. If the user desires, the macro being saved may be specified to be loaded for use on startup. This would replace the previously specified macro with the macro just recorded.

Load macro file on start up

If this option is selected, the macro just recorded would be loaded when the editor is started.

Do not show this dialog again

If this option is selected, the Show Post Macro Record Options option will be unchecked in the Macro menu and the dialog would not be shown when future macros are recorded.


Warn on Exit if Macro not Saved cmd

Warn on exit if macro not saved command (Advanced tab/Configure dropdown)

This indicates and determines if a warning will be issued when UltraEdit closes, or a new macro file is loaded and the existing macros have been modified but not saved.

If this is not checked, no warning will be given.


Scripting

All scripts (Scripts dialog) (Advanced tab)

The Scripts dialog (accessed by clicking All scripts in the Advanced tab) shows a list of scripts which have been added to a list accessible for usage within the editor.

Pressing the Add button will present an Open dialog where the user may select a JavaScript file (*.js) to be added to the list and also specify a short description to be shown in the Scripting dialog in the Script Description field. For scripts that have already been added to the list, double-clicking on the description will make this field active so that the description may be edited.

If a script in the list is selected and the Edit button is pressed the selected script will be opened for editing. If a script is selected and the Remove button is pressed the selected script will be removed from the list, but not deleted from the system. Hovering the cursor over a script name will cause the full path to the script to be displayed in a tooltip.

If a user clicks in the Hotkey or Chord field associated with an added script they can type directly in this field to specify a key sequence to be used to invoke the script.

The OK button should be pressed to save all changes made.

For a full listing of the commands supported for scripting in UltraEdit/UEStudio please click here.

For a Demo and Tutorial regarding scripting in UltraEdit/UEStudio please click here.


Configuration Summary

When Settings is selected in the Advanced tab, a Configuration dialog is presented with configuration options divided by category. These may be easily navigated using the index tree to the left of the dialog. Clicking on any of the major headings will expand that section and subheading may be selected to access related options.

To read about what each setting does, please click on the Contents page in the Help and double click on Ribbon Commands and then double click on Advanced Tab and double click on Configuration Group. This will open a mirror of the index tree in the configuration dialog in the Help files. Users may expand the major sections in the Help:

Editor

Search

Spell Checker

File Handling

File Associations

File Types

Editor Display

Function List

Application Layout

Toolbars/Menus

Directories

Key Mapping

FTP

Scripting

Templates

IDE

XML Manager

Integrated Applications

Double-clicking on a heading and clicking on the topics included below will provide summaries of the associated options.

Configuration Navigation

All of the configuration dialogs include a natural language navigation textbox to the lower left of the dialog as shown below:

Users may enter search strings here for items they hope to find in configuration. The editor will then search for a match and if one is found, the associated configuration dialog will automatically be displayed.

* Please note: The IDE and Integrated Applications configuration items are only supported in UEStudio, and not in UltraEdit.


Advanced

Advanced (Configuration - Editor)

The Advanced branch under Configuration - Editor has the following options:

Allow low ASCII values to be entered (usually control codes)

This setting allows the input of "low values" to be entered such as control codes while editing. Normally these would be ignored.

Load/Restore printer settings

The editor tries to communicate with the printer driver when it loads and shuts down (to preserve settings). If a network printer is specified as the default printer and not available this may cause a delay on startup while the editor tries to find the printer on the network. If this option is not selected then the editor does not communicate with the printer.

ESC key hides output window when visible

If this option is selected the output window may be dismissed by pressing the Escape key if the output window has focus.

Grouped undo

If this option is selected undo will be executed on a word-by-word rather than character-by-character basis. If this setting is toggled during the editing of a document (and the undo buffer is partially created with both settings) the undo functionality will reflect the settings in place at the time the document was created. This could cause part of the text in a file to be undone as grouped characters and part to be undone character-by-character.

Auto-Save modified documents when application loses focus

If this option is selected all modified documents will be saved when focus shifts to another application.

Preserve leading spaces when joining lines

If this option is selected, leading spaces will be retained when the join lines command is executed.


Auto-complete

Auto-complete (Configuration - Editor)

The Auto-complete branch under Configuration - Editor has the following options:

Do not auto-correct structure members (items following "." or "->")

This setting causes the editor not to auto-correct keywords following a "." or "->". This was configured as the default due to issues faced particularly by Java programmers using Auto Complete. If this setting is not selected keywords following these items would be auto corrected.

Show auto-complete dialog automatically

This setting causes the auto-complete popup-dialog to be shown automatically as the users types instead of waiting for it to be invoked specifically by the user. The default setting is for this not to be shown (unchecked). If desired, the user may specify a minimum number of characters that must be typed before the auto-complete dialog is displayed.

If this option is enabled and when 3 chars are typed is configured (which is the default), typing "if" in a JavaScript file does not result in auto-suggesting the language template named "if". The user must press Ctrl+Space to open the auto-completion list and press TAB to insert the template. This is the designed behavior. With auto-complete enabled the auto-suggest templates feature is replaced by the auto-complete feature.

For auto-complete options in UEStudio please refer to IntelliTips auto-complete.

Sort matches by case

When this option is selected, the auto-complete list is sorted according to case when displayed. If this option is not selected, words displayed in the auto-complete dialog are only sorted alphabetically.

List only exact case matches

When this option is selected, only exact matches for the typed string will be shown in the auto-complete dialog. The order in which these items are sorted depends on the Sort matches by case setting.

List exact case matches first

When this option is selected, the auto-complete dialog will promote exact matches for the typed string to the top of the auto-complete list.


Braces/strings

Braces / strings (Configuration - Editor Display)

The Braces/strings branch under Configuration - Editor Display has the following options:

Enable auto-brace matching

When this option is selected, and the cursor is positioned beside an open or close brace, the matching brace will automatically be highlighted.

Brace match in comments

If this option is selected the Go to brace and Select to brace functions in the Coding tab and auto-brace matching (if active) will match braces in commented text as well as in source code.

Enable brace auto-completion

If this option is enabled, when an opening brace character is typed, the matching close brace character will automatically be inserted into the active document. The open and close brace characters used for this feature are specified in the wordfile associated with the active file’s syntax highlighting. If the wordfile contains no open and close brace characters, or if the active file is not syntax highlighted, the default brace characters are used: {}, (), and [].

If Backspace is pressed immediately following the auto-completion of a close brace, both the opening and closing brace will be removed.

If the user manually types the closing brace following the auto-completion of a close brace or when the caret is positioned immediately in front of a close brace, the editor will detect this and skip over the closing brace without inserting a second closing brace, so that multiple closing braces are not inserted.

...in comments

If this option is enabled, braces will automatically be completed in line and block comments.

...in strings

If this option is enabled, braces will automatically be completed in strings.

...in plain text files

If this option is enabled, braces will automatically be completed in plain text files.

Enable string auto-completion

If this option is enabled, when an opening string character is typed, the matching close string character will automatically be inserted into the active document. The open and close string characters used for this feature are specified in the wordfile associated with the active file’s syntax highlighting. If the wordfile contains no specification for String Chars, or if the active file is not syntax highlighted, the default string characters are used: ' and ".

...in comments

If this option is enabled, strings will automatically be completed in line and block comments.

...in plain text files

If this option is enabled, strings will automatically be completed in plain text files.


Bookmarks

Bookmarks (Configuration - Editor)

The Bookmarks branch under Configuration - Editor has the following options:

Prompt for name when adding bookmark

If this option is selected the Add Bookmark dialog is presented when a bookmark is added, prompting the user to enter a name for the added bookmark.

Display name when hovering over bookmark

If this option is selected a tooltip containing the bookmark name and the line number on which the bookmark is located will be displayed when the cursor hovers over the bookmark.

Highlight entire line

If this option is selected, setting a bookmark in a file will cause the entire line to be highlighted rather than just the associated line number. If desired, users may select this option along with Disable line numbers under Editor Display -> Miscellaneous to remove the line number gutter.

Bookmark column with line

If this option is selected the column the cursor is located in at the time the line is bookmarked is stored. Jumping to a bookmark will position the cursor accordingly. If this option is not selected, the cursor will be positioned at the beginning of the line when moving to a bookmark.

Save Bookmarks

This option allows users to save bookmarks for any file that has active bookmarks when a file is closed. If this option is disabled the editor will delete any saved bookmarks the next time the editor is closed.

Independent bookmarks for each split window

If this option is selected, bookmarks will be stored and tracked independently for each split window.


Column Mode

Column Mode (Configuration - Editor)

The Column Mode branch under Configuration - Editor has the following options:

No overstrike of unselected columns

If you never want overstrike mode to be used with column operations, you may select this option.

Overstrike if in overstrike mode

If this option is selected, the column operations operate either in insert mode (as default) or overstrike/overpaste mode based on the insert/overstrike keyboard setting. This is toggled by the Insert Key and shows up on the status bar. If in overstrike mode, cut/delete operations will remove the contents but leave spaces so that column data is not shifted. Paste operations will paste over the current position data and not shift columns either.

Always overstrike unselected columns

If overstrike mode is what you require permanently for column mode, you may select this option.

Automatically populate sort fields when in column mode

When text is selected in column mode and this option is selected, the column values for the current selection will be used to automatically populate sort fields in the Advanced Sort/Options dialog when the Sort function is invoked.

Paste into all selected columns when clipboard contains less than 1 line

If this option is selected, and a multi-line selection exists in column mode, a single string copied to the clipboard will paste to all selected lines. If this option is not selected, the column mode paste would only apply to the first selected line.


Delimiters

Delimiters (Configuration - Editor)

The Delimiters branch under Configuration - Editor has the following options:

Delimiter character for line/column designator on command line: /

This setting determines the character following a filename that allows the user to add /xxx to go to a line number or column number. If this character conflicts with a file or path name it can be modified to a character that is not likely to appear in a file or path name.

Left delimiters for Ctrl + Dbl Click: {}<>'"

Right delimiters for Ctrl + Dbl Click: {}<>'"

Selection of text by double clicking the primary mouse button (usually the left button) is supported by default. Normally a single word is selected made up of any alphanumeric character or underscore '_'.

If the control key is pressed at the time the primary mouse button is double clicked, a string is selected rather than just a single word. This can be very useful in selecting filenames, email addresses, etc. The characters that delimit the string are configurable with the two options above. This function works on a single line only.

These entries, one for the left edge of the text to be selected and one for the right edge, specify what characters should be used to stop any further text from being selected. If a space only is specified in each field all text either side of the cursor position will be selected until a space is encountered.


Hex Edit

Hex mode (Configuration - Editor)

The Hex Edit branch under Configuration - Editor has the following options:

Open files containing hex 00's (nulls) in hex mode

If this option is selected, any file containing nulls which is not detected as a UTF-16 file will be opened automatically in hex mode. If this option is not selected, then the file would be opened as a normal text file for editing. The editor will respect and retain the active mode (text mode or hex mode) for the active file when reloading the file (either via Revert to Saved, File Change Detection, or File Change Polling).

Allow editing of text files with hex 00's without converting them to spaces

When a file is loaded the editor checks the first 7K of the file and if it contains more than two NULLS (HEX 00) the file is considered a binary/HEX file. NULLS are not valid in an ASCII file and will be converted to spaces if you edit the file in text mode if this option is not selected (default). If you view a HEX file in text mode but make no changes the editor should not convert the NULLS to spaces, but if you do make changes in TEXT mode to a HEX file the change will occur.

Selecting this option overrides this conversion of NULLS (HEX 00) to spaces but we still recommend NOT editing binary files in TEXT mode. NULLS are normally considered string terminators and not generally valid in ASCII files. Using this setting may cause some functions not to work past the NULL although this should not effect general editing.

Number of hex characters per line

This setting defines the number of HEX characters to be shown in each line of the display. The editor must be restarted once this value is changed.


XML/HTML

XML/HTML (Configuration - Editor)

The XML/HTML branch under Configuration - Editor has the following options:

Display XML/HTML tag highlighting

If this option is selected the text within matching XML/HTML elements will be highlighted using the color specified for Tags under the Editor tab in the Manage Themes dialog. The editor will determine what files are XML/HTML files based on the extensions specified in the appropriate wordfiles.

Automatically close XML/HTML tags

If this option is selected a close tag will automatically be inserted into the file being edited when the open tag is completed.

Position close tag on separate line

If this option is selected, the close tag will be inserted on a separate line rather than the same line as the open tag. This option is subdued if the option above is not selected.


Image drag-and-drop

Image drag-and-drop (Configuration - Editor)

The Image drag-and-drop branch under Configuration - Editor has the following options:

Insert link to images when dragged-and-dropped into web file

If this option is selected, images may be added to web files as HTML or CSS code using one of three methods:

  1. By dragging and dropping the image file(s) from Windows Explorer

  2. By dragging and dropping the image file(s) from the File View (Explorer or Project pane)

  3. By double-clicking the image file(s) in the File View (Explorer or Project pane)

This feature keys off the active file's highlighting type, and will only work for web-based languages (HTML, Javascript, Perl, PHP, VBScript, XML, CSS). The following file extensions are supported for this operation: BMP, GIF, ICO, JPEG, JPG, PNG, SVG, TIFF.

If this option is not selected, image files opened via any of the methods described above will be opened in the editor in hex mode.

Format

The Format text fields may be used to define the default string to be used when inserting the image into web-based files. Clicking on the "?" button will show a list of valid image format variables. These may be used when constructing the default image string.

Note: If the CTRL key is pressed while dragging an image file from Windows Explorer and dropping it into a web-based file in the editor, an Insert image(s) / customize dialog will be shown. This dialog may be used to customize the inserted image string for the current operation only. This does not affect the default format string defined in Configuration.

HTML

This field is used to define the string to be used when inserting an image string into web-based files.

CSS

This field is used to define the string to be used when inserting an image string into CSS sections of web-based files.


Miscellaneous

Miscellaneous (Configuration - Editor)

The Miscellaneous branch under Configuration - Editor has the following options:

Disable drag & drop

Drag and drop editing allows the user to select text in the normal manner and then copy or move the selected text by dragging it to a new location with the mouse. No keyboard interaction is required. If this option is selected it will disable the Drag and Drop Editing feature.

Lock insert mode key

This setting causes the editor to lock the Insert key in Insert mode and not allow a toggle to Overstrike mode. If this is set this will be true for normal text editing as well as Column mode. The default setting is for this option not to be active.

Home key always goes to column 1

When checked, the home key always positions to the first column. If not checked, the home key will go to the first non-space character unless in that position, in which case it will go to the first column

Disable left cursor from going to previous line

This setting causes the editor NOT to move up to the previous line if the cursor is at the start of a line and the left arrow key is pressed. If this setting is not selected (default) the editor will allow the cursor to move to the end of the previous line.

Cursor off selection is from current position

If this option is selected, using an arrow key to move off of a selection will dismiss the selection and move the cursor based on its current position. If this option is not selected, the cursor would always be moved from the end of the selection.

Allow selection of line with mouse in margin

This setting determines if the editor will allow line selection by clicking/dragging the mouse in the left margin of the edit window. The default setting is checked, allowing the selection.

Enable copy/cut of current line with no selection is active

This setting causes the editor to copy/cut the active line to the active clipboard when the appropriate command is selected or the keyboard shortcut is used if there is no selected text.

Automatically copy to clipboard when selection is made

If this option is selected, any selected text will automatically be copied to the clipboard upon selection, overwriting the current contents of the active clipboard.

Don't move focus to function list on refresh

If this option is selected, focus will not be moved from the active document to the function list automatically when the function list is refreshed (e.g. when F8 is pressed).


Word Wrap/Tab Settings

Word Wrap/Tab Settings (Configuration - Editor)

The Word Wrap/Tab Settings branch under Configuration - Editor has the following options:

Select extension for settings or default

The editor allows the tab and Word-Wrap settings to be based on the file extension of the file. Initially the defaults will be used. To add an extension type click on Change List and a dialog will be displayed allowing you to add or edit up to 10 extension types. Users may select or add a file extension (or Default) to which all settings specified on this page will be applied. The tab and Word Wrap settings will change to reflect the extensions shown. The "default" settings are used for any files that do not match the user defined extensions. Periods must not be included when specifying extensions for word wrap settings. For example, "c cpp h" is correct, but ".c .cpp .h" is not.

If Default word wrap on for each file is selected, then word wrap will be enabled each time a file with a matching extension is opened. Please note that if additional settings are defined for other settings (aside from Default) this option would have to be selected separately for each group to which it should apply.

Auto-complete file

If desired, the path to an auto-complete file specific to the selected file extension may be specified here. Users may enter the path directly or browse to the desired file.

Use spaces in place of tabs

If this item is selected the editor will replace TAB characters with spaces and the Indent spaces value specified below will determine the number of spaces to use.

The editor allows for selection of TAB stops and for TAB characters to be replaced by spaces automatically while editing. The Tab Stop value specifies the TAB stops, while the Indent spaces specifies the number of spaces to use in place of a TAB character. This allows the user to have one setting for tabs and another for indentation.

The Indent spaces is how many spaces are used for an indent when the TAB key is used ONLY WHEN Use spaces in place of tabs is set. This applies to TAB characters entered after this setting is changed. In this case the Tab Stop value tells the editor to expand actual tab characters on the appropriate tab stop boundary. Existing TAB characters in the document are not affected by these settings.

If Use spaces in place of tabs is NOT checked, pressing the TAB key will always insert a TAB character and it will be expanded per the Tab Stop value as indicated earlier.

The user may define multiple TAB stop values (up to 12) in comma-delimited format, i.e. "4,4,8". The last value defined will be used for subsequent TABS. In the example above, the first two TABS would be equal to four spaces and all subsequent TABS would be equivalent to 8 spaces.

If the option to replace TABS with spaces is chosen under the Tabs/spaces dropdown in the Format tab, the editor inserts spaces in place of TABS but maintains the TAB stop spacing using the number of spaces specified.

Font

Users may specify a font to be used for files with the currently specified extension by pressing the Font button and selecting the desired font.

Wrap method

Word wrap may be used to automatically wrap words to the next line at the vertical edge of the active window or at a specified column.

There are four selectable modes of operation for word wrap:

Wrap at window boundary, without inserting a hard return.

Wrap at a specified column number without inserting a hard return.

Wrap at a specified column number and insert a hard return.

With this option, an additional option specifies if the file should be automatically wrapped on input. If selected, the file is wrapped on input, otherwise text is only wrapped as it is modified.

Note - The column wrap above wraps on a word boundary. This may mean that the wrap does not occur on the specified column but on a lesser column number.

Absolute wrap after specified column. This will wrap exactly at the specified column.

If the option to wrap at a specified column AND insert a hard return is made, the file is automatically modified to wrap at the column and insert appropriate hard returns.

Additionally, the Reformat Paragraph feature may be used to wrap a paragraph to the specified column number.

If the editor active window is in Hex mode this command is not available.


Advanced

Advanced (Configuration - Search)

The Advanced branch under Configuration - Search has the following options:

Use active file path for default directory

This setting causes the editor to use the active file path for setting the Find/Replace in Files default directory. By default the editor uses the previous path used in the dialog for this.

Use persistent highlight all

If this option is selected, and Highlight All Items Found is selected in the Find dialog, any strings matching the search string will remain highlighted after a search is executed. Users may toggle the selection off using the Highlight All Selected option in the toolbar or the View tab.

Shift+Double Click highlights all words which match word under caret

If this option is selected, holding the Shift key while double-clicking to select a word will cause all other words in the active document that match the selected string to be highlighted as well.

Display end of file wrap animation

If this option is selected, and the option Continue find at end of file is selected under Advanced -> Settings -> Search -> Miscellaneous, a brief animation will be shown when the search passes the top or bottom of the file to indicate that the search is being continued from the other end of the file.


Miscellaneous

Miscellaneous (Configuration - Search)

The Miscellaneous branch under Configuration - Search has the following options:

Show slim find dialog after start

This option determines if the slim Find dialog with Find Next and Find Previous buttons should be shown after the find command is initially started. If this is selected, the dialog is shown at the top of the screen.

Continue find at end of file

This option determines if the search for a string is to be continued at the opposite end of the file if the string is not found. If this option is not set, the editor does NOT wrap around at the end of file when searching for a string. The default behavior is for the editor to continue the search from the opposite end of the file when a target is not found.

Find dialog defaults to word under cursor

If this option is selected the editor automatically initializes the find/replace dialogs with the word under the cursor position. If not set, it uses selected text if present or the last find string.

Find next/prev finds selected text (not last searched for text)

If this option is selected the editor will find the selected text when a FIND NEXT/PREVIOUS command is performed instead of the previous search string UNLESS the Regular Expressions option is selected.

Set focus to edit window after any Find operation

If this option is selected, focus will be set to the edit window after any Find operation regardless of what options are selected in the Find dialog.

Set focus to edit window when going to result of lines containing string dialog

This setting causes the editor to set focus to the edit window rather than the List Lines Containing String dialog when the result is double clicked in the List Lines Containing String dialog. By default this is set but some users requested that focus remain on the List Lines Containing String dialog in this case.

Automatically bookmark current line on find

If this option is selected a bookmark will automatically be inserted at the current cursor location when a matching string is found and moved to so that the user may return to the original cursor position.

Fill Search In Columns with selection points
If this option is selected, and text is selected in column mode, the text fields for the "Search In Column" option will automatically be populated based on the boundaries of the existing selection.

Special character used in Find/Replace strings (normally ^): ^

In the find/replace strings a caret "^" (by default) has special meaning (see help on Find). This setting allows a different character to be used in Find/Replace routines from the caret "^". It is recommended a pipe character "|" or similar uncommon character be used.


Auto Reset Settings

Auto Reset Settings (Configuration - Search)

The Auto Reset Settings branch under Configuration - Search has the following options:

Items selected in this dialog will be reset (or unselected) after Find or Replace operation is completed if they were selected for the last executed Search. The items that may be specified to be automatically reset are:

Highlight All Items Found

This option causes all items matching the search string to be highlighted (shown as selected text) when the Find Next button is pressed.

List Lines Containing String

This option causes UltraEdit to search for all occurrences of the string in the active document and to list them in a dialog box. By double-clicking on one of the result lines (or selecting it and clicking on Goto) UltraEdit will position to that line in the file.

Match Case

By default, the search will not be case sensitive. The option to make the search case sensitive is given. If a search has already occurred in the document, the default selection for case sensitivity is that of the previous search.

Match Whole Word Only

By default, the search will not be restricted to matching whole words only. This option allows the search to be restricted to whole words only. This is useful for searching for 'a', or 'A' without finding all words including 'a'. If a search has already occurred in a document, the default selection will match the previous search.

Regular Expressions

If this option is selected the search will be executed using the regular expression type selected under the Advanced section.

Search in Column

If this option is selected the search will be restricted to the specified start and end columns. To search an entire line, "0" and "-1" should be used.

Use encoding

If this option is selected, the dropdown may be used to specify the encoding to be used when searching for the specified string.

Always set 'Find/Replace Where' to 'Current File' in Find/Replace dialog

If this option is selected, the 'Find/Replace Where' option in the Find/Replace dialogs will always be reset to 'Current File' when the dialogs are invoked. If this option is not selected, the option selected the last time the dialog was used will be remembered.

Set 'Find/Replace where' to 'Selected text' if more than one line selected

If this option is selected, this will cause the Find and Replace dialog to default to "Selected text" for "In:" if more than one line is selected, irrespective of the above setting.


Set Find Output Format

Set Find Output Format (Configuration - Search)

The Set Find Output Format branch under Configuration - Search allows the user to configure the format to be used to display the output of a Find in Files command.

The following variables may be used to specify the output items described below:

$Dc creation date/time for file

$Dm time when file was modified

$P path to file

$F string to find

$L line number

$S found line

$C number of occurrences of searched string found

$N number of files in which search string was found

Output per File

These options control data that will be displayed for each file included in the Find in Files output:

Header

If this option is selected the specified format will be used as the header for content regarding each file found containing string(s) matching the Find in Files search string.

Found Line

If this option is selected the specified format will be used as the to describe the line in which a match occurred during the Find in Files operation.

File Summary

If this option is selected the specified format will be used as to summarize matched strings for each file included in the Find in Files output.

Final Output

These options control data that will be displayed in the final line of the Find in Files output:

Find Summary

If this option is selected the specified format will be used to display an overall summary of all matches in all files during the Find in Files operation.

Pressing the Default button will restore the default options for the Find in Files output format.


Dictionary

Dictionary (Configuration - Spell Checker)

The Dictionary branch under Configuration - Spell Checker allows users to configure the dictionary UltraEdit uses for spell checking.

Windows 8 and later

On all versions of Windows 8 and later, the Windows system spell checker is used for spell checking in UltraEdit. In order to add and remove languages for the spell checker in UltraEdit/UEStudio, you would need to add or remove those languages through the "Region and Language" section of Windows Settings. All languages installed on the system are available for selection as dictionaries in the Dictionary list on the left.

Windows 7

Windows 7 does not include native spell checking. To accommodate spell checking on Windows 7, UltraEdit/UEStudio install Aspell, a third party library for spell checking. By default, the executable for Aspell is located in the \GNU\aspell\bin subdirectory of the main installation directory. You can add dictionaries to Aspell by downloading them from our site and following these steps:

1. Run the dictionary installer (.msi) to a custom location

2. From the files the installer extracts, move the .dat file to the \GNU\aspell\data directory in the UltraEdit installation folder.

3. From the files the installer extracts, move the .multi, .rws, and .alias files to the \GNU\aspell\dict directory in the UltraEdit installation folder.

After a restart of UltraEdit, the newly installed dictionary should then be available for selection in the Dictionary list on the left.

Adding/Removing Words

Users may add/remove words as desired. A dictionary must first be selected in the Dictionary pane. If a word is typed into the Added Words field and the Add button is pressed the word will be added to the Added Words list. Words may be removed from the list by selecting them and pressing the Remove button. The Added Words list is maintained on a per language basis.


Dictionary Directories

Dictionary Directories (Configuration - Spell Checker)

The Dictionary Directories branch under Configuration - Spell Checker supports specification of directories to be used for storing information related to spell checking:

Personal data directory

The directory specified here will be used to store words added to user dictionaries.

Aspell parent directory

The directory path specified here will be used to store the data/dictionary directories related to Aspell. By default this will point to the UltraEdit/UEStudio install directory. When used from the editor, Aspell looks for dictionaries under the GNU/Aspell directory.

NOTE: These options are only available on Windows 7 (where Aspell is used for spell checking). On later OS's the Windows spell checker is used and the options above do not apply.


Filters

Filters (Configuration - Spell Checker)

The Filters branch under Configuration - Editor- Spell Checker allows specification of filters to be used to ignore certain items in documents being checked by the spell checker. If the For syntax files, only spell check checkbox is selected the following options are available. (Only one filter may be used at a time.):

Comments

If this option is selected, only content in line and block comments will be checked.

Strings

If this option is selected, only content in strings (normally between ' and " characters) will be checked.

Comments and strings

If this option is selected, only content in line and block comments and strings will be checked.

Full text

If this option is selected, the entire file will be checked.


Ignore Options

Ignore Options (Configuration - Spell Checker)

The Ignore Options branch under Configuration - Spell Checker allows configuration of options to be used during spell checking operations. Options are available to ignore case, accents, all-cap words, capitalized words, words with numbers, and words with mixed case. All of these option may be toggled using the appropriate checkbox.


Spell Checker

Miscellaneous (Configuration - Spell Checker)

The Miscellaneous branch under Configuration - Spell Checker allows configuration of various options to be used during spell checking operations:

Enable spell check as you type

If this option is selected spell checking will occur automatically as text is typed. Please note: By default UltraEdit and UEStudio will not perform this option on any syntax-highlighted files. To change this setting and support spell check as you type for a syntax-highlighted file, add the following to the language definition line (e.g., /L3"HTML" ...) of the wordfile:

EnableSpellasYouType

Display suggestions on right mouse click over misspelled word

If this option is selected when Enable spell check as you type is enabled, right-clicking on a word indicated as misspelled will result in a list of possible spelling options. If preferred, the option Only if CTRL is pressed may be selected to restrict the display of these suggestions to the combination of pressing the CTRL key along with right clicking on a misspelled word. Users may also specify a maximum number of suggestions to be displayed using the Display suggestions (max) control. If this is set to "-1" then all available suggestions will be displayed.

Suggestion mode

The suggestion mode may be set to "ultra", "fast", "normal", or "bad-spellers".

Ultra | This method will use the fastest method available to come up with suggestions. This currently means that it will look for homonyms within one edit distance apart without doing any typo-analysis or using replacement tables. In this mode Aspell gets about 87% of the words from the small test kernel of misspelled words. (Go to http://aspell.net/test for more info on the test kernel as well as comparisons of this version of Aspell with previous versions and other spell checkers.)
Fast | This method is like "ultra" except that it performs typo-analysis and uses replacement tables. The typo-analysis brings words which are likely to be due to typos to the beginning of the list. This mode should get around the same number of words that the ultra method does.
Normal | This method normally looks for homonyms within two edit distance apart and performs typo-analysis unless it is turned off. Is much slower than "fast" mode but it returns better suggestions. In this mode Aspell detects approximately 93% of the misspelled words.
Bad-Spellers | This method also looks for homonyms within two edit distances apart but is tailored more for the bad speller, where as "fast" or "normal" are tailored more to strike a good balance between typos and true misspellings. This mode never performs typo-analysis and returns a huge number of words for the really bad spellers who can't seem to get the spelling anything close to what it should be. If the misspelled word looks anything like the correct spelling it is bound to be found somewhere on the list of 100 or more suggestions. In this mode Aspell detects approximately 98% of misspelled words.

Exclude from checking words shorter than (number) characters

Users may specify a minimum number of characters (from 1 to 9) required for a word to be checked for spelling errors.


Advanced

Advanced (Configuration - File Handling)

The Advanced branch under Configuration - File Handling has the following options:

Check short names against files already loaded to prevent loading of two copies of same file

This setting forces a check when opening a file for existing files with a matching short name to prevent opening the same file twice. On some servers the short name is the same causing the editor not to open the file. Disabling this (unchecking it) will cause the check not to be made.

Delete original file before saving the file

When a file is saved the original file is overwritten with the new file. In some cases on some servers it's necessary to first delete the file and create a new file. Setting this option causes the file to be deleted and replaced by the new file.

Copy file instead of using rename when creating backup file

This setting affects how the editor generates the backup file. By default the original file is renamed to the backup file. The reason for the setting is that on some systems, if the original file is renamed to create the backup, the recreated original file does not maintain the file permissions that previously existed. Setting this causes the rename not to occur, preserving the permissions.

Always create new file when copying to/from temporary file

When copying to/from the temporary file to the user's file the editor does not create a new file, truncating the old file, it copies the file and sets the file length. A few servers appear not to support this and do not honor the setting of the file length correctly, causing remnants of the old file to remain if the users deletes a section of a file and saves it. Setting this causes the file to be truncated to 0 length prior to writing the file.

Open from Explorer also opens files list

When this option is set and a file is selected in Explorer to be opened in the editor, the last-used workspace (and all associated files) are reloaded when the file selected in Explorer is loaded.

Skip FTP close command when connecting to FTP server

When the editor connects to an FTP server it issues a close command first to clear any previous connection that may have been aborted. In some cases with products that use FTP Tunneling this has caused a crash within the tunneling software. Setting this options causes the editor not to issue this FTP close command.

Use DDE for file associations (changing this requires a change to be made to the file associations for this to be active)

When File Associations are set from within the editor the setting to use DDE is normally set in the Registry for the specific file type. On some systems this may cause an error message when the file is double clicked from Explorer. In this case ensuring that this option is not selected may resolve this. The file associations will need to be modified for this to take effect.

Save project information for use on multiple systems

If this option is selected, all project information is stored together to facilitate using project settings/workspaces on multiple systems. For example, if a project named "Project.prj" is created, the workspace information will be stored in "Project.pui" and this is saved in the same location as the .prj file so that it is accessible for all users.

If this option is not selected, as per default settings, then the project workspace information is stored separately for each user. This allows users to share project settings with another user without the associated workspace information. In this case, if "Project.prj" is the project, the user's personal workspace information would be stored in "Project.[Workstation].[UserName].pui" so that this personal workspace would only be loaded when this user again loads the referenced project.

Store project user interface (pui) files in profile directory

If this option is selected, when a project is created, the associated PUI file will be created in the user profile directory (%APPDATA%\IDMComp\UltraEdit) rather than the project directory.


Backup

Backup (Configuration - File Handling)

The Backup branch under Configuration - File Handling has the following options:

Backup Files on Save

When a file is saved the option to generate a backup file is provided. Three choices are available:

No backup - When a file is saved the original file is overwritten and a backup file is not created.

Replace extension with .BAK - When the file is saved, the original file is copied or renamed to a backup file with the same filename and a ".BAK" extension in place of the existing extension. The modifications are saved to the original filename/extension.

Append .BAK to the existing extension - When the file is saved the original file is copied or renamed to a backup file with the same filename and extension and ".BAK" is added to the filename (filename.ext.BAK). The modifications are saved to the original filename/extension.

Default backup directory

Normally the directory used for the backup file is the same directory as the source file. This parameter allows all backup files to be copied to the same backup directory. If this item is left blank the directory used will be that of the source file.

Version backup

The options here allow users to specify settings for sequentially numbered backups of active files.

On save

If this option is selected a backup file with a version number will be saved every time a save of an active file is executed.

On automatic save

If this option is selected a backup file with a version number will be saved every time an automatic save of an active file is executed.

On FTP save

If this option is selected a backup file with a version number will be saved every time an FTP file is modified and saved. Note: If a Local Backup Directory is already specified under the Advanced tab for an FTP account, that directory will override the Default FTP backup directory option for files opened from that server.

Default FTP backup directory

In order to select the On FTP save item above, a local directory must be specified here. When a file is backed up, the account name will be created as a root folder below the directory specified and directories will be created as necessary to recreate the location of the modified file on the remote server.

Format

This text field may be used to specify the format to be used for version backups. The following items may be defined:

Path Variables:

$b - Default Backup Directory

$p - File Path

$n - File Name

$e - File Extension

Time/Date Variables:

$H - Hour

$M - Minute

$d - Day

$m - Month

$y - Year

Miscellaneous:

$c - Counter

$u - User Name

$s - Session

Maximum number of backups

This field may be used to specify the maximum number of version backups to be saved for each file. A value of "-1" would indicate an infinite number of version backups.


Encoding

Encoding (Configuration - File Handling)

The Encoding branch under Configuration - File Handling has the following options:

Default encoding (for new files and file open when auto-detect fails)

This setting determines the default encoding used for new files (and for opening files when auto-detect fails). Users may select ANSI, UTF-8 or UTF-16.

Default code page (for ANSI encoding)

This setting may be used to force the application to use a code page other than the default system code page for ANSI encoding if desired. By default this will automatically be set to the default system code page.

Locale (used for sort and time/date)

Using this option users may configure a specific locale to be used for time/date format and for sorting files when locale-specific sorting is required.

Automatically detect encoding (and code page, if applicable)

This setting forces the editor to evaluate if the content of the active file should be displayed with a code page other than the default code page. Once the appropriate code page is determined, the application will ask Windows to provide an appropriate font to be used to display content from that code page.

Prompt to accept code page

This setting is only active when Automatically detect encoding is enabled. If this option is selected and the editor detects that a new code page is required, a dialog will be presented where the user may select the code page to be used for the active document. If this is not selected, but Automatically detect encoding is enabled the highest rated matching code page will automatically be used.

When converting from Unicode to ANSI always use default code page

If this is selected, the default code page (specified above) will be used for the conversion when a file is converted from Unicode to ANSI. If this option is not selected and a file is converted from Unicode to ANSI, a dialog will be presented for the user to select the code page to use for the ANSI conversion.

Detect ANSI files with escaped Unicode

This option instructs the editor to automatically detect ANSI files with Escaped Unicode (e.g. \u0020).


Conversions

Conversions (Configuration - File Handling)

The Conversions branch under Configuration - File Handling has the following options:

Use IBM-500 standard for EBCDIC conversion

This setting forces the editor to use the IBM-500 standard for EBCDIC conversion. The default conversion did come from published EBCDIC tables but does not provide a direct one-to-one comparison.

Do not convert returns (CR/LF) during EBCDIC conversion

This setting overrides the conversion of EBCDIC returns when converting files to ASCII format. The EBCDIC table does call for conversion of hard returns (CR/LF) but some users requested that this not occur.

On paste convert line ending to destination type (UNIX/MAC/DOS)

If this option is selected the editor will check the format of the destination document when pasting from the clipboard and modify the line terminators of the clipboard content if necessary to match the format of the destination file.

Prompt to convert active file to UTF-8 on paste if encoding of clipboard content doesn't match

If this option is selected and the active file is NOT a UTF-8 or Unicode file, but the clipboard content is UTF-8 or Unicode, UltraEdit will prompt the user to convert the file to UTF-8 format before pasting the clipboard content. If the user selects "Yes" then the file is immediately converted and the clipboard contents are inserted. If the user selects "No", then no conversion occurs and the clipboard contents are inserted.


DOS/UNIX/MAC Handling

DOS/UNIX/MAC Handling (Configuration - File Handling)

The DOS/UNIX/MAC Handling branch under Configuration - File Handling has the following options:

Default file type for new files

DOS

UNIX

MAC

This setting determines the default file type for NEW files created within the editor. The default is for DOS files. Alternatively a default of UNIX or MAC file types may also be selected.

UNIX/MAC file detection/conversion

Disable

Detect file type and prompt to change

Automatically convert to DOS format

These options allow the user to determine if the editor should automatically detect and convert UNIX/MAC files to DOS format when they are opened. Optionally the user may select to be prompted each time a UNIX/MAC file is detected before it is converted. If no detection/conversion is desired this may be disabled.

Only recognize DOS terminated lines (CR/LF) as new lines for editing

This setting causes the editor to only recognize DOS terminated lines (CR/LF) as new lines for editing. By default the editor automatically recognizes UNIX/MAC terminated files for display purposes.

If this feature is used with a file that has mixed line terminators (and they must be maintained), it should be used without enabling automatic conversion to DOS format (above). If automatic conversion is used when editing such files any occurrences of CR or LF only line terminators would be converted automatically to CR/LF.

Save file as input format (UNIX/MAC/DOS)

This option instructs the editor to automatically save the file as the original format (UNIX/MAC) when saved unless it was manually converted after opening.

Status bar shows original line terminator format (on disk)

If this option is selected and the opened file is automatically converted to DOS format when opened, the status bar will still indicate the file's original format (UNIX or MAC) when the file is loaded.


Encryption

Encryption (Configuration - File Handling)

The Encryption branch under Configuration - File Handling has the following options:

Delete original file(s) after encrypting

This setting determines if the original plain-text file should be deleted automatically after it is successfully encrypted.

Delete backup file(s) after encrypting

This setting determines if backups of the original plain-text file should be deleted automatically after it is successfully encrypted.

Replace encrypted/decrypted file if it exists

If this option is selected, any files that already exist in the specified path with names and extensions matching the files selected for encryption/decryption would automatically be overwritten.

Automatically re-encrypt file on close

If this option is selected, files that are decrypted prior to editing will automatically be re-encrypted when saved and closed. This option will respect other encryption options set in Configuration as well which pertain to deletion/overwriting of files after encryption.


File Change Detection

File Change Detection (Configuration - File Handling)

The File Change Detection branch under Configuration - File Handling provides options that control the behavior of the application when the active file is updated by another user (in the case of a file being edited by more than one user at a time) or an external process (i.e. an application or log file, for example). This branch has the following options:

File change detection

Disable

Prompt for update when files change

Automatically update changed files

The editor automatically detects any changes to a file that is loaded and is changed outside of the editor. By default Prompt for update when files change is selected and when the changes are detected the editor will prompt the user with the option to reload the file (in which case any unsaved changes to the file in the editor will be lost). The user may choose to reload the file or ignore the changes.

Optionally, the editor provides the ability to ignore any file changes by setting the Disable option. In this case the editor will not detect or prompt for any file changes.

If preferred, the editor provides the ability to automatically update the loaded files with any changes that have been made outside of the editor by setting the Automatically Update Changed Files option. In this case, the file will be loaded and any unsaved changes made within the editor will be overwritten automatically without prompting.

When a file is detected as changed and reloaded, make it active

This setting instructs the editor to make any file it detects as changed and reloads to be the active file. The default setting is not to make the file active.

Ignore file changes if the file was deleted

This setting instructs the editor not to notify the user when an opened file has been detected as changed. If this is not set (default) the editor will notify the user that a file has been deleted if the file change detection is enabled.

Check files for changes on application focus change

If this option is selected, files will only be checked for changes when UltraEdit receives focus (when switching from another application or from a dialog within UltraEdit) rather than checking automatically at predefined intervals.

Check active file only

If this option is selected, only the active file will be checked for changes when file change detection is triggered. This can improve performance for users with many files open at the same time.

Poll for file changes at forced interval in seconds (0 disables)

This setting determines the interval in seconds at which the editor checks for changes to files for which polling has been activated using the Toggle file change polling command in the File change polling dropdown in the View tab. If this is set to "0" this feature is disabled.

When a file marked for polling is detected as changed scroll to the last line in the file (used for tailing log files)

This setting forces the editor to scroll such that the last line in a polled file is always visible in the edit window when the file is active. This is similar to the UNIX tail command.


Load

Load (Configuration - File Handling)

The Load branch under Configuration - File Handling has the following options:

Reload files previously open on startup

If this option is checked the editor saves information about the open files when the editor is closed. This information is used to automatically reload the files that were open the next time the editor is started. This allows easy reloading of a set of files that are edited on a regular basis. If the editor is invoked automatically for printing the files are not reopened.

Reload FTP files when reloading a project or last open files

This setting determines if the editor should reload FTP files when it reloads files for a project/workspace. Typically FTP are not reloaded files automatically due to the potential time delay in connecting and load the files. Selecting this to option will ensure FTP files are treated as normal files in this regard.

Use default directory from shortcut on initial file open

Normally the directory used for the File Open command is the last directory that the editor opened a file from. This directory information is retained when the editor is shutdown and restarted. When the Use default directory from shortcut on initial file open option is set the normal behavior is overridden and the process default directory is used for the initial open. This allows the user to specify the default directory from the icon or shortcut that invokes the editor.

Use active file directory for file open dialog default

When this option is set, the normal behavior is overridden and the directory of the currently active file is used. This allows the user to easily open a file from the same directory as an already open file by activating the file and then use the File Open command.

Please note: Only one of the two items described above should be selected.

Open link (.lnk) files, not the file the link points to

This setting causes the editor to open the link for modification. The default setting (not setting this option) causes the editor to expand the link to open the root file.

Open files as read-only by default

The Read Only command toggles the state of the read-only status of the file. If the read-only status is set the file cannot be modified. If this is set, files will automatically be opened as read-only. This does not change the status of the file itself, just the ability to modify it within the editor.

Remember the read-only setting when reloading a file currently open

This setting causes the editor to maintain the Read-Only status of a file when this file is reloaded. By default when a file is reloaded the status of Read-Only does revert to the status of the underlying file. This is because a lot of users use this feature with version control systems and the only thing that changes is the Read-Only status and the users want/expect the status within the editor to change also.


Miscellaneous

Miscellaneous (Configuration - File Handling)

The Miscellaneous branch under Configuration - File Handling has the following options:

Change file attribute when toggling read-only for active file

This setting instructs the editor to change the read-only status of the file when the command for read-only is toggled. The default setting (unchecked) allows the user to change the editor's state preventing or allowing modification of the file but causes no change to the actual file status when the read-only status is changed from ribbon/menu.

Lock file for write while editing

This setting causes the editor to keep the lock on any file that is opened. Additionally, if the file is already locked, it allows for open by read-only in this case prompting the user with a dialog box to confirm the open as read-only. This feature prevents modification of a file from outside of the edit session preventing loss of changes made.

Close all files when opening or switching projects

If this option is selected, all currently open files will be closed without a warning prompt when opening, closing, or switching projects. If this is not selected the user will be prompted as to whether or not the open files should be closed.

Create new file if file specified on command line does not exist

This setting instructs the editor to create a new file if the file specified to be opened on the command line does not exist. The default setting is to create the new file.

Create new Edit file when opening with no other files

This setting instructs the editor to create a new empty document (EDIT1) file when it starts up if no other files are being opened.


Save

Save (Configuration - File Handling)

The Save branch under Configuration - File Handling has the following options:

Write UTF-8 BOM header to all UTF-8 files when saved

This option instructs the editor to write the UTF-8 BOM (byte order mark) to all files when they're saved. If this option is not set the BOM will not be written to the file when it is written to the disk. This will not remove a BOM that already exists in the file.

Write UTF-8 BOM on new files created within this program (if above is not set)

This option instructs the editor to write the UTF-8 BOM only to new files created within the editor when they're saved. If this option is not set the BOM will not be written to the file when it is written to the disk. This will not remove a BOM that already exists in the file.

Trim trailing spaces on file save

This function causes the editor to automatically remove the trailing white space (spaces/tabs) from the end of every line in the file and positions back to the original cursor position when it is complete each time a file is saved. The functionality of Trim Trailing Spaces is such that it does require a newline to operate on a given line of text. If the last line of text in your file is terminated with a hard return, Trim Trailing Spaces will work on that line as well.

Remember last directory specified for Save As for session

If this option is selected, then a Save As operation or saving a new, unsaved file (i.e. "Edit1") will default to the last directory specified for a Save As operation.

If this is not selected (or if a directory has not yet been specified), a Save As operation for saving a new, unsaved file will default to the directory the last file was opened from using the Open command in the current or previous editing session.

The Save As dialog always opens in the directory of the named file when working with a file that has already been saved.

Always set Encoding to "Default" in Save As dialog

If this option is selected, the Encoding dropdown in the Save As dialog will always be set to "Default" when the Save As dialog is invoked. If this option is not selected, the Save As dialog will remember the last option selected when the Save As dialog is invoked.

Automatic Save

The option is provided to automatically save all open files at the desired interval. The interval is configurable in minutes. If the interval is set to zero (0) no automatic save is performed.

If Do not auto-save unnamed (new) files is selected, the automatic save will ignore files that do not have a name (i.e. files that were created with the New command). This stops the Save As dialog from appearing if an unnamed file exists and has been modified.

If Do not auto-save FTP files is selected, the automatic save will ignore modified FTP files that are open for edit.

If a file is saved due to the automatic save command a . BAK file is only created for the first save of the session. For subsequent saves with this feature the . BAK file is not created or overwritten.


Temporary Files

Temporary Files (Configuration - File Handling)

The Temporary Files branch under Configuration - File Handling has the following options:

Use of temporary file for editing (Provided for very large file handling)

Use temporary file for editing (normal operation)

Open file without temp file but prompt for each file (CAUTION: Edits are permanent, decreases load time for large files)

Open file without temp file but NO prompt (CAUTION: Edits are permanent, decreases load time for large files)

Threshold for above (KB): 15000

UltraEdit/UEStudio allow editing of very large files. This is accomplished with relatively small amounts of memory being used. UltraEdit/UEStudio is a disk-based editor, and only loads a small portion of the file into memory at one time. Normally the editor copies a file that is being edited to a temporary file, and at the end of the editing session deletes the file after copying back to the appropriate original file.

To speed up editing of very large files, this configuration branch allows you to specify editing without using temporary files. This removes the time necessary to copy the file to a temporary file. When editing files of many megabytes this can be an advantage.

WARNING - If this option is selected, all changes are permanent!

A dialog box is shown warning the user this setting is enabled each time a file is opened. This may be disabled by selection the option to open the file without a temp file with NO prompt.

A "Threshold" field is provided to allow the user to specify files that are equal or larger than this value to be loaded without the creation of the temporary file. Files smaller than this would be loaded normally, creating a temporary file. Setting the value to zero means that all files would be loaded without the creation of the temporary file. The "Threshold" field is only applicable if the option to open files without the temporary file is set.

Additionally, the Disable Line Number option improves the performance when navigating around large files as less disk access are required to track the line numbers.

UltraEdit/UEStudio allows editing of files greater than 4GB (up to a size of 2^64-1).


File Associations

File Associations (Configuration)

The File Associations branch under Configuration allows the user to associate the editor with selected file types:

Clicking on the System File Associations button opens the Windows interface for setting file associations for programs. In previous versions, file associations could be set within the application, but with changes introduced in Windows 8, this is no longer the recommended method of setting file associations.

Integrate with Explorer as

If this option is selected UltraEdit/UEStudio options are added to the context (right-click) menu in Windows Explorer allowing users to open either files or folders in UltraEdit.

Users may right-click on a file and select UltraEdit from the context menu to open the selected file for editing. If the open Open from Explorer also opens file list is selected under Advanced -> Settings -> File handling -> Advanced, the last used workspace (and all associated files) are reloaded along with the selected file.

If the user right-clicks on a folder, the user may select Open folder in UltraEdit from the context menu. When this option is selected, the following will occur:

1. The File View will be opened (if not already visible) with the selected folder set as the root in the Explorer pane.

2. While the folder is "open" in UltraEdit, the following will happen:

a. The first time Find in Files is opened in this session, the Directory field will default to the selected folder.

b. The first time the File Open dialog is opened in this session, it will default to the selected folder.

3. Users may close the open folder by double-clicking on the Close folder item shown directly beneath the folder root.


File Types

File Types (Configuration)

The File Types branch under Configuration allows the list of file types that appear in the File Open and File Save As dialog boxes to be configured as follows:

Up to 10 file types may be configured. These file types will be shown in the file operation dialog boxes in the same order they are shown on this page.

Each file type configured consists of a file name and file description. The file name may (and probably does) include wildcard characters and may include multiple file extensions each separated by a semicolon ";" (i.e. "*.c;*.cpp"). The file description is a text field describing the file types.

This dialog also provides a DEFAULTS button that resets the file types to the initial settings.


Advanced

Advanced (Configuration - Editor Display)

The Advanced branch under Configuration - Editor Display has the following options:

Override default edit window dimensions

When a new document is created, it is automatically sized to fit the dimensions of the editor. This option overrides this autosizing with specific values. Note that if the dimensions of the editor are smaller than the specified height and width, the new document will be created with the old autosizing method.

Font Quality

Using this option the user may set the quality level Windows will use to render fonts in the editor. Information regarding the quality selected is displayed as the slider is moved. All options are available on a scale from Default to Best:

  • Default Quality

  • Draft Quality

  • Proof Quality

  • Non Antialiased Quality

  • Antialiased Quality

  • ClearType Quality

  • Natural Quality

UltraEdit/UEStudio should be restarted when the font quality is changed.


Code Folding Configuration

Code Folding (Configuration - Editor Display)

The Code Folding branch under Configuration - Editor Display has the following options:

Save folded lines

If this option is selected, information regarding folded lines will be stored when a file is closed so that it will be opened in the same state the next time the file is edited. If this option is not selected, all lines will be unfolded the next time a file is loaded regardless of their fold state at the time a file is closed.

Enable show/hide lines and code folding

This setting permits hiding/showing selected text and folding/expanding code blocks. If this is not selected the folding gutter will not be visible in the edit window and folding is disabled. If a file is opened that exceeds the threshold specified for using temporary files under the Temporary Files branch in the File Handling section of configuration, and the option is set to open without a temporary file in this case, code folding will not be displayed.

Enable show/hide lines in non-syntax-highlighted files (above must also be set)

This setting permits text to be hidden in non-syntax-highlighted files and expanded/collapsed using the View tab commands. If this is not selected the folding gutter will not be visible in the edit window in non-syntax-highlighted files and folding is disabled.

Show last line of fold in syntax highlighted files

If this option is selected, the last line of a folded section will be displayed in files with syntax highlighting. If this option is not selected, only the initial line of a folded section will be displayed.

Automatically unfold hidden areas on Find and Goto

If this option is selected, and a Find or Goto command positions the cursor within folded text, that folded level will be unfolded automatically to correctly display the cursor in context.

Detect XHTML from DTD on file load

If this option is selected, the editor will scan files for a DOCTYPE declaration. If a DTD for XHTML 1.0 Strict or XHTML 1.1 is specified, the rules for elements associated with this document type will be respected for code folding and indentation.

Draw graphical lines

If this option is selected and Enable show/hide lines and code folding is selected above, lines are drawn in the folding gutter to the right of the line numbers to indicate where folding nodes begin and end.

Draw indent lines

If this option is selected and Enable show/hide lines and code folding is selected above, lines are drawn within the active file from the first indented line of a fold block to the last indented line of a fold block to indicate where folded sections begin and end.


Cursor/Caret

Cursor/Caret (Configuration - Editor Display)

The Cursor/Caret branch under Configuration - Editor Display has the following options:

Normal Cursor/Caret type

Vertical bar

Underscore cursor

This setting determines the type of cursor/caret that will normally be displayed in the editor.

Overstrike Cursor/Caret type

Block caret for overstrike mode, normal caret for insert mode

Inverted - Normal caret for overstrike mode, block caret for insert

Block caret disabled, always use normal caret

This setting determines how the type of cursor/caret will be affected by Overstrike Mode settings within the editor.

Allow positioning beyond line end

This option allows the cursor to be positioned beyond the end of text in a line.

Underscore is word stop for Ctrl left/right arrow

If this option is selected the cursor will stop at occurrences of "_" in text when CTRL+LEFT/RIGHT ARROW are pressed. The default is for this option not to be selected. Please note that the setting chosen for this option can affect the functionality of macros/scripts that include navigation operations.

CamelCase naming stops for Ctrl left/right arrow

If this option is selected the cursor will stop at uppercase letters in mixed case words when CTRL+LEFT/RIGHT ARROW are pressed.

Enable multi-caret editing

If this option is selected, users may set multiple carets in the active file by holding the CTRL key while clicking with the left mouse button.


Formatting

Formatting (Configuration - Editor Display)

The Formatting branch under Configuration - Editor Display has the following options:

Auto indent new lines

This item toggles the state of automatic line indentation. When automatic line indentation is enabled, the editor automatically indents a line to match the indentation of the previous line. The indentation is performed by inserting spaces into the document.

Additionally language specific indenting and out-denting is supported. This provides for additional indenting after a certain character/string to indent a block of code and out-denting after a closing character/string. See the indentation section under Syntax Highlighting for details.

This option is only active in INSERT mode, not in OVERSTRIKE mode.

Auto indent wrapped lines

If this option is selected the editor automatically indents wrapped lines to match the indentation of the previous line.

Break on hyphen (-) when converting/reformatting paragraphs

This setting determines if the editor should break words at hyphens when reformatting a line. The default is for UltraEdit to break lines at hyphens. If this setting is not selected the editor will not break the line when a hyphen is encountered.

Reformat paragraph after paste when wrap settings set to add hard returns at specific column number

This setting causes the editor to automatically reformat a paragraph after a paste command if the Word Wrap settings are set to wrap at a specific column number with the insertion of hard returns (CR/LF). This is the default behavior and not selecting this option will disable this feature.

Do not convert spaces and tabs inside comments and strings

If this option is selected, spaces and tabs inside comments and strings (as defined in the associated wordfile) will not be converted by formatting operations.


Line Change Indicator

Line Change Indicator (Configuration - Editor Display)

The Line Change Indicator branch under Configuration - Editor Display has the following options:

Width of Line Change Indicator in pixels

This text field may be used to specify the width of the Line Change Indicator in pixels. Values may be set between 1 and 9.

Enable line change indicator (LCI)

If this option is selected, modified lines will be indicated with a special colored shading between the line numbers and the first character on the line. The colors used to indicate saved and unsaved changes to a file within an editing session are configured under the Editor tab in the Manage Themes dialog. If the undo buffer is cleared during an editing session, the line change indicators would be reset as well.

If a file is opened that exceeds the threshold specified for using temporary files under the Temporary Files branch in the File Handling section of configuration, and the option is set to open without a temporary file in this case, the line change indicator will not be displayed.

This setting is a global toggle for the function. If users wish to toggle this option on/off on a file-by-file basis, this may be done using the option in the View tab. If files are open for editing when this option is changed, they would need to be reloaded or the Line Change Indicator setting would need to be toggled in the View tab to affect these files.

Hide LCI by default on file open

This option can only be selected if the option above is selected. When this is selected and changes are made to a file, the changes are tracked, but the LCI is not immediately shown for modified lines. If the user wishes to see which lines have been modified, he can click on the Line change indicator button in the View tab to toggle visibility of the LCI.


Miscellaneous

Miscellaneous (Configuration - Editor Display)

The Miscellaneous branch under Configuration - Editor Display has the following options:

Maximum columns before line wraps

This setting sets the maximum columns allowed within the editor before it wraps the line (soft wrap). The default is 4096 columns but a maximum of 20,000 is allowed. Some video drivers have a problem when this is set too high.

Count wrapped lines as new lines in number display

This setting causes the editor to show wrapped lines with different line numbers. By default this is not set.

Disable line numbers

When this option is selected, line numbers will not be displayed in the editor and the Line numbers option will be subdued in the View tab.

Start ruler numbering at column 1

This setting causes the editor to start the ruler at 1. If this option is not selected (default) the editor starts the ruler at 0.

Display full paths in project list

If this option is selected, the list of recent projects in the Recent dropdown under the Project tab will display the full paths for projects. If this is not selected, the project paths may be shortened with an ellipsis.

Auto-correct keywords

This option toggles the state of the auto-correct feature. If this option is selected, keywords detected will be corrected to match their case in the active wordfile. For example, "javaarray" would automatically be changed to "JavaArray" for JavaScript files.

Disable mouse wheel zoom

If this option is selected, increasing/decreasing font size using CTRL + mouse scroll will be disabled.

Display CSS color tooltips

If this option is selected a color swatch will be displayed reflecting the specified color when the cursor hovers over a color specification in CSS, HTML, Javascript, Perl, PHP, Python, and Ruby files. If the user holds down the CTRL key and clicks on the color swatch, a color picker is displayed and users may use this to specify a different color. Pressing OK in the color picker after specifying a different color will insert the appropriate values into the active source document.


Syntax Highlighting

Syntax Highlighting (Configuration - Editor Display)

The Syntax Highlighting branch under Configuration - Editor Display allows the user to configure syntax highlighting options:

Syntax highlighting is the ability to recognize predefined words and display them in different colors. This is particularly useful for programmers and can also be useful to other users who may want certain words in a document to show up in a different color.

Support for many languages or word sets that may be recognized is provided. Each word set may be configured to have a different color for the following groups of words:

Normal Text (Words that are not recognized)

Words that appear in a comment line, or block comments

Alternate set of block comments

Strings

Number values (must start with a digit (0-9))

Up to eight groups of different recognized words

Syntax highlighting color settings and styles are stored within and provided by the user’s active theme. In order to change syntax highlighting colors and styles, the user must go to View - Themes - Manage Themes. More information is available in the Manage Themes help topic. The location of the wordfile used for highlighting may be specified under Editor Display - Syntax Highlighting in the Configuration dialog.

Note - The highlighting is determined by the file extension (details below). The file extension of the file being modified must be defined in the "wordfile" for one of the languages.

The predefined words may be configured by the user as follows:

UltraEdit reads configuration files (the default file extension is "*.UEW") from the directory specified under Advanced -> Configuration -> Editor Display -> Syntax Highlighting, to configure the syntax highlighting. These files are read each time the editor starts up. Each file may be up to 372KB in size. The syntax for these files is as follows:

Language Definition

The word set, or language is specified by "/Ln". This must be at the beginning of the line. A description or name of the language may be specified immediately following the /Ln in quotes. This description if present is displayed when setting up the colors for the language. The description may be up to 24 characters.

Line Comments

The comment characters used for line comments are specified by the string "Line Comment = " followed by the comment characters. Five characters are allowed; if there are less than five then the last character must be followed by a space.

A second set of line comments may be specified by the string "Line Comment Alt = " followed by the comment characters. Five characters are allowed; if there are less than five then the last character must be followed by a space.

As some instances may require that a space is a part of the line comment an alternative method to describe the line comment is available. Using the alternative method, the number of characters used is specified by the user with the following syntax:

"Line Comment Num = xCC "

where x specifies the number of characters (1 to 5) and IMMEDIATELY following are the characters to be used as line comments. In the example above, x would be 3, and the line comment would be "CC " (note the space after "CC").

Additionally, there are times when qualifiers are required for line comments such that the comments are only valid if they occur at certain columns, or after certain characters (well, more often they are not valid if they follow certain characters). To cater for this, two additional line comment commands are provided:

"Line Comment Preceding Chars = […]"

and

"Line Comment Valid Columns = [1-7,10]"

The default for "Line Comment Preceding Chars" is that all characters are valid. Therefore this entry would include the characters that are not valid following a tilde character as in …[~a-z]. This would say that the comment is not valid if it immediately follows a character in the range a-z. Any characters are valid between the brackets.

The default for "Line Comment Valid Columns" is that all columns are valid if this is not defined. If this is defined, then only the columns specified are valid. There can be up to 10 column ranges, or columns specified separated by a comma as in …[1-7, 10]. This indicates that the comment characters are valid if they occur at columns 1 through 7, or at column 10.

Block Comments

The characters used for block comments may also be configured (i.e. /* … */ for 'C'). These are in the form "Block Comment On = " and "Block Comment Off = " followed by up to nineteen characters each that define the comment designators. For compatibility with previous releases, the '/*' and '*/' are used for file types that have '.C' as one of the extensions. This may be overridden. The first character of the block comments may be a space.

If a "Block Comment On" is defined but the "Block Comment Off" is not defined the commenting will stop at the end of the line. This effectively allows the block comments to be used as line comments also.

Additionally, a second set of block comments may be defined for languages that require it. This is particularly useful for ASP allowing HTML comments to be maintained with the addition of adding highlighting for ASP blocks.

The second set of block comments are in the form "Block Comment On Alt = " and "Block Comment Off Alt = " followed by up to nineteen characters each that define the comment designators. The first character of the block comments may be a space.

If a "Block Comment On Alt" is defined but the "Block Comment Off Alt" is not defined the commenting will stop at the end of the line. This effectively allows the block comments to be used as line comments also.

UltraEdit/UEStudio by default will end any block comment whenever a single block comment end string is encountered. To instruct UltraEdit/UEStudio to explicitly match all block comment start strings with all block comment end strings, the nest block comment command may be specified. This is accomplished by adding the NestBlockComments command to the language definition line (i.e., /L3"HTML" NestBlockComments ...).

File Extensions/Types

Syntax Highlighting is determined either by the name of the file or its extension. More commonly the extension is used and to specify the extensions for which this language is applicable the following string should be used: "File Extensions = " and each extension is separated by a space. File extensions specified here are NOT case sensitive.

The file extension is everything AFTER last dot in the name of a file. Up to 97 bytes may follow the "File Extensions = " declaration. If a list of file extensions exceeding 97 bytes is specified here, they will not all be parsed.

Users may specify a language as the default for syntax highlighting by placing an asterisk "*" as the last file extension specified. This would also be used as the highlighting file type for unsaved files or files saved without an extension.

To specify that a filename rather than file extension is to be used to determine the language the following string should be used: "File Names = " and each name is separated by a space. This must include the extension, i.e.: "File Names = ThisFileName.xml". Up to 125 bytes may follow the "File Names = " declaration.

Shebang Parsing

Perl and XML files may be saved without an extension and will be highlighted accordingly if the first line contains the expected Perl/XML declaration contents as follows:

Perl | #!/usr/bin/perl
PHP | #!/bin/php
Python | #!/bin/python
XML | <?xml

This support may be extended using the LanguageMarker option, as in:

/LanguageMarker = #!/bin/ksh

This would allow users to specify the specific path which should be checked for a given file type for language identification. Alternatively, multiple flags may be set as in:

/LanguageMarker = "ksh" "sh" "csh"

and any files with the following shebang lines:

#!<some path>ksh

#!<some path>sh

#!<some path>csh

will be detected.

File Names/Extensions Considerations

The following items must be considered if using both File Names and File Extensions options in the same wordfile:

1. Names including spaces may not be specified with the File Names option.

2. The File Names option may not be used in conjunction with the File Extensions option.

3. If a language is defined using the File Names option, and a different language within the same wordfile is specified using the File Extensions option and the definitions overlap, the language defined with the File Names option must have a lower language number, i.e.:

Example 1 - won't work:

/L6"XML General" XML_LANG Noquote ... File Extensions = XML XUL XSD XSL XSLT

/L12"XML Special" XML_LANG Noquote ... File Names = ThisIsJustAFile.xml

Example 2 - will work:

/L6"XML Special" XML_LANG Noquote ... File Names = ThisIsJustAFile.xml

/L12"XML General" XML_LANG Noquote ... File Extensions = XML XUL XSD XSL XSLT

Color Selection

Color codes may be specified by adding a line with /Cn at the beginning of the line, where n is the color index of 1 to 20. A description or name of the section may be specified immediately following the /Cn in quotes. This description if present is displayed when setting up the colors for the language. The description may be up to 24 characters.

All information specified remains in effect until overridden with new command information.

The following example specifies the first language to be used with files with the extensions 'C', 'CPP', 'H' or 'HPP'. The color used for the words is the first selectable color and the comment characters are //.

/L1"C/C++" Line Comment = // Block Comment On = /* Block Comment Off = */ File Extensions = CPPC H HPP

/C1

auto

break

case char const continue chr$

default do double

Case Sensitivity

If the language is not case sensitive, the keyword "Nocase" may be added to the command line i.e.:

/L1 Line Comment = // Nocase File Extensions = CPPC H HPP

Strings

When using many programming languages, characters in single quotes and double quotes are treated as literal strings, and word and comment recognition should be ignored. This is the default behavior for UltraEdit. There are some languages, (i.e. HTML and others) where this behavior is undesirable. To facilitate such languages the keyword "Noquote" may be added to the command line to override the default behavior i.e.:

/L1 Noquote File Extensions = HTM

UltraEdit now supports configurable characters for quotes strings. The default characters for strings are single and double quotes (') and ("). These may be overridden with the keywords "String Chars = " followed by up to two characters. This is only required if you wish to use different characters from the default. If for example you wish to use the double quote only for strings you would have a line similar to the following:

/L1"C/C++" Line Comment = // Block Comment On = /* Block Comment Off = */ String Chars = " File Extensions = CPPC H HPP

Note the "String Chars" portion.

Additionally, if you have two characters for the strings defined (or using the defaults) and you wish to have a different color for each type of string, you may now include the character (i.e. double quote) in one of the color groups in a line by itself. This will override the configurable color for the strings that are encapsulated by this character.

/L1"C/C++" Line Comment = // Block Comment On = /* Block Comment Off = */ String Chars = '" File Extensions = CPPC H HPP

/C1

auto

break

"

…

In the above example, all strings that have double quotes (") around them will be colored with the color group C1 while strings with a (') around them will use the default color for strings.

Escape Character

In many languages there is a special designated character that is referred to as an Escape Character. This is used to override the normal string characters (and other characters). If a string is defined that itself contains a quote character normally used to define the string, the syntax highlighting would interpret this quote as the end of the string. If however this quote character is preceded with an Escape Character the quote character would be appropriately treated as part of the string and not the end of it.

The Escape Character is defined as follows:

/L1"C/C++" Escape Char = \ …

In this case the Escape character is defined as a backslash.

Keywords

Note that ALL words starting with the same character may be on the same line or spread across multiple lines, however if they are spread across multiple lines the lines must be one after the other with no empty lines or other lines between them.

If the language is case sensitive, the letter 'A' is different from 'a' and so words starting with 'A' MUST be on a different line from words starting with 'a'. If the language is case insensitive words starting with the letter 'A' must be on the same line as words starting with the letter 'a'.

Keywords beginning with a Sub String

There are instances in some languages where it is desirable to highlight keywords that begin with a particular sub-string, however the complete word is not known. UltraEdit provides the ability to define sub-strings that are used to determine if a word should be highlighted. If such sub-strings are defined for a particular language under a color group UltraEdit will determine if a word begins with one of the sub-strings. If it does, it will be highlighted accordingly.

The sub-strings should be defined as with any other set of keywords however the line containing the sub-strings should start with "** " and all sub-strings should be on the same line as in:

** aaa bbb

The example above would highlight any words beginning with "aaa" or "bbb".

Words Starting with '/'

As UltraEdit uses '/' as a command character words to be highlighted require special handling. To highlight words beginning with a '/' the line should begin with '// ' followed by the keywords as in:

// /mykeyword /anotherkeyword

HTML Specific

HTML is considerably different from other languages, and to better facilitate the use of UltraEdit for editing HTML files the "HTML_LANG" keyword was added. When this keyword is present, the special characters '<' and '/' may be placed in front of any keyword as desired without all keywords with the special ('<' and '/') characters all having to be on the same line. In this case, words starting with the same letter (a-z etc) must be on the same or contiguous lines as is normally required.

Below is an example portion of a word file for HTML:

/L3"HTML" Line Comment = // HTML_LANG Block Comment On = <!-- Block Comment Off = --> File Extensions = HTM HTML

/C1

<A </A> <ADDRESS> </ADDRESS> <APPLET </APPLET>

<B> </B> <BASE <BASEFONT <BGSOUND <BIG> </BIG> <BLINK> </BLINK> <BLOCKQUOTE> </BLOCKQUOTE>

<CAPTION> </CAPTION> <CENTER> </CENTER> <CITE> </CITE> <CODE> </CODE>

Additional enhancements for HTML will be added in the future.

FORTRAN Specific

FORTRAN is quite different from other languages regarding comments, and to better facilitate the use of UltraEdit for editing FORTRAN files the "FORTRAN_LANG" keyword was added. When this keyword is present, UltraEdit treats a 'C', 'c' or '*' in the first column as a line comment indicator and the rest of the line is highlighted as if it were commented out.

Below is an example portion of a word file for FORTRAN:

/L4"Fortran" FORTRAN_LANG File Extensions = FOR FTN

/C1

…

Note: Any of the normal comment indications may also be used (line comments, block comments).

LaTex/Tex Specific

TeX/LaTeX is quite different from other languages and each command starts with a '\'. To better facilitate the use of UltraEdit for editing TeX/LaTeX files the "LATEX_LANG" keyword was added. When this keyword is present, UltraEdit has special handling for syntax highlighting to allow words to be appropriately handled and highlighted with the '\', and with consecutive words.

This also allows the recognized words to be placed in the wordfile without all of them being on the same line. If the word begins with '\' then the second character is used to determine which line the word should be on. All words beginning with '\a' should be on the same line as other words beginning with '\a' or 'a'. In the same way, all words beginning with '\b' should be on the same line as other words beginning with '\b' or 'b' but on a different line from those starting with '\a' etc.

Below is an example portion of a word file for TeX/LaTeX:

/L4"TeX/LaTeX" LATEX_LANG File Extensions = TEX LATEX

/C1

…

Note: Any of the normal comment indications may also be used (line comments, block comments).

Delimiters

UltraEdit has built in delimiters that are used to determine when a new word starts and when a word finishes so that it may be matched against the set of words for a given language. With the exception of the '<' and '>' characters in HTML a character that is a delimiter may not also be part of a word; that is, you can not say the @ symbol is to be considered part of a word, and it is a delimiter between words. (Future enhancements may allow this).

With release 4.1 and later, UltraEdit allows the delimiter characters to be configurable by the user. For compatibility, the existing delimiters are retained if the user does not specify the delimiters for a given language. Each language may have its own set of delimiters. It is not necessary to configure the delimiters for languages if you are using the defaults.

To specify the delimiters, add a NEW line similar to the following to your wordfile:

/Delimiters = ~!@$%^&*()_-+=|\/{}[]:;"'<> ,.?/

Note that the Delimiters should include a space and a TAB character if you want them to be considered delimiters. The line must begin with "/Delimiters =".

It is possible to assign the delimiter characters to the color sections. If you have a character that is a delimiter, such as a '+', and you wish this to be colored with one of the group colors you may add this character to a line of its own under the color section, and this will retain its recognition as a delimiter and be highlighted with the appropriate color. A delimiter may be included at the beginning of a keyword and be highlighted accordingly but may not be included in the middle of a keyword. If a "compound" keyword, or a keyword that includes a delimiter character between two sections is desired, the delimiter character would need to be removed from the Delimiters list, or the two portions of the keyword would need to be defined separately to highlight correctly.

Function Definition Strings

UltraEdit allows the user to show a list of functions in the active document, or all project documents. As the definition of a function may be different for different languages it is necessary to allow this to be configured based on the language.

This is accomplished by modifying the "wordfile" and defining the string UltraEdit uses for each language. The string will be used by UltraEdit as a Regular Expressions search string to find the functions.

By default the regular expression string uses UltraEdit style regular expressions. If desired, Perl compatible Regular Expressions may be used for the function strings by adding the following:

/Regexp Type = Perl

In order to use Perl regular expressions for the function list, you MUST tag (via parentheses) the portion of the match that you want returned in the function list. Up to six functions strings per language may now be defined allowing more function/procedure formats to be specified.

To specify the function string add a line similar to the following for the specific language:

/Function String = "%[a-zA-Z]*)"

or

/Function String 1 = "…"

…

/Function String 5 = "…"

This string to be searched for MUST be in quotes. If required, you can specify that only part of the resultant string is displayed in the function list. To do this, use the tagged expressions as defined under the Regular Expressions and enclose the portion of the expression that is to be displayed between "^(" and "^)" as in:

/Function String = "%[a-zA-Z]+^(*^))"

This example would ignore the first word and display the rest of the line.

By default, functions on commented lines (or in block comments) will not be shown in the function list. If users desire functions in commented text to be returned in the function list, the following option may be added to the wordfile:

Strip Comments = False

Indentation

UltraEdit provides for automatic indentation based on the specific language to indent a block of code or to unindent a block of code.

For indentation for a specific language add a line similar to the following line under the particular language section:

/Indent Strings = "{"

Any number of words may be specified in quotes (each word/string must be in a separate set of quotes ""). If an indent string occurs anywhere on a line it will be used for indenting (except when it occurs in quoted/commented text). The indentation is the next TAB stop from the indentation of the preceding line (same as if a TAB key was pressed).

For out-denting for a specific language add a line similar to the following line under the particular language section:

/Unindent Strings = "}"

Any number of words may be specified in quotes (each word/string must be in a separate set of quotes ""). If an indent string occurs anywhere on a line it will be used for indenting (except when it occurs in quoted/commented text). If the line that contains the string is indented LESS than the preceding line an indentation does not occur, otherwise the matching character/word is out-dented to the preceding TAB stop and the new line is indented to the same point.

Please note: If no indent/unindent strings are specified, UltraEdit will use "{" as a default indent string and "}" as a default unindent string.

For reindenting of files it may be undesirable to indent certain lines that are commented out, or compiler directives. This can be avoided by specifying lines that should not be indented. To do this add a line similar to the following to the appropriate language section in the wordfile:

/Ignore Strings SOL = "#" "//"

Any number of words may be specified in quotes (each word/string must be in a separate set of quotes ""). For the word to match it must be the FIRST character(s) of the line. If a line matches this, it would not be indented, however the indenting of the next line would be performed as if this line was not present.

Brace Matching

Open/Close brace strings may be for each language defined in the wordfile. This extends and enhances the functionality of the Go to brace command in the Coding tab and auto-brace matching which is enabled in the Syntax Highlighting dialog.

To define an open brace add a line similar to the following under the particular language section:

/Open Brace Strings = "{" "(" "["

or

/Open Brace Strings = "If" "For" "Select Case" "Else" "ElseIf"

To define a close brace add a line similar to the following under the particular language section:

/Close Brace Strings = "}" ")" "]"

or

/Close Brace Strings = "End If" "Next" "End Select" "End If" "ElseIf"

Please note: Open and close brace strings must be positionally matched in their lists for this to work as desired. If a "{" is defined as the first Open Brace String then "}" should be defined as the first Close Brace String. They must also be unique. For example, "endcase" cannot be used as the close brace for "casex" and "casez".

If open/close brace strings are not defined UltraEdit uses a standard group of characters when performing brace matching functions as in previous versions.

Marker Characters

There are times when it is desirable to highlight all characters between two characters. UltraEdit provides for "marker characters" that mark the first and last part of a string that UltraEdit highlights between. All characters between the two characters are highlighted.

To define marker characters for a specific language add a line similar to the following line under the particular language section:

/Marker Characters = "ab"

where 'a' is the first character of the string to be highlighted and 'b' is the last character. Note that all characters on a line will be highlighted including spaces. If the line is a comment or string this is ignored. Alphanumeric characters may be used, but whitespace characters (space/tab) may not be used for marker characters.

Additionally, you may define up to 4 pairs of characters to highlight between as in:

/Marker Characters = "abcdefgh"

where strings starting with 'a' and ending with 'b' are highlighted as are strings starting with 'c' and ending with 'd' etc.

The color of the highlighted string must be configured. To specify the color, add the two characters under the appropriate color section as if they were a word such as "ab", "cd", etc.

Open/Close Fold Strings

UltraEdit has defaults for Open and Close folding strings for many languages. If no strings are specified in the wordfile, the defaults are used. Otherwise, the specified strings are used for folding.

/Open Fold Strings = "{"

/Close Fold Strings = "}"

Alternatively, users may prefer that code folding be based on indentation rather than the occurrence of open/close fold strings. In this case, users may add the keyword "EnableCFByIndent" to the wordfile.

Please note: If this keyword exists in the wordfile, then any open/close fold strings defined for the wordfile will not be recognized for code folding.

Ignore Fold Strings

In specific cases it is necessary for the Fold logic to ignore certain lines which contain a string. If an Ignore Fold String is found on a line of source code (outside a line comment or block comment) the fold logic will ignore any other open or close fold strings on that line. No defaults are provided for Ignore Fold Strings.

/Ignore Fold Strings = "Exit Function"

Open/Close Comment Fold Strings

UltraEdit provides a means to specify unique Open and Close Fold Strings which are recognized in line or block comments only. No defaults are provided for Open and Close Comment Fold Strings.

/Open Comment Fold Strings = "#Region"

/Close Comment Fold Strings = "#End Region"

Multi-line Strings

UltraEdit has defaults for multi-line string highlighting capability for many languages. If no strings are specified in the wordfile, the defaults are used. Otherwise, one of the following strings may be added to the language definition line (i.e., /L8 PHP ...)

EnableMLS

DisableMLS

String Literal Prefix

UltraEdit supports specification of the string literal format by specifying a string prefix character in the language definition line. For example, in C# .NET 2.0, the string literal prefix would be defined as follows:

String Literal Prefix = @

In this case, the @ before a string literal indicates that a backslash is not an escape character which is really useful for entering path literals. To illustrate, the following two statements are equivalent:

"c:\\data\\"

@"c:\data\"

The only special character in a @"..." literal is the ", which is simple doubled if you want to embed one.

Language Markers

UltraEdit has improved syntax highlighting and it now supports multiple languages within a single file. Most are specifically for HTML type files. To help facilitate this, we have added additional language indicators that should be added to the wordfiles (*.uew) to indicate the type of language for any languages that may be included within another. Our default wordfiles have these modifications.

Example:

If an HTML file includes PHP then the syntax highlighting section must exist in the main wordfile and the PHP section should include in the definition line: PHP_LANG

Unambiguous language markers have been added to the default wordfile for the following languages:

C_LANG // C/C++

COBOL_LANG // Cobol

FORTRAN_LANG // Fortran

PASCAL_LANG // Pascal

PERL_LANG // Perl

PLB_LANG // Plb

VB_LANG // Visual Basic

VBSCRIPT_LANG // Vb Script

ASP_LANG // ASP

CSHARP_LANG // C Sharp

CSS_LANG // CSS

LATEX_LANG // TeX / LaTeX

HTML_LANG // HTML

JAVA_LANG // Java

JSCRIPT_LANG // Javascript

ECMA_LANG // Ecma / Ecmascript

PHP_LANG // PHP

MATLAB_LANG // MATLAB

PUREBASIC_LANG // PureBasic

PYTHON_LANG // Python

RUBY_LANG // Ruby

SQL_LANG // SQL

XML_LANG // XML

XSL_LANG // XSL

MASM_LANG // Microsoft Assembler

AASM_LANG // AT&T Assembler

NASM_LANG // Netwide Assembler

JSON_LANG // JSON

Currently, UltraEdit uses the above language markers to correctly syntax highlight multiple languages within a file. In the future UltraEdit may make further use of these languages markers in the wordfile.

NOTE: If your wordfile has multiple occurrences of the HTML_LANG language marker, this must be corrected or some languages may not highlight correctly. UltraEdit allows only one instance of a language marker (i.e., C_LANG, COBOL_LANG, HTML_LANG) in a wordfile.

The following file extensions were moved to the HTML section of the default wordfile: php, asp, and jsp. This was done to facilitate correct HTML highlighting at the outer language level of the file even when no <HTML> language tag is specified within the file. All php, asp, and jsp sections of the files are highlighted correctly based on language start and end tags (<? and ?> for example), however a "View As" will show the file as HTML type.

IntelliTip support

Style keywords have been added to the wordfile to identify color groups for IntelliTip support. Currently the use of

the style elements is limited, but will find expanded use in future enhancements. A complete list of style elements follows:

STYLE_KEYWORD // Keyword

STYLE_FUNCTION // Function

STYLE_EXTENSION // Extensions

STYLE_IDENTIFIER // Identifier

STYLE_OPERATOR // Operator

STYLE_METHOD // Methods

STYLE_EVENT // Events

STYLE_STATEMENT // Statements

STYLE_TAG // Tag

STYLE_VARIABLE // Variable

STYLE_ATTRIBUTE // Attributes

STYLE_ELEMENT // Element

STYLE_COMMAND // Command

Highlight new file as

Using the dropdown for this feature the user may set a default language for syntax highlighting from the list of languages defined in the active wordfile. This language will be used as the default for unsaved files.

Spell checking

By default UltraEdit and UEStudio will not perform "spell check as you type" on any syntax-highlighted files. To change this setting and allow "spell check as you type" for a syntax-highlighted file, add the following to the language definition line (e.g., /L3"HTML" ...) of the wordfile:

EnableSpellasYouType

The appropriate spell check option must also be selected in Configuration to support this.

The wordfile(s) may be modified by the user.


Function List

Function List (Configuration)

The Function List branch under Configuration provides access to the Modify Groups dialog which is used to define the groups and subgroups which populate the hierarchical function list for a given language. If the active file is highlighted, the Language dropdown will default to the language appropriate to the active file.

The Existing Groups tree will display the groups and subgroups currently defined for the selected language. Different languages may be selected with the Language dropdown and the Existing Groups tree will be updated accordingly.

If the Modify Groups button is pressed the Modify Groups dialog will be presented so that users can define groups and subgroups for the selected language.


Advanced

Advanced (Configuration - Application Layout)

The Advanced branch under Configuration - Application Layout has the following options:

Disable all Workspace "Close" buttons

This option toggles the state of close buttons for peripheral windows (File Tree View, ASCII Table, Function List, Macro List, Tag List, Template List, Clipboard History, Script List, Bookmark List, Output Window, and SSH/Telnet Console).

Reset all "Don't Show Again" checkboxes

If this option is selected, all dialogs with a "Don't show this window again" option are reset to an unchecked state so they will be visible the next time the associated option is invoked.

Confirm removing File/Directory from Favorites

If this option is selected, a confirmation dialog will be shown whenever a file or directory is selected for removal from the Favorites list shown under the Lists tab in the Workspace Manager.

Display prompt opening read-only project

If this option is selected, a confirmation dialog will be shown when a project is loaded indicating that the project file is read-only. The user will be prompted to decide if they wish to make the project file writeable or not. If the project file is not changed to be writeable, then changes made to the project will not be saved when the project is closed.

Use Registry for settings (not INI file) - This will NOT move the existing items to the registry

This setting causes the editor to save and retrieve all settings from the registry. After the editor determines the INI file in use it checks for this value before reading any other values. If this is set the editor stores all settings in the registry. When this option is selected, existing settings are NOT copied from the INI file to the registry. If this option is unchecked, options stored in the registry are NOT moved to the INI file.

Please note: If this option is selected, the options to Import settings and Export settings in the Backup settings dropdown in the Advanced tab will not work.

Store windows/menu/toolbars placements and configurations for multiple instances of application

If this item is checked and a second instance of the editor is open and window sizes/positions or menu/toolbar configurations are changed, the next time a second instance of application is opened, it will use the separately saved sizes and positions.

INI File Location

This block displays the full path to the INI file being used by the current instance of UltraEdit or UEStudio. This text may not be edited by the user, but is provided to facilitate locating the INI file when necessary.


Dockable Windows

Dockable Windows (Configuration - Application Layout)

The Dockable Windows branch under Configuration - Application Layout has the following options:

Time-out before Auto-hide (in ms)

This field is used to specify the number of milliseconds of delay that will pass before an auto-hide occurs when a child window which is configured to auto-hide loses focus.

Auto-hide scrolling

The slider here can be used to adjust the speed used to close a child window when set to auto-hide. If the slider is moved as close as possible to Disabled, the scrolling will be very fast. As the slider is adjusted more towards Smooth, the scrolling will seem to slide out of the edit window space more gradually.


Miscellaneous

Miscellaneous (Configuration - Application Layout - File Tabs)

The Miscellaneous branch under Configuration - Application Layout - File Tabs has the following options:

Double-click tab will close file

If this option is selected double clicking on an open file tab will close the associated file. This option is selected by default.

Middle-button-click will close file

If this option is selected clicking the middle mouse button on an open file tab will close the associated file. This option is selected by default.

After current tab is closed, move to

Using this option, users may select which file tab focus should shift to when the current tab is closed.

Sort tabs on file open

If this option is selected file tabs will automatically be sorted alphabetically as each file is opened.

Display status icons

If this option is selected, icons will be displayed in file tabs to indicate the status of the related file. Icons include the following:

Icon | Meaning
 | New file (unsaved)
 | Local modified file (unsaved)
 | Local modified file (saved)
 | Modified FTP file (unsaved)
 | Modified FTP file (saved)
 | Read only file

If no icon is displayed, this means that the file has not been modified since it was opened.


Operation

Operation (Configuration - Application Layout - File Tabs)

The Operation branch under Configuration - Application Layout - File Tabs has the following options:

Dockable tabs

If this option is selected, the file tabs will be displayed in a dockable control that may be moved outside of the main GUI and arranged and resized as desired. If this option is NOT selected, files cannot be cascaded or tiled using the relevant Window menu commands.

Types

Single line - scrollable

If this option is selected, file tabs will be displayed in a single row. When the file tabs for the number of files opened exceeds what can be displayed on a single line, left and right scroll arrows will be displayed at opposite ends of the tab row.

Single line - drop down file list

If this option is selected, file tabs will be displayed in a single row. In this mode a list of currently open files may be accessed by clicking on the down arrow at the end of the tab row.

Multiline

If this option is selected, the number of lines used to display file tabs for the open files will automatically expand and contract as necessary based on the number of open files.

Close Tab Button

Users may select one of four options related to the display of an "x" close button for file tabs. If None is selected, a close button is not displayed. If On tab bar is selected, an "x" will be displayed at the end of the file tab row and users may click on this to close the active file. The On tab bar option is subdued unless the Single line - drop down file list file tab type is selected above. If On active tab is selected, an "x" will be displayed on the active file tab. If On all tabs is selected, an "x" will be displayed on all file tabs.


Colors

Colors (Configuration - Application Layout - File Tabs)

The Colors branch under Configuration - Application Layout - File Tabs has the following options:

Tab colors by file specification

If this option is selected the background color of file tabs will be changed to indicate the file type. Users may assign file types to the colors available in the table by double-clicking on a color line and adding an extension (i.e. "*.html"). Additional extensions should be listed immediately following the preceding extension and a semicolon ";" (i.e. "*.php;*.php3;*.html;*.js"). If preferred, users may specify colors for individual files rather than extensions, i.e. "ResolveLine.cpp".


File Tree View

File Tree View (Configuration - Application Layout)

The File Tree View branch under Configuration - Application Layout has the following options:

Show volume labels in Explorer view

If this option is selected, volume labels rather than just drive letters will be displayed under the Explorer tab in the File Tree View.

Network drive label format

If the option above is selected, the format defined in this field will determine how the volume label is displayed under the Explorer tab in the File Tree View.

Show registered file type icons in Explorer view

If this option is selected, system registered icons will be used under the Explorer tab in the File Tree View rather than generic file type icons.

Scan for empty folders in Explorer view

If this option is selected, the editor will detect empty folders in the Explorer view in the File Tree View. Those folders determined to be empty will NOT have a "+" shown beside them (indicating that they may be expanded). If this option is not selected, the "+" may or may not be accurate, but will not be updated until the editor attempts to update/expand the selected folder.

Cache volume info in Explorer view

When the mouse hovers over a drive in the Explorer view, the editor attempts to get the latest information about that drive and display it. If this option is selected, drive information is cached and the drive is not accessed so often.

Activate file in Open file list on single click

If this option is selected, a single click in the Open file list in the File Tree View will cause the referenced file to become the active file in the editor. By default this option is not selected and a double click is required.

Resolve Link files and directories in Explorer view when opened

If this option is selected, linked files will be opened when the lnk file is clicked on in the Explorer view, and the Explorer view will navigate to the linked directory when the lnk directory is clicked on in Explorer.

Show Network browser in Explorer view

If this option is selected, a Network node is displayed in the display tree in the Explorer pane of the File Tree View. When this node is expanded, a listing of the members of the network to which the system is currently connected is displayed. Users may navigate this tree and access remote servers without mapping drives. Paths for files opened via this method will be accessed/referenced using Universal Naming Convention (UNC) format.


Help

Help (Configuration - Application Layout)

The Help branch under Configuration - Application Layout has the following options:

Show CHM user help files always on top

This setting allows users to force the editor to always show user defined CHM help files as the top-level window when opened.

Alternate method to open CHM files (if cached file opens)

If two user CHM files with the same name are created on different paths it is possible that the last one used will be opened (rather than the selected CHM file). If this is the case, this option should be selected which will flush the cache when user CHM files are opened, thus avoiding this issue.


Miscellaneous

Miscellaneous (Configuration - Application Layout)

The Miscellaneous branch under Configuration - Application Layout has the following options:

Display file name only in document title

This setting allows the user to specify that the editor should only display the filename only and not the path in the title bar for the editing window. If this is not selected the filename and path will be displayed (default). If this setting is selected only the filename will be displayed.

Animate configuration dialogs

This setting animates configuration dialogs both in the Advanced tab and (in UEStudio) under Project Settings.

Files selected in Explorer will open in a new single instance

If this option is selected, and multiple files are selected at once in Windows Explorer, and UltraEdit is selected from the context menu, all selected files will be opened in a single new instance. If this option is not selected, each file selected may be opened in a separate instance.

Allow multiple instances

The Multiple Instances item determines if another instance of the editor is opened if the editor is invoked when an instance is already active. If this option is enabled a new instance is opened each time the editor is invoked. If this option is not enabled only a single instance of the editor is opened, and any additional requests result in the first instance becoming active with the new file loaded in addition to any files already open.

Maintain separate process for each file opened from external application

In some cases, it may be necessary to select this option to support opening multiple files in a single instance of UltraEdit from an external application. If this option is selected, each open file will have a separate process in the Windows Task Manager until the file is closed or UltraEdit is closed. This option cannot be selected if Allow multiple instances is selected.

Start application title with file name

If this option is selected the path of the active file will be shown in the title bar before the name of the application. If this is not selected, the application name will be displayed before the active file path.

Automatically check for updates

If this option is selected, the application will automatically check for the availability of updates every 30 days.

ESC exits full screen mode

If this option is selected, pressing the ESC key will cause full screen mode to exit.


Status Bar

Status Bar (Configuration - Application Layout)

The Status Bar branch under Configuration - Application Layout has the following options:

Use basic status bar

If this option is selected, the status bar will provide a display of information related to the active file without any interactive controls. If this options is not selected, the status bar will include an Encoding Type control and a Highlighting Type control as well as interactive toggles for Read Only/Write status, and Insert/Overstrike status.


Window State

Window State (Configuration - Application Layout)

The Window State branch under Configuration - Application Layout has the following options:

Minimize on last file close

If this option is checked the editor will minimize when all open files are closed.

Minimize on system tray (not taskbar)

If this option is checked the editor will minimize to the system tray and NOT to the taskbar.

Always open editor maximized

This setting determines if the editor should always open its main window in a maximized state. The default is for the previous settings to be remembered. If this setting is checked the editor will open the main window in a maximized state.


Miscellaneous

Miscellaneous (Configuration - Toolbars/Menus)

The Miscellaneous branch under Configuration - Toolbars/Menus has the following options:

Number of recent files on file menu

This setting sets the number of recent files that appear on the Application menu for quick opening of files.

Recent files list on file menu

This option configures the recent file list to appear on the File menu rather than as a submenu of the File menu. If this option is not checked the recent file list appears as a submenu of the File menu. If this setting is changed, the application will have to be shut down and restarted for the change to take effect.

Address box width

This setting configures the width of the Open address bar control when added to a toolbar.

Find box width

This setting configures the width of the Search string to find control when added to a toolbar.

Build box width

This setting configures the width of the build box control when added to a toolbar.

Clear recent document/project and search/replace histories on exit

If this option is selected the Recent Files list and Recent Projects lists, the stored search/replace strings, the last used DOS commands, and the line change indicator information for edited files will automatically be cleared upon exit.

Clear History (Remove recent document/project, search/replace, DOS command and line change indicator histories)

When this button is pressed the Recent Files list and Recent Projects lists and any stored search/replace strings are immediately cleared. This option will also clear line change indicator histories stored in the INI file.


Web Search

Web Search (Configuration - Toolbars/Menus)

The Web Search branch under Configuration - Toolbars/Menus provides an interface where users may customize the search strings used when a search for text selected in the application is executed using the commands in the Search group in the Coding tab.

Through this interface users may localize (if desired) the "portal" through which their search is executed. For example, a user located in Germany may wish to search on "www.google.de" rather than the U.S. portal - "www.google.com". This may be accomplished by changing the "Google" search string to:

http://www.google.de/search?q=$K

In all cases, the "$K" represents the string selected in the editor at the time the search is executed. If desired, the default search strings may be reinstated for each option by pressing the associated Default button and then pressing Apply or OK to save the change.


HTML user tools

HTML user tools (Configuration - Toolbars/Menus)

The HTML user tools branch under Configuration - Toolbars/Menus provides an interface where users may customize the HTML text inserted when HTML buttons are selected in the HTML toolbar.

When a button is selected from the toolbar row, the text associated with this button will be displayed in the edit window and users may modify this text and save it to customize what is inserted by pressing the selected HTML button. By default, the HTML option will be selected in the Predefined section and the default buttons will insert text conforming to the HTML 4 standard. If the XHTML option is selected, the default buttons will insert text conforming to the XHTML standard.

Users may specify where the cursor should be presented when an element is inserted into the active document by using "|" in the text area, as is supported for templates. For example typing "<td>|</td>" would present the cursor or any currently selected text between the specified HTML elements. "\n" should be used in the template text to represent a new line. If a tab is desired, users should copy an actual tab character to the Windows clipboard prior to opening the HTML toolbar configuration dialog and paste the actual tab character into the template text.

When custom tags are associated with generic "HTML user command" buttons, the tooltip text will help to clarify what the button does when it is clicked. If a customized button is added to the Ribbon, it will first be added with its generic name, e.g. "HTML user cmd 01". The user may select this in the Customize dialog and click on the Rename button to specify a more descriptive name.


Directories

Directories (Configuration)

The Directories branch under Configuration allows the default directories used by the editor to be configured. The following options are supported:

Default save directory | sets the default directory for saving files with the Save as command
Macro default directory | sets the default directory for loading and saving macros
Template directory | sets the directory for template storage
Default open directory | sets the default directory for opening files with the Open command if no files are opened for editing (otherwise the active file's directory is used)
Default project file directory | sets the default directory for creating new projects with the New project command

Default Save Directory

Normally the directory used for the Save As command is the default directory which may vary depending on which directory was last used for a file open and may be any directory.


Key Mapping

Key Mapping (Configuration)

The Key Mapping branch under Configuration allows the user to reassign the default key mapping provided by UltraEdit/UEStudio to suit their particular needs:

This dialog shows a list of commands within the editor that may be mapped by the user to a key combination of their choice. Clicking on any of the commands will show the existing key assignment (if any) and the command description below the list. Commands will be sorted alphabetically.

To add or change a command key assignment:

1) Select the command you wish to modify from the Commands list.

2) Clicking the mouse in the Press New (Multi-)Key entry window area, or TAB to give it focus.

3) Type the new key assignment just as you would if you were invoking the command - This key combination will be captured and displayed. Users may use up to three keys (i.e. "Ctrl+Shift+T") for multi-key assignments in each field.

4) Click on the Assign button and the new key will be assigned to the command. If an existing key is assigned you will be asked if you wish to delete it and replace with the new assignment.

Chords

Users may use both text fields under Press new (multi-)key to define "chords". For example:

Ctrl+R

M

could be used to toggle a bookmark when "CTRL+R, and M" are pressed in quick succession.

The Multi-key delay value may be set to allow the user time to enter multi-key shortcuts rather than having the first portion of a multi-key shortcut processed on its own.

To remove a key assignment:

1) Select the command you wish to modify from the Commands list.

2) Select the existing key assignment from the Existing keys list.

3) Click on the Remove button and the key assignment will be removed.

To reset the key assignments to the default:

1) Click on the Defaults button and the key assignments will be reset to the defaults. The users will be prompted to confirm the action.

File Containing User Keyboard Mapping

The keyboard mapping file is stored (and searched for when the editor starts up) in the same directory as the INI File . The filename is the same as the INI with the .UEK extension, i.e. UEDIT32.UEK, UEDIT64.UEK or UESTUDIO.UEK.

Tab Key moves focus from "New Key" entry

If this option is selected pressing the TAB key while focus is on the "New Key" entry field will move focus out of this field rather than including "TAB" in the mapping for the selected command.

Show key mapping in editor

When this button is pressed a listing of all currently configured keyboard shortcuts for use with UltraEdit/UEStudio will be written to a file with the format "[Editor Name].shortcuts". This includes standard keyboard shortcuts, menu shortcuts, and macro hotkeys. If Sort by Keys is selected this list will be sorted based on the shortcut keys for each function. If Sort by IDs is selected this list will be sorted based on the command names. If desired, this list may be printed for reference.


FTP/SFTP

FTP (Configuration)

The FTP branch under Configuration has the following options:

Store FTP accounts and settings in user selected file

This option may be used to allow the user to specify a file which will be used to store FTP account options. The user may define this directly in the provided textbox or browse to select a file that already exists. If this option is not selected, FTP account information will be stored in the FTPData.ini file under %APPDATA%\IDMComp\UltraEdit.

Display FTP accounts in Explorer view

If this option is selected, FTP accounts will be shown in the File Tree View/Workspace Manager under the Explorer tab. The root of the account will be listed as a top level directory and may be expanded to show files/folders under this account.

Show FTP log in output window

If this option is selected an FTP log showing all commands sent to and data received from the FTP server will be displayed in the output window. This can provide helpful diagnostic information and the contents of this window may be copied using the clipboard.

Share FTP Accounts

If this option is selected, the option Store FTP accounts and settings in user selected file will automatically become subdued. When this option is selected, FTP account information is written to a new file IdmFTPAccounts.txt created under %APPDATA%\IDMComp\Common\FTP Accounts. This will allow UltraEdit, UEStudio, and UltraCompare Professional to access FTP account information maintained in a common file rather than storing this information separately for each application.

Context menu open of relative FTP paths in text uses Initial Directory as root

If this option is selected and an Initial Directory is defined for an account under the General tab in the FTP Account Manager, when a partial path is right-clicked in a file opened via FTP, UltraEdit will use the path defined for the Initial Directory as the root or base path for opening the relative path referenced in the active file.


Scripting

Scripting (Configuration)

The Scripting branch under Configuration has the following options:

Show status information in output window

If this is selected all status information including script name, whether the script succeeded or failed, and error information is printed to the output window. If the output window is closed but this option is selected or if the showOutput property is true (which it is by default) then data is still written to the output window but the output window is not automatically displayed..


Templates

Templates (Configuration)

The Templates branch under Configuration has the following options:

Auto-suggest smart template when typing

If this is selected UltraEdit will "auto-suggest" a template based on what the user has typed into the active file. The template name must match the word that has been typed into the active file in order for UltraEdit to "auto-suggest" a template. There are two ways to insert a suggested template:

1. Let UltraEdit "suggest" the template based on what was just typed, then press TAB to insert it.

2. Press Ctrl+Space to invoke the auto-complete dialog and choose a template from here.

...after pausing for

This setting allows the user to specify the delay in milliseconds that must occur after typing a word in a file before UltraEdit "auto-suggests" a template. This setting is disabled if the option above is unchecked.

Include templates in auto-complete dialog

If this option is selected, templates matching the string typed into the active file will be displayed at the top of the auto-complete dialog.

Maintain indent level when inserting template

If this option is selected, the current indentation level of the active document will be respected and auto-indent will adjust accordingly when a template is inserted into a document. If this option is not selected, insertion of the selected template will begin at the current caret position, but will not respect indentation on subsequent lines of the inserted template.

Show all language templates in Template List

If this option is selected, all language templates will be accessible in the Template List regardless of the type of file currently loaded for editing.

Auto-suggested template colors

This control is used to set the background color of a "suggested" template.

Template placeholder color

This control is used to set the background color of template placeholders - generic variable names that are initially used to populate an inserted template before the user modifies them.


Advanced

Auto-complete (Configuration - IDE - IntelliTips)

The Auto-complete branch under Configuration - IDE - IntelliTips has the following options related to auto-complete in UEStudio:

Show symbol list automatically

If this option is selected the auto-complete box (including symbols) will be displayed automatically after the specified number of characters have been saved.

Insert smart space after completed word

If this option is selected a space will be inserted automatically after the accepted word is inserted.

Auto-complete one-symbol list

If this option is selected and the auto-complete list contains only one unique item which matches the criteria specified for typed characters, then the item from the auto-complete list will automatically be inserted without prompting the user.

Delete "trailing" chars on auto-complete

If this option is selected and an auto-complete string is immediately followed by a non-matching string, the non-matching string will be deleted from the active document when the auto-completed word is selected. For example ("|" represents cursor) the user is typing:

ThisIs|Enum

and presses Enter, the auto-complete function would update the string to ThisIsVariable and the Enum portion of the active string would be deleted.

Disable this feature for

If the users wishes, the settings selected above may be disabled for strings occurring within comment blocks or strings (as defined by the String Chars setting in the associated wordfile).

Complete with

Using this option users may choose if options presented in the auto-complete dialog may be accepted by pressing the TAB or ENTER keys. If both options are unchecked, a double-click will insert the auto-complete word.


Function Tips

Function Tips (Configuration - IDE - IntelliTips)

The Function Tips branch under Configuration - IDE - IntelliTips has the following options:

Show automatically (Redisplay Tip: Ctrl + Shift + Space)

Function tips for parameter list display are automatically displayed upon typing a function name followed by the parameter list open character (such as open parenthesis). It can be displayed again by typing Ctrl+Shift+Space.

Use function tips data (if available) for function list

If this option is selected the built-in parser in UEStudio will be used to identify functions in the active file rather than the Function Strings defined in the wordfile. The file to be parsed must be part of the active project and the file extension must be defined under Configuration - IDE - Parser for this to work properly. If the file type and extension aren't specified under the Parser branch then UEStudio wouldn't be able to automatically parse the functions and the Function String definitions from the wordfile would be used.


Miscellaneous

Miscellaneous (Configuration - IDE - IntelliTips)

The Miscellaneous branch under Configuration - IDE - IntelliTips has the following options:

Insert ")]" automatically after "[("

If this option is selected, a close brace, i.e. [ ] and ( ), will be inserted immediately after the open brace is typed with the cursor displayed between the two braces.

Change ".." with "->"

If this option is selected, then typing ".." will produce "->" in any file. This is typical "C/C++" syntax for a pointer to a structure member rather than referencing the structure/structure member directly (i.e. "struct.member").

Automatically insert line-comment at new line

If this option is selected and the user edits content in a commented line and this wraps to a new line, the new line will automatically be commented. This allows the user to write multi-line comments without stopping to insert the line comment character.

Do not auto-correct structure members (items following "." or "->")

This setting causes the editor not to auto-correct keywords following a "." or "->". This was configured as the default due to issues faced particularly by Java programmers using Auto Complete. If this setting is not selected keywords following these items would be auto corrected.


Parser Configuration

Parser (Configuration - IDE - IntelliTips)

The Parser branch under Configuration - IDE - IntelliTips has the following options:

Auto re-parse documents when saved

When this option is selected UEStudio will automatically re-parse the saved document for items to be provided in the IntelliTip list.

Parse extensionless files as

Users may specify a file extension to be used by default for parsing for files that are saved without an extension.

Do not use cache for symbols

This option will force UEStudio not to use the cache for symbols in the active project. By default this option is not selected. Check this only if you have very low disk space.

The cache is in the %APPDATA% directory. If the cache is not used then the parser has to re-parse everything every time rather than working based on dependency checks (when files are updated or changed). Therefore the use of the cache is recommended for performance reasons.

Clear Cache

This button may be used to force UEStudio to clear the cache.


Quick Tips

Quick Tips (Configuration - IDE - IntelliTips)

Quick Tips display a suggestion for the word being typed, based on words previously found in the document that begin with the same characters. The first word found, scanning back from the cursor towards the top of the document, is the word that is suggested.

The Quick Tips branch under Configuration - IDE - IntelliTips has the following options:

Show tip "x" ms

This option is set in milliseconds and controls how long an IntelliTip tip will be displayed without user interaction.

Scan back "x" chars (set chars=0 to disable quicktips)

This option is set in characters and controls how many characters back from the current cursor position UEStudio will read to populate the IntelliTip list. This is set to 100,000 characters by default.

Complete with Tab/Enter

This option controls what keys may be used to accept the suggested word (TAB or ENTER).


Debugger

WinDbg (Configuration - IDE)

The WinDbg branch under Configuration - IDE allows users to specify the path to the WinDbg.exe on their local system. In order to use WinDbg as the integrated debugger for UEStudio, users will first have to download the relevant WDK or SDK from Microsoft at http://msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx . Windows Symbol Packages may be downloaded from http://msdn.microsoft.com/en-us/windows/hardware/gg463028 . For further information please see http://www.microsoft.com/ whdc/ devtools/debugging/ default.mspx.

WinDbg

WinDbg provides source-level debugging through a graphical user interface and a text-based interface. WinDbg uses the Microsoft Visual Studio debug symbol formats for source-level debugging. It can access any public function's names and variables exposed by modules that were compiled with Codeview (.pdb) symbol files.

WinDbg can view source code, set breakpoints, view variables (including C++ objects), stack traces, and memory. It includes a command window to issue a wide variety of commands not available through the drop-down menus. For kernel-mode debugging, WinDbg typically requires two computers (the host machine and the target machine). It also allows you to remotely debug user-mode code.

Use WinDbg as default debugger

If this option is selected, WinDbg will be used as the default debugger.

Enable postmortem debugging

This option may be selected to debug failing programs that are already in production.


Xdebug

Download (Configuration - IDE - Debugger - Xdebug)

The Download branch under Configuration - IDE - Debugger - Xdebug includes options for downloading items related to the functionality of the integrated PHP debugger (Xdebug) in UEStudio. It is important to note that, once activated, the debug client works like a server by creating a port to which the debug engine can connect. Therefore, just starting the debugger does not necessarily mean a debug session will begin; the user must next run a script with debugging enabled.

Both WampServer (which includes Apache, PHP, and MySQL) and Xdebug are necessary to this process and should be downloaded and installed in the order referenced below:

Download WampServer for Windows

Currently this dropdown only offers "WampServer 2.0 for Windows". Pressing the Download button will begin the download of the associated files to your system. This is necessary as this includes the Apache web server, PHP scripting engine and MySql which allow you to run PHP scripts on your local system for testing. For more information please see: http://www.wampserver.com/en/.

If desired, other packages such as XAMPP (http://www.apachefriends.org/en/xampp.html) may be used instead of WampServer for Windows, or users may simply install the Apache web server separately, but we have found WampServer to be exceptionally easy to install and maintain on Windows OS's and will describe configuration of Xdebug for browser-based debugging based on the assumption that WampServer is installed.

Installing WampServer

WampServer is installed by invoking the downloaded EXE. The only information that must be provided during installation is the email address you would like to be used by the PHP mail commands. The server name would normally be left as "localhost".

When the installation completes, launch WampServer and select Start All Services from the control menu:

This will start Apache, PHP and MySQL on your system. To test this, launch a browser and type this URL:

http://localhost/

This should populate the browser with the active server configuration for WampServer and will indicate the versions of Apache, PHP and MySQL that are active and the related extensions.

Download PHP for Windows

This download link should be used by those who only work with command line based PHP scripts. For these users, installing the Apache server and MySQL is not strictly necessary and this link will download the PHP scripting engine only.

Installing PHP

To install PHP on your system, please do the following:

1. Unzip the downloaded files to C:\php.

2. Copy php.ini-recommended php.ini

3. Open C:\php\php.ini

4. Modify the following items as shown:

upload_tmp_dir="C:\php\upload"

session.save_path="C:\php\session"

cgi.force_redirect=0

extension_dir ="C:\php\ext"

display_errors = Off

log_errors = On

error_log = "C:\php\error_log"

5. Enable the extensions you need by deleting the semicolon at the beginning of the line. These will depend on your application.

Example:

extension=php_bz2.dll

extension=php_curl.dll

6. Right-Click on Start > Computer.

a. Choose “Properties”, then “Advanced”.

b. Click on “Environment Variables”.

c. Click on PATH, then Edit… and add “;C:\php;c:\php\ext” (without quotes) to the end of the variable.

Download Xdebug for Windows

There are several build options for Xdebug offered in the associated dropdown. It is important to note which version of PHP is supported by the version of Xdebug you are downloading. You MUST select the version of Xdebug that supports the currently installed version of PHP or they will not work together. Pressing the Download button will begin the download of the associated files to your system.

Installing Xdebug

Once the dll for Xdebug is downloaded, it should be copied to the appropriate PHP extension directory on your system. If WampServer was installed to the default path, this would be:

C:\wamp\bin\php\php5.2.6\ext

Once the dll has been copied to the appropriate location, the php.ini file must be edited to configure support for Xdebug. The easiest way to do this is to access the php.ini file through the WampServer menu:

There are several php.ini files in the WampServer directories and this is the easiest way to be sure you are editing the correct one. Once you have opened this php.ini file, add the following lines at the end of the file:

;Xdebug location

zend_extension_ts="C:/wamp/bin/php/php5.2.6/ext/php_xdebug-2.0.3-5.2.5.dll"

If using PHP 5.3, instead of using "zend_extension_ts" to define the threadsafe library location, "zend_extension" should be used.

Please note: The path to the dll must be modified as appropriate for your system. The following settings for the debugger also need to be included at the end of the php.ini file:

;Xdebug settings

xdebug.remote_autostart = 0

xdebug.remote_enable = 1

Please note: If the remote_autostart option is set to "1", debugging would start automatically every time a PHP script is detected as running after Build -> Start Debugger is selected.

Once you've made these changes, save the file and close it. Select the option to Restart All Services in the WampServer menu to activate the changes made to the php.ini file. After restarting the services, if you open a browser and navigate to http://localhost/ you should see Xdebug listed as one of the loaded extensions.

For more on using Xdebug see: http://devzone.zend.com/article/2803-Introducing-xdebug.


Miscellaneous

Miscellaneous (Configuration - IDE - Debugger - Xdebug)

The Miscellaneous branch under Configuration - IDE - Debugger - Xdebug includes the following options related to the functionality of the integrated PHP debugger (Xdebug) in UEStudio:

Startup

Start Xdebug using the active document

If this option is selected, Xdebug will automatically begin debugging the PHP document active in UEStudio when Debug (start) is selected from the Build tab. This setting will cause UEStudio to automatically check to see if the active script exists on or below the Root web directory defined below. If it does, then the default browser for the OS will be launched with the active script being run from http://localhost/ and ?XDEBUG_SESSION_NAME=phpTest will automatically be appended to the script URL to enable detection by Xdebug for debugging.

PLEASE NOTE: The Apache server must already be running when debugging begins for the script to be launched automatically in the browser. If the server isn't running, the URL provided to the browser won't be recognized as a valid URL.

If the active script does NOT exist on or below the Root web directory, it will automatically be launched and debugged as a console (command line) application using the environment variable defined during download and installation.

If this option is NOT selected, the script to be debugged would need to be launched in a browser after selecting Debug (start) from the Build tab, with the ?XDEBUG_SESSION_NAME=phpTest flag appended or from a command prompt (which would automatically force the use of the environment variable defined for Xdebug interaction) so that UEStudio can detect the running process on the specified port. Alternatively, the Xdebug settings in the php.ini file could be configured so that the remote_autostart option:

xdebug.remote_autostart = 1

is set to "1". If the remote_autostart option is set to "1", debugging would start automatically every time a PHP script is detected as running after Build -> Debug (start) is selected, and the ?XDEBUG_SESSION_NAME=phpTest flag would not have to be appended to the script URL to enable debugging.

Root web directory

This field is subdued unless the option above is selected. In order for the active script to be recognized as a browser-based script (and to be launched automatically on the localhost) the root web directory for the localhost must be defined here. With the default WampServer installation this would be at C:\wamp\www but users should browse to the appropriate directory on their system if unsure of the exact location.

Port

By default, the port the Xdebug listens on is set to 9000. This port is configured in UEStudio by default, and if there is no compelling reason to do otherwise, you should keep the default port. If you want to change the port, keep in mind that you have to configure the same port number in UEStudio and the related php.ini.


Parser File Extensions

Parser (Configuration - IDE)

The Parser branch under Configuration - IDE presents a table for defining the extensions associated with recognized parsers.

Find (Parser/Ext)

The Find (Parser/Ext) textbox may be used to search for matches among the recognized Parsers or Handled Extensions. If searching for a parser, this should be typed as expected, i.e. "Fortran". If searching for a supported extension, this should be preceded by ".", i.e. ".jav". The text field is interactive in that as soon as a matching item is found, the appropriate line in the Parser table will be highlighted. Users may double-click on a parser line to modify the extensions associated with that parser.

If desired, the Default button may be pressed to restore default extensions for all parsers.

Please note: It is not possible to add parsers not currently recognized by the IDE. This interface only supports defining the extensions associated with recognized parsers.


XML Manager

XML Manager (Configuration)

The XML Manager branch under Configuration has the following options:

Show text content of elements in XML Manager

If this option is selected, it may slow down the parser and there may be a noticeable increase in the amount of memory used when large files are parsed.

Auto parse XML documents less than (value specified) MB

If this option is selected, all XML documents smaller than the specified value will be parsed automatically when loaded. Otherwise the user may click in the XML Manager to manually trigger parsing of any document. Users may also right-click in the XML Manager and select the Parse Document option from the context menu. Any extensions defined in wordfiles that include the XML_LANG or XSL_LANG language markers will be recognized for parsing by the XML Manager.

Auto parse XML documents modified by XML Manager

If this option is selected, all XML documents will be parsed automatically when modified by the XML Manager. Otherwise the user may click in the XML Manager to manually trigger parsing of any document.

Auto parse XML documents on file save

If this option is selected, all XML documents will be parsed automatically when saved. Otherwise the user may click in the XML Manager to manually trigger parsing of any document.


JSON Manager

JSON manager (Configuration)

The JSON manager branch under Configuration has the following options:

Auto parse JSON documents less than (value specified) MB

If this option is selected, all JSON documents smaller than the specified value will be parsed automatically when loaded. Otherwise the user may click in the JSON manager to manually trigger parsing of any document. Users may also right-click in the JSON manager and select the Parse Document option from the context menu.

Auto parse JSON documents on file save

If this option is selected, all JSON documents will be parsed automatically when saved. Otherwise the user may click in the JSON manager to manually trigger parsing of any document.

Strict parse JSON (stop on error or unexpected data)

If this option is selected, parsing of the active JSON document will stop when a syntactical error is encountered, and an error message will be shown in the JSON manager.


JavaScript Lint

JavaScript Lint (Configuration - Integrated Applications)

The JavaScript Lint branch under Configuration - Integrated Applications includes the following option for JavaScript Lint:

Full path for JavaScript Lint configuration file

By default this field is populated with the path to a configuration file with default settings. If desired, the user may create a custom configuration file in another location and specify the path to that file here. Pressing the Open button will open the specified file for editing.


PHP

PHP (Configuration - Integrated Applications)

The PHP branch under Configuration - Integrated Applications includes the following option:

Full path to the PHP executable

By default this field is populated with the path to the PHP.exe. Pressing the Browse button will open a dialog that may be used to browse to the location of the PHP.exe.


Ruby

Ruby (Configuration - Integrated Applications)

The Ruby branch under Configuration - Integrated Applications includes the following option:

Full path to the RUBY executable

By default this field is populated with the path to the ruby.exe. Pressing the Browse button will open a dialog that may be used to browse to the location of the ruby.exe.


CVS

CVS (Configuration - Integrated Applications - Version Control Systems)

The CVS branch under Configuration - Integrated Applications - Version Control Systems includes the following option for CVS:

Full path to the CVS binary

By default this field is populated with the path to the CVS binary if UEStudio detects this when started. If this is not automatically detected, the user may type the full path to the binary or use the browse button to navigate to the appropriate folder. If the CVS binary does not exist on the system, the necessary files may be downloaded from the Internet.


Subversion

Subversion (Configuration - Integrated Applications - Version Control Systems)

The Subversion branch under Configuration - Integrated Applications - Version Control Systems includes the following option for Subversion:

Full path to the Subversion binary

By default this field is populated with the path to the Subversion binary if UEStudio detects this when started. If this is not automatically detected, the may type the full path to the binary or use the browse button to navigate to the appropriate folder. If the Subversion binary does not exist on the system, the necessary files may be downloaded from http://subversion.apache.org/packages.html#windows


Git

Git (Configuration - Integrated Applications - Version Control Systems)

The Git branch under Configuration - Integrated Applications - Version Control Systems includes the following options for Git:

Enable Git integration

This option is checked by default, whether Git is installed on the local system or not. If unchecked, this will remove all Git commands from the context menu and disable the Git Branch Manager and Git Shell items in the Git dropdown under the Project tab. Unchecking this will also disable the other Git configuration items.

Full path to the Git binary

By default this field is populated with the path to the Git binary if UEStudio detects this when started. If this is not automatically detected, the user may type the full path to the binary or use the browse button to navigate to the appropriate folder. If the Git binary does not exist on the system, the necessary files may be downloaded from http://msysgit.github.io/ . The Git application itself must be downloaded and installed on the local machine in order for Git functionality to be supported.

Set UEStudio as default editor for all repositories

If this option is selected, UEStudio will be specified as the default editor for all repositories in the Git configuration file.

Set UltraCompare as diff/merge tool for all repositories

If this option is selected, UltraCompare will be specified as the default diff/merge tool for all repositories in the Git configuration file.

Prompt for new login/password if authentication fails

If this option is selected, the user will automatically be prompted for a new login/password if authentication for a Git repository fails.

Reset stored passwords

If this button is pressed, the user will be prompted to enter a new user name and password to be used for accessing Git repositories.


Check for Updates command

Check for Updates command (Advanced tab)

This option launches your browser upon selection and searches our site for respective update availability. The check for updates process passes obfuscated registration details from your computer to the IDM website such as product name, version, and so on, which enables our site to direct you to the proper update information. Note: No information is collected by IDM Computer Solutions, Inc.

To check for updates, UltraEdit needs unrestricted Internet access to https://downloads.ultraedit.com on port 443.


Debug Tab

Please note: This tab and the options described below are only available in UEStudio and the following information doesn't apply to UltraEdit.

The Debug tab includes the following commands:

Start |
Go | automatically starts the debugger and runs the application
Stop debugging | ends a debugging session
Restart | ends a debugging session and then restarts
Step |
Step into | executes code one statement at a time, following execution into function calls
Step out | executes remaining lines of a function in which the current execution point lies
Step over | executes the next line of code but does not follow execution through any function calls
Run to caret | resumes execution of code from the current statement to the selected statement
Breakpoints |
Toggle breakpoint | adds/removes breakpoint at current cursor location
Breakpoints | presents Breakpoints dialog
Debug Windows |
Watch | shows or hides the Watch window
Call stack | shows or hides the Call stack window
Memory | shows or hides the Memory window
Disassembly | shows or hides the Disassembly window
Registers | shows or hides the Registers window
Variables | shows or hides the Variables window


Select Compiler dialog

Please note: The items and options described below are only available in UEStudio and the following information doesn't apply to UltraEdit.

This dialog may be used to select the compiler to be used for the active project. The Select Compiler dialog may be invoked from the Set Compiler Options dropdown under the Build tab. Please note: This feature is only supported in UEStudio.

To configure the options to be used with this compiler, press the Edit Configuration button. This will expand the active dialog to display the Compiler Configuration Editor.

In the editor comments begin with a "#", sections are enclosed in "[" and "]" and MUST be placed at the beginning of the line. To save the modified file, press the Save Configuration button. If you have opened a project, the Make Configuration Local button will be enabled and is used to store the configuration with the project.

When the tool is executed, UEStudio first searches in the project directory for a local configuration and if one is not found, UEStudio will search in the \configs directory. If you need to use a modified configuration file, but only for some projects, the Make Configuration Local button may be used to save the modified configuration to disk. If you no longer need the local configuration, deselect this button and the file with configuration information will automatically be removed from disk.

In the configuration files there are BASE SECTIONS that MUST be there because without them the Build functions will not work. These are: Settings, General, Build and MakeCommands. As sub-settings of the Settings section there can be SettingsInfo and SettingsReps. Probably the Variables, Environment and FileGroups sections will be used as well as some sections for tools attached to source files. When you write a configuration file, you will use some of the PROJECT VARIABLES. Project variables begin with "$" or with another char that is set in the General section.

Project variables are: $P, $Pp, $Pn.

$P - is a full path to project (e.g. C:\Projects\Application\Application.prj), $Pp - is path without name and $Pn is the name of project without its extension. $Pe is not used, because extension of a project is always ".prj". These are GLOBAL variables and can be used in any build/compile command.

Following are the variables that can be used in the BUILD section. These are: $T, $Tp, $Tn,

$T - is a full path to target file (e.g. C:\Prjs\App\Out\App.exe), $Tp is a path and $Tn is a name as in previous case.

$O, $Op, $On, $Oe

$O is the full path to an output file. In the BUILD section it maybe equal with target. It's the value of the "Out" key in a Build section. $Op is a path, $On is a filename without extension, $Oe is an extension. The last variable that can be used is $R. It's the value of the key DebugFlag or ReleaseFlag, depending on the MODE you use to build the project.

Following are the variables that can be used in the COMPILE sections or the sections for tools that work with single files.
These are: $I, $Ip, $In, $Ie,

$I is a full path to input file. $Ip is a path, $In is a filename without extension, $Ie is an extension.

$O, $Op, $On, $Oe

$O is a full path to output file. It's a value of a key "Out" in a section. $Op is a path, $On is a filename without extension, $Oe is an extension. The last variable that can be used is $R. It's the value of the key DebugFlag or ReleaseFlag, depends on MODE you use to build project.

There are 12 different sections in the configuration files:

Section | Description
[Settings] | where all the keys that you can see when you open Project Settings dialog are stored
[SettingsInfo] | contains short information about Project keys
[SettingsReps] | SettingsReps means "settings replacements". SettingsReps may be used to simplify configuration creation
[Variables] | may be used to simplify the content of configuration files
[Environment] | variables declared in this section are also accessible from other sections as $(name), but will be stored in the environment
[General] | MAIN compiler's section. It includes BASE keys that MUST be set and OPTIONAL keys that may or may not be set.
[MakeCommands] | where keys for tools such as PACKER, PROFILER or PETOOLS that you want to use to work with target files are specified (Most compilers include two keys in this section: RUN and DEBUG)
[InsertFiles] | files and groups of files specified here will be added to the BUILD process
[FileGroups] | groups of files used for the same intent are specified here. Most compilers have groups of OBJECTS generated with compilers specified here and these objects are used in linker commands.
[GroupFormats] | where the FORMAT for objects in a generated group is set
[Build] | where commands that are executed when you click the Build button are specified
[.EXT] | where commands are specified that are executed if a source file is open and the Compile button is clicked


[Settings] Compiler Section

All the keys that you can see when you open Project Settings dialog are stored in this section. The format of the keys entry is: Key=value or Key=value1|value2|value3.

If you follow the first example you see in the "Project settings" dialog that there will only be one value attached to the key. If you follow the second example, values will be added to the list for the key, the first value will be set as value of the key, and when you click on the little button with the down pointing arrow, you will be able to select one of the other values from the list:

Values that MUST be in this section are:

Target | this key MUST be empty if you don't want to create projects with the same default name
Working Directory | default is "." as in current directory. This directory will be set when the target is run.
Command Line Arguments | default is empty and it is recommended to leave this key empty if you don't want to use the same arguments for all projects

All these variables may be used in other sections by typing $(KeyName). When the compiler or linker is executed $(KeyName) will be replaced with its value. This section is linked to the two next sections, SettingsInfo and SettingsReps .


[SettingsInfo] Compiler Section

This section contains short information about the keys for the active Project. If you select a key in the Project Settings window this short help will be displayed at the bottom of the window. For key names use the same name as in Settings , e.g. key = if you set "value1" short memory model will be used... then this text will be displayed in the Project Settings window below the list of keys.


[SettingsReps] Compiler Section

SettingsReps (Settings Replacements) may be used to make creating configurations easier. For example, with Turbo C compiler if you want to set the memory model, you must use the options -mt, -ms, etc. You can create a key in Settings like this: MemoryModel=-mt|-ms|-mm, but it is much more understandable to create a key in Settings like this: MemoryModel=Small|Tiny|Medium and in SettingsReps create a key like this: MemoryModel=Tiny=-mt|Small=-ms|Medium=-mm. Then if you select "Tiny" in "Project Settings" $(MemoryModel) will be replaced with "-mt" in the compiler command.

If a value starting with '@' is used here the value from the [Settings] section is output like in printf where "%s" is replaced with the value.

If the value doesn't start with '@' then the resultant value is a string substitution based on the input value (like "ini" format, i.e.: *val1=replacer1|val2=replacer2*) The key is passed in as the input value.


[Variables] Compiler Section

Variables may be used to simplify the content of configuration files. All keys set here are of the format: key=value. You can use them in other sections as $(key). It is possible to get values from registry keys here. The format is: $(HKEY_???\ PathToKey\KeyName). You may use LOCAL_MACHINE, CURRENT_USER and other hives of the registry to replace "???".


[Environment] Compiler Section

Variables declared in this section are accessible from other sections as $(name), but all of these variables will be stored in the environment. Most compilers use environment variables to store paths such as INCLUDE, LIB, etc. If you need to use the value of other environment variables in this section, use %NAME% e.g.: PATH=C:\COMPILER\BIN;%PATH%. Use of the format %VARIABLE% is valid only for this section. In other sections you must access environment variables as from the Variables section.


[General] Compiler Section

The [General] section is the MAIN compiler section. It includes BASE keys that MUST be set and OPTIONAL keys that may or may not be set.

BASE keys are:

Key | Usage
TargetExt = .EXT | used when "Project Settings" is run the first time. UEStudio uses this key to generate the target name
ReleaseOut = Release | sets the name of the directory that will be used to store all object and target files if you set build mode to RELEASE
DebugOut = Debug | sets the name of the directory that will be used to store all object and target files if you set build mode to DEBUG.
Excludes = $(Excluded Files) | sets the name of a project group. All files stored in this group will be excluded from build.

OPTIONAL keys are:

Key | Usage
UseFullPaths = 0/1 | if set to "1" UEStudio will use full paths for all source files
UseDosNames = 0/1 | should be set to "1" if your compiler works in DOS mode and doesn't recognize Long File Names
RemoveDot = 0/1 | if set to "1" paths that begin with ".\" will have the ".\" removed
ConvertBS = 0/1 | should be set to "1" to enable use of "/" instead of "\" in file paths. May be used for GCC compilers if you will be using GCC's MAKE utility.
MakeTool = \Compiler\Bin\make.exe | UEStudio uses its own make utility to build projects but if you want to use another make utility you can. If the full path to the desired make tool is set here it will be used. UEStudio generates makefiles that are compatible with most make tools, so the makefile should work.
GrabOut = 0/1 | if set, UEStudio uses it instead of option (a.) from "GLOBAL SETTINGS"
GrabErr = 0/1 | if set, UEStudio uses it instead of option (b.) from "GLOBAL SETTINGS"
HideTools = 0/1 | if set, UEStudio uses it instead of option (c.) from "GLOBAL SETTINGS"
EasyCapture = 0/1 | if set, UEStudio uses it instead of option (d.) from "GLOBAL SETTINGS"
UseStatusBarFont = 0/1 | if set, UEStudio uses it instead of option (e.) from "GLOBAL SETTINGS"
ShowCmdLine = 0/1 | if set, UEStudio uses it instead of option (f.) from "GLOBAL SETTINGS"
SetCurSel = 0/1 | if set, UEStudio uses it instead of option (g.) from "GLOBAL SETTINGS"

The remaining optional keys are for example .CPP=.C. and are explained in the [.EXT] section .


[MakeCommands] Compiler Section

Most compilers include in this section two keys: RUN and DEBUG. Keys for tools such as PACKER, PROFILER or PETOOLS that are to be used with target files should be specified here.

The format of this section is: Key = NameOfSection. If a key is set, a section with the name NameOfSection MUST be added to the configuration file.

[NameOfSection]

The following keys may be set in the new [NameOfSection] section:

Keys | Usage
Title = TitleDisplayedInMenu | Text that is here will be used instead of "NameOfSection" text in MENU COMMANDS. Global variables such as $T. E.g. Title = Execute $T may also be used here.
Depends = $T | Filename(s) or global variables representing filenames that must be created if this command is executed should be set here.
CmdX = tool [options] [files] | Commands that should be executed should be defined here. Many tools may be executed. The first must be Cmd0 and if more tools are desired, they should be added as Cmd1, Cmd2, etc.
ShowWindow = 0/1 | if set to "0", tools will be executed in HIDE mode.
DisplayConsole = 0/1 | should be set to "1" if a DOS/CONSOLE to work in is desired.


[InsertFiles] Compiler Section

All files and groups of files specified here will be added to the BUILD process. You can use TWO types of keys here: One to add a single file to the BUILD fileX= and one to add a group of files to the BUILD groupX= where in both cases X = 0~n.

The content of groupX can include files separated with "\n" (new line), "\t" (tab) or with " " (white space). If the key "Files" is used in the Settings section and the content of this key is "file1.lib file2.lib file3.lib" (separated with whitespace) and the key incFiles = $(Files) is also set in the InsertFiles section then files "file1.lib", "file2.lib" and "file3.lib" will be added as single files to the BUILD process (as source files from projects). Together these files "appear" as project files that are in the project group with name groupX. This feature may be used in the FileGroups section .


[FileGroups] Compiler Section

Groups of files used for the same intent may be specified here. Most compilers have groups of OBJECTS generated with compilers specified here and these objects are used in linker commands. The format of keys specified here is: FGNAME= .EXT1;.EXT2;Group;groupX;group-r;group-o;.

The name of a group can be anything, e.g. FGOBJ, FGRES, FGASM, etc. The contents of the key are separated by a semicolon ";" and are:

Keys | Usage
.EXT1, .EXT2 | all files with the extensions .EXT1 and .EXT2 will be added in the group specified with the name of the key.
Group | a project group, e.g. "Resource Files". All files independent of their extensions will be added to this group.
groupX | e.g. group0, group1, etc. Groups as specified in the InsertFiles section . All files from this group will be added to the group specified here (FGXX).
group-r | if this key is added to FG group, all files from the root (i.e. that are not in groups) will be added to the group defined in this section
group-o | all generated files (files that are created during BUILD process) will be added to this group if this is added to FG group content.

The content of all groups specified here may be used by typing $FGNAME in one of the Cmd commands in the build or compiler sections. For example, if the group FGOBJ=.obj; is added here and $FGOBJ is written in the linker command, then a group of objects will be created named FG??? in the makefile and this group will be used in the linker command as $(FG???) where ??? is a number generated automatically by UEStudio when the makefile is generated.


[GroupFormats] Compiler Section

This section is used to set the FORMAT for a generated group. Some compilers will not allow the specification of files separated with spaces and a prefix must be used. For Borland's compilers if you want to create a library you must add the objects to the library with the prefix "+" as in: TLIB LIBRARY.LIB +FILE1.OBJ +FILE2.OBJ +FILE3.OBJ.

EXAMPLE: If you create group FGO=.obj in section "FileGroups" and here you set key FGO=+%s, a group will be generated with the content FGO=+file1.obj +file2.obj, etc.

In special cases you may need to set one format for the first file and another format for the next file(s).

EXAMPLE: Your linker expects object files separated with "," but "," must only be between object files as in: "LINK OBJ1.A,OBJ2.A,OBJ3.A EXE". If you need to do this add to FileGroups a section FGA = .A; and to the GroupFormats section add these two keys: FGA0=%s FGA=,%s where %s represents a filename.

These settings ensure that if you have only one file in the project first the FGA0 format will be used (format without ",") and if you have other files, FGA will be used. You can use it also for cases where a prefix must be set before the first file, as in: "LINK /objs:ob1,obj2,obj3". In this case you would set FGA0=/obj:%s and FGA=,%s. If some group has no format set here the default (%s) is used.


[Build] Compiler Section

The Build section is an EXECUTIVE section - a section that does something and works with groups of files. Commands typed here are executed when you click BUILD.

The format of this section is the same as the format of the MakeCommands section . In the BUILD sub-sections you must set five BASE keys Out, Depends, ReleaseFlag, DebugFlag and Cmd0. You may also set some optional keys (Cmd1 ~ CmdN) and keys that tell UEStudio to create "response" files:

Key | Usage
Out = $T | the "output filename" is generated from this value. UEStudio expects that this file will be generated after execution of the commands defined here.
Depends = $FGO | the name of a group with the files that will be used to make the target MUST be set here. For most compilers I set here $FGO, where $FGO is a group of files generated by compiler (.OBJ)
CmdX = LINK $O $FGO | Cmd0 ~ CmdN - are commands that generate the target of the project. You can use the GLOBAL VARIABLES described for use in the Build section under the Select Compiler dialog topic
file@0=[respname.ext] Options1|Options2|Options3|Options4 etc. | some compilers use RESPONSE files. These are files in which are typed all the compiler options. The name of this file is passed as a parameter to the compiler like LINK @RESP, where RESP is the text file that includes parameters to the linker. UEStudio can make these response files for you, if you set this section key as shown here. If you create a key like this UEStudio will create a response file with the name "respname.ext" and this text file will include lines with options, where Options1 will be on first line, Options2 will be on second line and so on. As options you can use all the options that you can use in classic CmdX commands.


[.EXT] Compiler Section

The .EXT section is an EXECUTIVE section - a section that does something and works with single files. Commands typed here are executed if you have a source file open and you click the COMPILE button.

This is not a section with the name .EXT but rather a section with the extension of your source file(s), e.g. ".C". In one config file there can be none, one or multiple sections like this. It depends on the number of types of source files that your compiler can use.

Format of the keys used here is the same as in the Build section with a few additions and one difference. The difference is that in the Out key you may not set $T, but for example $In.obj, where $In represents the name of a source file. In Cmd0~CmdN you can then use $O, where $O will be "somefile.obj".

Some of compilers like C & Asm use INCLUDE files to store declarations of functions and variables. If this include file is modified the source file must be recompiled so you must tell UEStudio how to search for include files in sources. There are some keys that can help you to set this:

Keys

Usage

IncFiles = 0/1

if set to "1", UEStudio will search for included files in your source file

CaseSensitive = 0/1

indicates if keywords in your source file are case sensitive (1) or not

IncDirs = .;$(INCLUDE);

Most compilers store system include files in special directories like INCLUDE, or INC so you must tell UEStudio where it must search for these files. I recommended you to set as the first path "." as this provides that the directory where your source file is will be searched first

IncKeyWords=#include;

one or more keywords that are used by the preprocessor of your compiler to include files may be listed here

Comments = /*.*/.//.eol.

multi-line comment brackets and single line comment brackets are set here

Most compilers support comments. The part of your source code that is enclosed by comments is not compiled so it must not be searched for include files.

Comment brackets MUST be in pairs. Single line comments must appear as: ";.eol." or "//.eol." where ".eol." stands for "to the end-of-line". Comment brackets are delimited with points ".". Do NOT put spaces between comment brackets and "." !

If your compiler can work with more than one type of file with the same options, do not create a section for all these extensions. Instead create only one section, e.g. [.C] and in the [General] section add keys like this: .CPP=.C or .ASM=.C and so on.


Adding A New Compiler

There are more than 50 compilers and assemblers supported for use with UEStudio by default. It may be necessary, however, to add a compiler that is not currently supported for use with UEStudio.

Adding a New Compiler

Compiler configuration files are like classic INI files, consisting of sections, keys and their values. Each configuration can be used to create only one "target" (application, library, dynamic-library), so in most cases compilers need multiple configurations and that's why every compiler has its own directory with configuration files inside.

The first step to adding a new compiler is to create a new directory under UES_PATH\Configs\. The best name for that directory is the name of the compiler to be added. For the purpose of illustration only we will create a configuration for Alpha Compiler.

To start creating a new configuration, open a new file in UEStudio. For the purpose of illustration we will use Win32 Application. Note that when the configuration file is completed, the added directory and file names will be used to populate the compiler list in UEStudio:

Some sections are required and some sections are optional and expand the functionality of the build system as a whole. The content of the configuration file will be used to populate the compiler configuration displayed in UEStudio when the Edit Configuration button is pressed in the Select Compiler dialog . The first and most important section is General, so we need to create a new section - [General].

[General] Configuration Options

As previously mentioned, these are "target" configurations, so the first key that needs to be created is key TargetExt. For Windows/DOS applications the value for that key would be ".exe". For static libraries the value would be ".lib", for GCC compilers ".a", and for dynamic libraries ".dll". ANY extension may be set here and the compiler will build an application with that extension.

All "generated" files (object files, etc.) are stored in standalone directories to make the project environment clean. Every configuration supports two modes: release and debug. Two keys may be set here: ReleaseOut and DebugOut, but as a minimum ReleaseOut should be set. If DebugOut isn't set, it will use the same value as in ReleaseOut. The default values are Release and Debug but may be set as desired.

If the compiler/linker can only work with "full paths" (doesn't accept relative paths to the files), a new key UseFullPaths should be created and set the value to "1". If settings are being created for a DOS compiler that doesn't accept long file names, the key UseDosNames would also need to be created and the value should be set to "1".

Sometimes a project can contain files that are compilable but users may not want to compile them. (For example if they aren't finished, or there are errors that can't be fixed prior to a build.) These files can be moved to the special folder and UEStudio's build system will not pass them to the compiler/linker. The folder can have any name except "External Dependencies". This name is reserved for the UEStudio Build system and is created/deleted automatically during the build, so it is most recommended NOT to use that project folder to store any user file(s). To specify the name of this special folder, create a new key Excludes and set the name of that special project folder, for example "Excluded Files".

Some compilers do need to have object files in the same directory as the source files, because they only accept a filename (name of source file) without the path as a parameter. When the build system generates relative paths of files that are passed to the compiler(s), these paths always start with directory names and when the output directory is the same as the source directory, these paths begins with ".\". But in the case where compilers accept only filenames, UEStudio can't pass the paths, so a new key RemoveDot needs to be created with a value of "1".

If a compiler is being used that accepts only Unix-like paths (with forward slashes "/") instead of classic DOS/WIN (with backslashes) "\", the key ConvertBS should be created with a value of "1". This will ensure that "/" will be used instead of "\" in paths. The example General section now looks like this:

[General]

TargetExt = .EXE

DebugOut = Debug

ReleaseOut = Release

Excludes = Excluded Files

Command Configuration Options

Command sections tell UEStudio how to build an application or compile a file. There are also other command sections that are not important, but they may be set to configure other tools to work with the project/source/target files. Most important of these sections is the [Build] section. This section must be a part of every configuration.

The base key for this section is Out. This tells UEStudio what has to be created using the defined commands. In ALL configurations the value for the key Out should be set to "$T". All command sections support special values starting with $. These values are described in the commented section at the beginning of every configuration file, but the most important ones are $T as a target file, $P as a project file, and $O as an output file. Each command section may reference one of these files. In the [Build] section this is the value set for the Out key and in the [Compile] section it is the value for the input file - $I.

The creation of the output file (in the [Build] section's target file) depends on other files, so the key Depends needs to be created with the appropriate value. For the [Build] section this can be a list of object files – for example $FGO. As previously mentioned every configuration can "handle" two build modes - release and debug. If use of this feature is desired two special keys: ReleaseFlag and DebugFlag must be created. These keys may be set for the [Build] section and all compiler sections. Most of the compilers support these two modes. In debug mode they will add all important information to the objects/executables for debugging code. In release mode (production use) this information is not included. The values of these keys are "expanded" in the compiler commands where the $R special value (the release/debug setting for the linker) is used.

Now command keys should be created. Every command section must contain at least one command. They are set as keys Cmd0, Cmd1, Cmd2, etc. In most cases only one command needs to be set but more may be used if desired. The example [Build] section now looks like this:

[Build]

Out = $T

Depends = $FGO

DebugFlag = /debug

Cmd0 = linker $R -out $O -input $FGO

Example: Given that the target file will be "Application.EXE", the DebugFlag is "/debug", the ReleaseFlag is not set, and the project contains only one source file "example.cpp", the Cmd0 command will look like this during the build:

"compiler /debug -out Application.EXE -input example.obj"

in debug mode and the same without "/debug" when release mode is set.

If the compiler being used doesn't support long command lines, but supports "response files" (files that contain command line options), UEStudio can generate these response files for you. More response files may be created just by changing the index after file@, so the keys that contain information regarding how to create response files will have names like "file@0", "file@1", etc. The value of these keys consist of information about the response filename to be created and parameters (compiler/linker options), so the value could be "[filename.ext] option1 option2". File groups and other variables may be specified here as well. If options need to be included in the response file on multiple lines, "|" should be used between options. If response files and objects need to be on separate lines (not with other compiler options), the example [Build] section could be expanded with the following keys:

file@0 = [myresp.file] -out $O | -input $FGO

Cmd0 = linker $R @myresp.file

With the [General] and [Build] sections defined, other compiler sections may be defined. These sections are not required, but in most cases these sections are a part of compiler configuration, and are therefore described. For example when creating a configuration for a C compiler, at least one compiler's section named [.C] needs to be created. Multiple configurations may be defined as needed to describe how to deal with source files. If the compiler being used handles multiple source files the same way (i.e.: .C, .Cpp, .Cxx) a new section is not required for all these extensions ([.C], [.Cpp], [.Cxx]); instead keys may be set in the [General] section that will tell UEStudio which compiler section to use. For example, the line

.CPP = .C

may be added to the [General] section and UEStudio will use the [.C] section for all ".C" and ".CPP" files. The compiler section (in our example [.C]) will consist of all the keys described in the [Build] section, and only the values will be different. In these sections the special key $I may be used, which is the full path to the source file (for example "application.cpp"). All the special keys that contain paths may also be used to get only names, paths, or extensions. For example, $Ip contains only the path, $In the name, and $Ie the extension of the source file. (The same methodology may be applied to $P, $T and $O.) So the example compiler section can consist of the following keys and values:

[.C]

Out = $In.obj

Depends = $I

DebugFlag = /debug

Cmd0 = compiler $R -out $O -input $I

This section may also contain keys related to include files so that UEStudio may use them and related symbols when parsing source files that reference the include files. The first of these keys is IncFiles which tells UEStudio that this file can contain included files. By default, include files are searched only in the current directory. The key IncDirs may be defined next and the value for this would specify a list of directories to be searched. The same format should be used here as is used for the environment variable PATH (directories separated with ';') and the value "$(INCLUDE)" may be set here. Values set as "$(something)" are variables and reference keys set in the [Variables] section (described below). The next keywords to be specified are those used to define include files. In C/C++ languages this would be #include, in NASM this would be %include, and in Microsoft's assembler only include. If these keywords are case sensitive, the key CaseSensitive must be added with the value "1".

Most of the source files also support comments – line and/or block. Comments aren't compiled, so include files defined in comments are ignored. If comments are supported by the compiler, the key Comments should be added here. The format used should be:

StartingSymbolOfComment[dot]EndingSymbolOfComment[dot]

End of line (for line comments) must be specified as "eol". As every comment block has a start and end symbol, these must always be defined in pairs. So the example [.C] section may include the following keys:

IncFiles = 1

CaseSensitive = 0

IncDirs = .;$(INCLUDE);

IncKeyWords = include;

Comments = //.eol./*.*/.

[FileGroups] and [GroupFormats] Configuration Options

The value $FGO (a file group list) was used in the [Build] section. Users may define as many file groups as are desired – including all project files and files generated during the build (for example object files). To define file groups, create a new section named [FileGroups] and include the key FGO. File extensions of files to used to create file groups from may be set as a value or project folder names or special groups. In the current example, the value could be ".obj". In most cases object files are passed to the linker just as a list of files. But sometimes a special format may be required to pass object (or source) files to the linker (other tool) and for these cases the section [GroupFormats] may be defined.

If the linker needs object files passed to the command-line as "a + Name1.obj + Name2.obj", etc., key should be added to the [GroupFormats] section that will tell UEStudio what format is required. For example the key FGO will have the value "+ %s". In rare cases a situation may exist where the first file of the list doesn't need a special format, or needs a different format from all other files. In this case a group of object files may be specified that should be passed to the linker's command-line separated by "," between objects and started with "/obj". The new sections looks like this:

[FileGroups]

FGO = .obj;

[GroupFormats]

FGO = , %s

FGO0 = /obj: %s (<= add zero to the FG definition, so this format will be used for first file from that group)

[InsertFiles] Configuration Options

Some compilers need to link special files every time they build an application. One solution is to add these files (for example objects will startup code) every time a new project is created. A simpler solution would be to define these files in configuration files that will always be added to the project "virtually" (only during the build). If this is needed, create a new section [InsertFiles]. Two types of keys may be used to define these files - file0 through fileX and the full/relative path to the standalone file should be set as a value, or "group0" through "groupX" and the value will be a list of files separated with whitespaces, for example "lib1.lib lib2.lib", etc. These "groups" may also be used in the [FileGroups] section as mentioned above. For example, if a list of libraries from "group0" defined in the [InsertFiles] section is needed and should be added to the list of object files, our modified FGO key from the [FileGroups] section will be:

[FileGroups]

FGO = .obj;group0;

[Variable] and [Environment] Configuration Options

Any variable may be defined and used in most keys in most sections – in most any place where it seems reasonable. (An exception is the TargetExt key in the [General] section – that value can't be "variable".) The primary section where you can define variables has the name [Variable]. For example, the key CPATH may be set here and the full path to the compiler may be set as the value. This variable may then be used in other sections as $(CPATH). Most compilers need to also have some environment variables set like INCLUDE, LIB, etc. The [Environment] section is used for this purpose. Keys defined here will be added to the normal environment during the build. It may be desirable to use the original value of the environment variable in some cases, like PATH (to add the path to the compiler) while the "current" path should also be used. The value may then be set as "$(CPATH);%PATH%". Notice the original values (only in this section) may be specified as "%KEY%" as in classic environment variables. In both of these sections it may be desirable to include information from the registry and UEStudio supports this. The variable syntax described above should be used and should start with HKEY as in $(HKEY_CURRENT_USER\MyCompiler\Path). This value will be expanded from the HKEY_CURRENT_USER key, "directory" MyCompiler and key Path. If it is desired to use the "Default key" in the registry path MyCompiler, $(HKEY_CURRENT_USER\MyCompiler\@) should be used.

[Settings], [SettingsInfo], and [SettingsReps] Configuration Options

When changes are made directly to a compiler configuration file, and the Make Configuration Local button is not pressed, these changes will be global (for all projects). There are some special sections that allow modification of options using the GUI - [Settings], [SettingsInfo], and [SettingsReps].

[Settings] is the most important section and all keys defined here are also saved with the project, so these values may be modified in UEStudio without changing the compiler's configuration file. With use of these sections "common" configuration files may be created that will have the same options for all projects (for example all Windows applications) and items that need to be configurable may be specified here. If the key Compiler Options is created in the [Settings] section, and as a value you use empty string, this key will be empty by default, but when some value is set here, this value will be used in any place where you want to specify $(Compiler Options).

If there are some predefined values (for example the key Warning Level is created), they may be set here and the values for those keys may be specified as "w1|w2|w3". As shown, values are delimited with "|". The first value in the list will be used as a default value, in this case "w1". Every change made here from inside UEStudio (not directly modifying the configuration file) will be saved with the project. So now when you click the key Warning Level is clicked on from inside UEStudio, any of these three values may be selected.

It would be easier to choose from "Errors only", "Standard", "Warnings as Errors". For this purpose a [SettingsReps] section is defined. Now in the [Settings] section the key Warning Level may be set to "Errors only|Standard|Warnings as Errors" and in the [SettingsReps] section the key Warning Level may be set as "Errors only=w1|Standard=w2|Warnings as Errors=w3" and UEStudio will replace all these "word based" options with proper command-line options.

Options may also need to be passed to the compiler in a specified form. For example if the linker command-line needs to be added as a parameter resource script, a key ResourceScript may be created in the [Settings] section and in the linker cmdline it could look like "/rscript:$(Resource Script)". No problems would occur if Resource Script always has to be set, but if this is not the case, an error may result when Resource Script is set as an empty string and this would be passed to the linker cmdline as "/rscript:".

Instead of this the key Resource Script may be set in the [SettingsReps] section with the value "@/rscript:%s". Starting with "@" will tell UEStudio that it's a "format", so if this key is not set, nothing will be passed to linker line and if it is set, "/rscript:Script.ext" or the value will be passed to that line.

Rather than the user remembering all possible options, a section may be created where information about the keys may be stored. This information will be displayed in UEStudio in the compiler's options dialog when key is selected. The section [SettingsInfo] may be created and keys should be listed there with the same name as they have in the [Settings] and [SettingsReps] sections and the values for the keys here would be descriptions of the keys. The new [Settings] section now looks like this:

[Settings]

Target =

Working Directory =.

Warning Level = Errors only|Standard|Warnings as Errors

[SettingsReps]

Warning Level = Errors only=w1|Standard=w2|Warnings as Errors=w3

[SettingsInfo]

Target = place for you to specify name of target file

Working Directory = this directory (if set) will be used to run application from

Warning Level = you can set here warning level for your compiler

Two of the keys in the [Settings] section above are part of every [Settings] section in compiler configurations and one of them - Target is required. It is recommended that this be kept empty, and if this is done, the target name will be generated from the project name and TargetExt defined in the [General] section.


CVS in UEStudio

UEStudio includes a CVS (Concurrent Versions System) interface in the Project tab. Please note: This is not supported in UltraEdit.

Please note that UEStudio does not provide a CVS server itself, but only a way to interact with a CVS server that has already been configured.

CVS is an open-source, network-transparent program that allows developers to keep track of different development versions of source code. CVS does not maintain multiple versions of source code files but keeps a single copy and records of all of the changes that are made. When a developer wants a particular development version of a file, CVS will reconstruct that version based on its records.

Accounts for checking out source files through CVS may be created/modified using the CVS Manager dialog . UEStudio includes support for the following CVS related functions:

* Checkout | checks out module from repository
* Commit | commits working copy to repository
* Diff | checks for differences between two versions of the same file
* Update | updates working copy from repository
* Import | imports new module into repository
* Export | checks out module excluding CVS information
* Accounts/Settings | launches CVS Manager dialog


License Agreement

END-USER LICENSE AGREEMENT ("EULA")

IDM Computer Solutions, Inc., ("IDM")

IMPORTANT - READ CAREFULLY: This is a legally binding agreement between You and IDM for the use of IDM SOFTWARE PRODUCTS or SOFTWARE.

BY PAYING THE LICENSE FEE FOR THE SOFTWARE PRODUCT YOU AGREE TO BE BOUND BY THE TERMS AND CONDITIONS OF THIS EULA.

U.S. COPYRIGHT LAWS AND INTERNATIONAL COPYRIGHT TREATIES, AS WELL AS OTHER INTELLECTUAL PROPERTY LAWS AND TREATIES PROTECT THE SOFTWARE PRODUCT. IDM IS AND SHALL REMAIN THE OWNER OF ALL INTELLECTUAL PROPERTY RIGHTS IN THE SOFTWARE. THE SOFTWARE PRODUCT IS LICENSED TO YOU ON A NON-EXCLUSIVE, NON-ASSIGNABLE, NON-TRANSFERABLE, LIMITED, PERSONAL BASIS, NOT SOLD.

TERMS:

I. "You" means the person, company, or organization that has licensed the SOFTWARE PRODUCT(s) or SOFTWARE by means of a paid license fee respective of your order.

II. "SOFTWARE PRODUCT or SOFTWARE" means use of a copy of computer software identified herein and any associated media included in Your order. A copy of the printed materials may include "online" or electronic documentation as well as any applicable licensed third party Content.

III. "Computer" means a virtual or physical computer device that accepts information in digital or similar form and manipulates it for specific result based on a sequence of instructions.

IV. "Internal Network" means a private, proprietary network resource accessible only by employees and individual contractors (i.e., temporary employees) of a specific corporation or similar business entity. Internal Network does not include portions of the Internet or any other network community open to the public, such as membership or subscription driven groups, associations and similar organizations.

V. “Territory” means worldwide, but excludes any U.S. embargoed countries and countries where you are prohibited from using the Software or the Services.

1. LICENSE GRANT AND RESTRICTIONS.

The following section applies to all IDM SOFTWARE PRODUCT(S) and SOFTWARE.

If You obtained the SOFTWARE and any required SOFTWARE key(s) from IDM or one of its authorized distributors and as long as You comply with the terms of this EULA, IDM grants You a non-exclusive, non-transferable, limited personal license to install and use the SOFTWARE PRODUCT or SOFTWARE in a manner consistent with its design, documentation, and Your order. You may only use the SOFTWARE according to the License ordered by You and granted by IDM. IDM offers several license types to meet the needs of its customers. Particular licenses are offered for the SOFTWARE PRODUCT OR SOFTWARE depending on the intended use of the SOFTWARE. Your order shall designate the authorized use of the SOFTWARE which may include but is not limited to; Personal License, Concurrent License, Multi License, Site License, Enterprise License, or Volume Discount License.

1.1 General Use. Except as otherwise provided in this EULA, You may install and use the SOFTWARE on up to the Permitted Number of Your compatible Computer(s) according to your order. For Personal licenses (a single license), as long as you are the Sole User of the software, you may install and use the SOFTWARE on up to three compatible Computer(s)

1.2 Distribution from Server. You may copy an image of the SOFTWARE onto file server(s) within Your Internal Network for the purpose of downloading and installing the SOFTWARE onto Computers within the same Internal Network for use as permitted by Section 1.1.

1.3 Server Use. You may install the SOFTWARE on Computer file server(s) within Your Internal Network only for use of the SOFTWARE initiated by an individual from a Computer within the same Internal Network as permitted by Section 1.1. The total number of users (not the concurrent number of users) able to use the SOFTWARE on such Computer file servers(s) may not exceed the Permitted Number of users as specified by the license purchased.

1.3.1 The foregoing does not permit You to install or access (either directly or through commands, data or instructions) the SOFTWARE: (i) from or to a Computer not part of Your Internal Network (with the exception of a world-wide enterprise license), (ii) for enabling web hosted work groups or services available to the public, (iii) by an individual or entity to use, download, copy or otherwise benefit from the functionality of the SOFTWARE unless licensed to do so by IDM, (iv) as a component of a system, work flow or service accessible by more than the Permitted Number of users.

1.4 Backup Copy. You may make a reasonable number of backup copies of the SOFTWARE, provided Your backup copies are not installed or used for other than archival purposes.

2. Subscription-Based Software License (if applicable). If we provide the Software to you as part of your subscription to use the Services, then subject to your compliance with these terms, we grant you a non-exclusive license to install and use the Software: (a) in the Territory, (b) so long as your subscription is valid, and (c) consistent with applicable terms and related documentation of this agreement. For personal subscriptions, you may activate the Software on up to 5 computers (or virtual machines) at a time. If your activations are associated with a License ID for a business, corporation or academic institution, then your activations are limited to the quantity purchased. Personal activations may not be used by anyone other than the individual licensee.

2.1 Activation. The Software may require you to take certain steps to activate your Software or validate your subscription. Failure to activate or register the Software, validate the subscription, or a determination by us of fraudulent or unauthorized use of the Software may result in reduced functionality, inoperability of the Software, or a termination or suspension of the subscription.

2.2 All our subscription plans are Pre-paid

a. Payment. You will be charged the fees stated at the time of purchase. As soon as we have received full payment, your paid subscription will begin.

b. Renewal. The prepaid price is valid for a full 12 months. After that, we'll renew your contract automatically unless you cancel. The price is subject to change, but we will always notify you beforehand.

c. Refund. Because all IDM products are available on a 30-Day Free Trial basis, paid subscription or license fees are not subject to refund.

d. Annual Commitment with Annual Payment. Your credit card will be charged the fees stated at the time of purchase. Your subscription will start as soon as your credit card is successfully charged and will renew automatically until you cancel your subscription. Price may change at the end of your subscription period.

e. Cancellation. The IDM All Access license is offered on an annual pre-paid subscription basis only. We will always send you a renewal notice (even if you have authorized automatic renewals). Once you receive the renewal notice, you may cancel your subscription by clicking through the “MyAccount” link. You may also cancel your subscription by emailing us or by phone.

2.3 Online Purchases. To ensure a safe and secure online shopping experience, IDM uses Avangate as its online checkout merchant service provider. All online transactions are subject to common card industry terms and conditions. These may be found here: http://www.avangate.com/terms.php

3. OTHER RIGHTS AND LIMITATIONS.

3.1 Limitations on Reverse Engineering, De-compilation, and Disassembly. You may not reverse engineer, decompile, translate, localize or disassemble the SOFTWARE PRODUCT.

3.2 Separation of Components. The SOFTWARE PRODUCT is licensed as a single product. Its component parts may not be separated for use on more than one computer. You may not unbundle or repackage the SOFTWARE PRODUCT for distribution.

3.3 Rental. You may not rent, license, assign, transfer, time share, host, lend, sub-license, distribute, or lease the SOFTWARE PRODUCT except as otherwise expressly provided in this EULA.

3.4 Software Transfers of Rights. You may transfer a multi-user, site, or enterprise license (in-full) in connection with a divestiture, a merger, or consolidation, as long as You provide IDM with prior written assigned notice, on a form that IDM will provide You, that includes: (i) the original license order number/details; (ii) the quantity of licenses, if applicable, being transferred by product and version; (iii) the name, address and contact information of the transferee; (iv) any other information that IDM reasonably requests.

For all other transfers of licenses, IDM prior written consent is required. No license transfer will be valid unless the transferee accepts in writing the applicable product use rights, use restrictions, and limitations of liability. Any transfer made in violation of the requirements or restrictions of this section will be void and may result in the license being terminated. You may not transfer licenses on a short-term basis or transfer temporary rights to use products.

The SOFTWARE PRODUCT and any copies of the SOFTWARE PRODUCT or any SOFTWARE key or key codes related to the SOFTWARE PRODUCT and IDM trademarks may not be used, posted or displayed in any form or manner on any online auction sites or any other site without the express prior written permission of IDM.

3.5 Term and Termination. The term of this EULA granted to you for the use of the SOFTWARE PRODUCT is for 1 year, renewable automatically, but without prejudice to any other rights, IDM may terminate this EULA if you fail to comply with any of the terms and conditions of this EULA. In such event, you must destroy all copies of the SOFTWARE PRODUCT and all of its component parts.

3.6 Multi-Platform License (Software for Windows, Mac, Linux operating systems). The SOFTWARE PRODUCT or SOFTWARE, which is the subject matter of this EULA, is for use on a single platform or all three platforms depending on the product your order.

3.7 Educational Version. When we discount the Software or Service as for special use by educational users then we refer to it as an “Educational Version”. You may only use the Educational Version if you meet the eligibility requirements stated at http://www.ultraedit.com/register-buy/edu-discounts.html. You may install and use Educational Version only in the country where you are qualified as an educational user. If you reside in the European Economic Area, then the word “country” in the sentence preceding this one means the European Economic Area.

3.8 Trial Version Restrictions. Your rights to install and use the Trial Version under this section will immediately terminate upon the earlier of (a) the expiration of the Trial Period, or (b) such time that You purchase a license to the SOFTWARE PRODUCT or SOFTWARE. YOU ACKNOWLEDGE THAT THE TRIAL VERSION MAY HAVE LIMITED FEATURES, FUNCTION FOR A LIMITED PERIOD OF TIME, HAVE OTHER LIMITATIONS NOT PRESENT IN A NON-TRIAL VERSION OF THE SOFTWARE. NOTWITHSTANDING ANYTHING TO THE CONTRARY IN THIS EULA, THE TRIAL VERSION OF ANY IDM SOFTWARE PRODUCT or SOFTWARE IS PROVIDED TO YOU ON AN "AS IS" BASIS, AND IDM DISCLAIMS ANY WARRANTY OR LIABILITY OBLIGATIONS TO YOU OF ANY KIND.

3.9. Upgrades. If upgrading from one IDM SOFTWARE PRODUCT to a different IDM SOFTWARE PRODUCT, the subsequent use of the originating product is invalidated/prohibited in accordance with this EULA (Effectively exchanging rights of use). For products purchased with 2 years of upgrades, you will not be charged for any major or minor releases from the date of your order for a period of 24 months. For orders that were purchased with Unlimited Lifetime Upgrades, you will not be charged for any major or minor releases from the date of your order for the life of the product. See also End of Life Policy.

4. Intellectual Property Rights. All rights, title, and interests, including, but not limited to, all copyrights, trade secret rights, patent and trademark rights in and to the SOFTWARE PRODUCT (including but not limited to any images incorporated into the SOFTWARE PRODUCT), the accompanying printed materials, and any copies of the SOFTWARE PRODUCT, are owned by and shall remain the sole property of IDM.

5. Injunctive Relief. The parties agree that if You utilize or otherwise use any of the SOFTWARE PRODUCT in an unauthorized manner, or breach the terms and conditions of this EULA, that such use or breach would have a devastating and serious impact on IDM’s continuing ability to compete profitably and would, therefore, result in immediate and irreparable injury, loss or damage to IDM. The parties agree that in such event, in addition to IDM’s right to recover damages for a breach of this EULA, IDM would be entitled to obtain a temporary restraining order or a preliminary injunction from a court of competent jurisdiction to prevent You, Your employees, agents, consultants, or independent contractors from engaging in any further use of the SOFTWARE PRODUCT or the continued breach of the remaining terms and conditions of this EULA.

6. Limited Warranty. IDM warrants that the SOFTWARE PRODUCT will perform substantially in accordance with the accompanying written materials for a period of ninety (90) days from the date of receipt. Some states and jurisdictions do not allow limitations on duration of an implied warranty, so the above limitation may not apply to You. To the extent allowed by applicable law, implied warranties on the SOFTWARE PRODUCT, are limited to ninety (90) days and one year, respectively.

7. Customer Remedies. IDM’s and its suppliers’ or licensor’s entire liability and Your exclusive remedy shall be, at IDM’s option, either (a) return the license fee paid, or (b) repair or replacement of the SOFTWARE PRODUCT that does not meet IDM’s Limited Warranty and which is returned to IDM with a copy of Your receipt.

This Limited Warranty is void if failure of the SOFTWARE PRODUCT has resulted from misapplication. Any replacement SOFTWARE PRODUCT will be warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer. Outside the United States, neither these remedies nor any product support services offered by IDM are available without proof of purchase from an authorized international source.

8. NO OTHER WARRANTIES. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IDM AND ITS SUPPLIERS, and LICENSORS DISCLAIM ALL OTHER WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

9. NO LIABILITY FOR CONSEQUENTIAL DAMAGES. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL IDM OR ITS SUPPLIERS, OR LICENSORS, BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE, MISUSE, OR INABILITY TO USE THE SOFTWARE PRODUCT, EVEN IF IDM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME STATES AND JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU.

10. Survival. The restrictions and obligations as contained in this EULA which You have voluntarily agreed to shall survive any expiration, termination or cancellation of this EULA, and shall continue and remain in effect to bind You, and Your employees, agents, successors, heirs and assigns.

11. Succession. This EULA and the applicable License restrictions set forth the entire Agreement and understanding between the parties as to the subject matter of this Agreement and supersede all prior EULA's, discussions, representations, and amendments of understandings of every kind and nature between them.

12. Amendments. Except as otherwise provided in this EULA, this Agreement may not be amended, altered, or any of its provisions waived on behalf of either party, except in writing executed by both parties’ duly authorized agent.

13. Assignability. Except as otherwise expressly provided under this EULA, this agreement and the rights and duties under this Agreement may not be assigned by You without the prior written consent of IDM.

14. Benefit. This EULA shall be binding upon and inure to the benefit of IDM and its successors and assigns.

15. Counterparts. This EULA may be executed and/or accepted in one or more counterparts, each of which shall be enforceable against the party actually executing and/or accepting the counterparts, and all of which together shall constitute one instrument.

16. Severability. If any provision of this EULA becomes or is declared by a court of competent jurisdiction to be illegal, unenforceable, or void, the remaining portion(s) of this EULA shall continue in full force and effect without said provision; provided, however, that no such severability shall be effective if it materially changes the economic benefit of the EULA to IDM.

17. Authority to Execute and Accept. You warrant and represent to IDM that this EULA shall be binding upon You, and that the individual agreeing to be bound under the terms and conditions of this EULA is authorized or has been empowered to do so.

18. Third party Acknowledgement and Terms. The SOFTWARE PRODUCT or SOFTWARE may use or include third party components or Content and other copyrighted or publicly licensed material. Acknowledgments, licensing terms and additional disclaimers for such components, Content, or materials are contained in the respective components documentation, and Your use of such components, Content or material is governed by their respective terms and conditions.

19. Order of Precedence. If there is any conflict between the terms of any previous End User License Agreement (EULA) and this Agreement and any Additional Terms, then this agreement and any Additional Terms shall govern in relation to perpetual software licenses and subscription-based Software use.


Technical Support

You can obtain free support for UltraEdit if you've registered and paid for a license. You may email any questions/suggestions to:

support@idmcomp.com


Sales
 Previous Topic

For the most recent information regarding licensing costs and options, please contact us at sales@idmcomp.com .

Registration may be placed by one of the following methods:

1) SECURE order form at: https://www.ultraedit.com/store/customer/home.php

2) FAX to (513) 892 4915

Telephone to (513) 892 8600.

3) MAIL - send payment/order to:

IDM Computer Solutions, Inc.

5559 Eureka Dr.

Suite B

Hamilton, OH 45011

USA

4) E-Mail to sales@idmcomp.com


Accelerators dialog

The Accelerators dialog in UEStudio provides a simple method of editing accelerators for the active project. When an Accelerator resource item is selected in the File Tree View and the Open option is selected from the context menu the Accelerators dialog is invoked. This will present accelerators in a table listing ID, Key, and Type. The Accelerator dialog includes the following buttons:

OK | saves changes and dismisses dialog
Cancel | dismisses dialog without saving changes
New Accelerator | presents Properties dialog for definition of new accelerator
Properties | if an accelerator is selected this button presents the Properties dialog
Delete | deletes the selected accelerator from the list

Properties dialog

The Accelerator properties dialog is used to modify the properties of a selected resource or to define the properties of a new resource.

Using this dialog the user may define the following items:

ID | the name associated with the active accelerator
Key | the key used to invoke the accelerator
Modifiers | additional keys used along with the primary key for the accelerator. By default, when an accelerator key corresponds to a menu item, the system highlights the menu item. You can use the No Invert option to prevent highlighting for an individual accelerator.
Type | may be ASCII or Virtual Key


Add/Modify Environment Variables

Add/Modify Environment Variables (Workspace Manager context menu)

When a yellow folder (indicating an actual folder on a drive, and not a "Group" folder) is selected under the Project tab in the Workspace Manager, the last item presented in the context menu is Add to Environment. Selecting this option presents the Add/Modify Environment Variable dialog:

It may be necessary at times to specify additional INCLUDE, LIB, PATH, or SRC directories for use with the specified compiler for the active project. This dialog may be used to select a folder on the drive and designate it accordingly for the compiler settings for the active project.

* Please note: This feature is only supported in UEStudio, and not in UltraEdit.


Auto Recovery command

In the case of a crash of either UltraEdit/UEStudio or the OS, any files open for edit with unsaved changes will be saved as temporary files. When the application is restarted the user will be prompted with the Auto Recovery dialog prompting the user with a list of modified but unsaved temporary files saved at the time of the crash. Users may then select items from this list and press either the Recover Selected Files button or the Do Not Recover button.

Please note: During normal editing UltraEdit/UEStudio creates a temporary file to track changes made to edited files. This information is what is used to support the Auto Recovery option. If configuration settings are changed such that temporary files are not used for editing, the Auto Recovery option would not be available.


Auto Completion

UltraEdit provides the ability to complete words automatically while typing.

There are four aspects to the Auto-Completion:

- When invoked all the keywords from the Syntax Highlighting will be available in the list (if the file uses Syntax Highlighting).

- Functions shown in the Function List will be shown in auto-complete list.

- Under Advanced -> Configuration -> Editor -> Word Wrap/Tab Settings a user specified file may be used to provide the strings for Auto-Completion. In this case a new line is required for each word, or sentence (allowing a complete sentence/paragraph to be specified).

- UltraEdit will search back 50K in the active file from the cursor location for words that match a partially typed word and show these.

By default Auto-Completion is invoked with Ctrl+Space. When this is invoked a list box is displayed with the possible words/phrases for completion. If an appropriate word exists it will be highlighted. Typing additional characters will change the selection as appropriate to a word that matches the partial word typed.

The user may use the cursor keys to change the selected word and at any time use the TAB, SPACE or ENTER to select the word to be used. Doing so will cause UltraEdit to replace the partially entered word (if present) with the selected word/phrase.

Shortcut: CTRL+Space


Auto-Correct (Syntax Highlighting)

If Syntax Highlighting is enabled UltraEdit will automatically (optionally) check each word against the keywords in the wordfile and if the word matches (except for the case of the word UltraEdit) will correct the word to match the case in the wordfile.

For this to work the current file must be highlighted with Syntax Highlighting and the language as specified in the wordfile must NOT have the "Nocase" command word specified.


Batch Builder dialog

Batch Build dialog

The Batch Build dialog is a tool intended for LEAD programmers in companies or for those programmers that need to build projects only. This dialog also supports building multiple projects at the same time.

Using this tool users may create lists of projects that are in one "workspace" and build them in one step. For example if you create a project where you use your own libraries, you can create a list of projects like this: Lib1, Lib2, App1, App2, App3, etc. First the libraries will be created or updated and then the applications that depend on these libraries.

Projects may be added or removed from the list [1] by pressing the Add Project or Remove buttons [4]. When a project is added to the list, the MODE in which the application or library will be generated will be displayed in the Build [2] column. Any of the Batch Build commands (Build, Rebuild, Clean, or Stop [3]) may be applied to the list of projects.

The File menu in the Batch Build dialog may be used to load and save Batch Build lists.


Boost Software License

Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following:

The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Build Toolbar

If a project has been configured to be compilable ( Project Settings dialog ) the build toolbar may be used to execute compile/build functions on the files associated with the active project.

The Build toolbar includes the following items:

* Project Settings | presents Project Settings dialog
* Build Mode | sets Build mode to "Debug" or "Release"
* Compile | saves the active document if needed and then compiles it. If a compiler is not selected or the compiler options are not set for the project the Select Compiler dialog is displayed, then the Project Settings dialog is displayed and then the Compile process is started.
* Build | saves the active document if needed and builds the project target(s). If the compiler is not set for the project or project settings are not saved it will work in the same way as the Compile command.
* Rebuild All | removes all files created by the compiler and then builds the project
* Stop Build | stops running build process
* Run App | runs the application created with the selected compiler or invokes the build process first if the application does not yet exist
* Commands | presents a popup menu with a variable number of items depending on the compiler configuration that is used and which commands are set for this compiler's configuration .

* Please note: These features are only supported in UEStudio, and not in UltraEdit.


Check Spelling dialog

The Check Spelling dialog appears if a word requiring your attention is detected and will list words detected as misspelled in the Not in Dictionary field. You can use the dialog to specify whether the word should be ignored or changed.

Change to field: Contains a word which will replace a misspelled word when you select the Change or Change All buttons. You can enter a word in the Change to field by typing, or you can select one of the suggested replacements from the suggestions list.

Ignore button: Causes this occurrence of a misspelled word to be skipped. If the same misspelled word appears later, it will be reported.

Change button: Causes the reported word to be replaced with the word in the Change to field. Only this occurrence of the reported word is replaced. If you want this and all following occurrences of the word replaced, select the Change All button.

Ignore All button: Causes this and all further occurrences of a misspelled word to be skipped. You might use this button if the word reported as a misspelling is actually spelled correctly. If the word is one you use frequently, you may wish to ignore it permanently or add it to the dictionary by selecting the Add button.

Change All button: Causes this and all following occurrences of the reported word to be replaced with the word in the Change to field. If you want only this occurrence of the word to be replaced, use the Change button.

Add button: Causes the reported word to be added to the personal dictionary for the Dictionary currently selected in the Dictionary configuration dialog and displayed there in the list of Added Words. Use the Add button if a correctly spelled word you use often is reported as a misspelling (e.g., your family name). If the word is not used frequently, you may want to select the Ignore or Ignore All buttons instead.

Cancel button: Stops the current spell-checking operation.

Options button: Opens the configuration dialog to the Miscellaneous topic for spell checker options.


Choose Font dialog

UltraEdit allows selection of fonts for the screen and printer. The Font dialog is presented when Set font is selected under the Fonts dropdown in the View tab. It will be presented if either the Set Font or the Set Printer Font is selected.

The Font dialog presents a selection of installed fonts that may be selected for use. If the fonts are being selected for the printer, only fonts applicable to the printer are available. Selection of font and font size is available.

Additionally, the option to Use OEM Fixed Pitch Font allows the user to specify an internal Windows OEM fixed pitch font to be used instead of one of the normal installed fonts.


Color Selector dialog

Select Color dialog

The Select Color dialog is a very flexible tool that may be used to insert numeric values for colors in four different formats: Decimal, Hex, HTML, and RGB (red, green, blue).

The Select Color dialog includes the following items:

Syringe tool

The syringe in the upper left of the Select Color dialog is a tool that may be used to import colors to the dialog. Clicking on the syringe and dragging it over any item will import its color values to the dialog.

Color block

The Color Block is in the upper lefthand corner of the Select Color dialog. Clicking on this presents the standard Windows Color dialog where basic colors may be selected or custom colors may be defined. Whether a standard color is selected in the Color dialog or a custom color is created, whatever color is shown in the "Color/Solid" field will be the color shown if you press the OK button in the Color dialog.

RRGGBB text field

If you are familiar with the standard RGB color codes you may directly specify a color by typing in this field. The specified color should be immediately reflected in the Color Block. If you are defining a color in HEX format there should be six alphanumeric characters used to do so (e.g., F08FFF).

Named colors

A list of 72 default colors used for web development is provided in the dropdown and selecting one of these will automatically change the value reflected in the HEX/RRGGBB field. This can be very helpful in quickly selecting colors for development.

Display web colors only

There are a limited number of colors that display the same regardless of what browser they are displayed in. If Display web colors only is selected, only "browser safe" colors will be displayed in the Select Color dialog.

RGB text fields

Beside the Red, Green, and Blue color blocks are text fields where values for these colors (from 0 through 255) may be directly entered. The up/down arrows by each text field may also be used to modify the color values. To increase/decrease all three color values simultaneously use the "-" and "+" buttons below the RGB text fields.

Users may define custom colors using these controls and name them by entering the name in the Named colors combobox. Custom colors may be removed by selecting the color name in the Named colors combobox and pressing the Delete key (on the keyboard) and then pressing the Save color button. Any color saved with an empty name will be removed from the color list.

Nearest color

The Nearest Color button will select the closest color to the custom values currently defined from the default colors listed in the dropdown. The Color Block will change to reflect this color as will the Color field value in the Format section and the color name listed in the dropdown.

Swap red/blue

Pressing this button will switch the values for Red and Blue for the currently specified color. This change is reflected throughout the Select Color dialog.

Output

Users may select whether they want the color value to be inserted in either Decimal, Hex, HTML, or RGB format using the appropriate buttons. Pressing the Editor button will send the output to the active edit window and pressing the Clipboard button will send the output to the active clipboard. If the Use quotes option is selected the value will be inserted in the desired format and enclosed in double quotes. (Please note that the RGB value is never inserted in double quotes as this is generally used for C macros and this behavior would not be appropriate in this context.)

Close

Pressing the Close button will close the Select Color dialog and return focus to the edit window.


Compiler Options dialog

The Compiler Options dialog is used to configure the compiler selected for use with the active project. This is only available for use with UEStudio.

The Default button may be pressed to restore the default settings for the selected compiler. Double clicking on an item in the configuration pane will present a dialog where possible values for that option may be set. By default the Debug and Release directories below the project directory will be used for debug and release builds. Users may specify different directories if desired, but these will be relative to the Project directory.

If External Debugger is selected in the Project Settings dialog the user would need to specify the debugger to be used with the active project in the Compiler Options dialog. Double-clicking on Debugger in the dialog will present a dialog where the user may browse to and select the debugger to be used with the active project.


Context Help command

Use the Context Help command to obtain help on some portion of UltraEdit. When you choose the toolbar's Context Help button, the mouse pointer will change to an arrow and question mark. Then click somewhere in the UltraEdit window, such as another toolbar button. The Help topic will be shown for the item you clicked.

Shortcut: SHIFT+F1


DDE Support

UltraEdit supports the following DDE commands. They are all part of the "System" topic.

Command: | Function:
[open("filename")] | Opens the specified file. Following the filename any of the normal command line parameters may be saved for macro running, positioning at line number, etc.
[save()] | Saves the active document.
[print("filename")] | Prints the specified file.
[printto("filename"," printername","printer driver","port")] | Prints the specified file to the specified printer, giving the printer name, printer driver and port.

These commands must be passed exactly as shown.

The following example uses DDE open to open a file and run a macro:

[open("filename" /M,E,1="full path of macro file/macro name")]


Delete command

Delete command (Edit tab/Delete dropdown)

The delete command deletes the selected text or if no text is selected it deletes the character at the cursor.


Dialog Design Mode

When a compilable project is loaded in UEStudio, and a dialog is selected from the project resources in the Workspace Manager, and its source is open in the editor, the Resource editor option is active in the Build tab. When this is clicked a preview of the active dialog will be opened. This will show how the active dialog will be rendered when invoked from the project application.

When a preview dialog is loaded its default state is with Design Mode On. Right clicking anywhere in the preview dialog (not on a specific control) will present the following context menu:

Design Mode Off/On | toggles Design Mode state which switches between preview and editing modes
Redraw Window | redraws preview dialog based on modified dialog source
Insert Control | presents submenu where items may be selected to insert into the active dialog
Save and Quit | saves all current changes to dialog source and closes preview dialog
Quit | closes preview dialog without saving changes

If Design Mode is on and a specific control is selected, right clicking will present the following context menu:

Design Mode Off/On | toggles Design Mode state which switches between preview and editing modes
Redraw Control | redraws selected control based on modified dialog source
Remove Control | removes selected control from preview dialog
Save and Quit | saves all current changes to dialog source and closes preview dialog
Quit | closes preview dialog without saving changes

* Please note: These features are only supported in UEStudio, and not in UltraEdit.


Diff command

When Advanced Diff/Compare is selected in the CVS submenu of the context menu in the Project pane of the Workspace Manager, the CVS Diff dialog is presented. The CVS Diff dialog supports the following options:

The desired account may be selected from the Account dropdown. If a CVS account doesn't already exist, pressing the Modify button will launch the VCS Manager dialog where users may add/remove an account.

By default the Diff against working copy checkbox is selected. When this is selected the first Revision field is disabled. If this checkbox is unchecked the user may specify two different revisions to diff. If the second Revision field is left blank, the diff will be performed against the HEAD or most recent revision.

The user may specify additional diff parameters in the Additional Diff Parameters field. These are command line parameters that must already be known as these are not supported directly from UEStudio. This option is not available for Subversion accounts.

By default the Use External Compare option is unchecked. If this is unchecked then the CVS engine will perform the diff and the output will be written to an edit window in UEStudio. If this option is checked, the compare application specified for use with CVS will be used to perform the diff. If the user is familiar with command line parameters for the compare application, these may be specified in the External Compare Parameters field.

* Please note: This feature is only supported in UEStudio, and not in UltraEdit.


Double Click Selections

UltraEdit allows for selection of text by double clicking the primary mouse button (usually the left button). Normally a single word is selected made up of any alphanumeric character or underscore '_'.

If at the time the primary mouse button is double clicked the control key is pressed, a string is selected rather than just a single word. This can be very useful in selecting filenames, e-mail addresses, etc. The characters that delimit the string are configurable under the Delimiters topic under the Editor branch under Settings in the Advanced tab. This function works on a single line only.

These entries, one for the left edge of the text to be selected and one for the right edge, specify what characters should be used to stop any further text from being selected. If a space only is specified in each field all text either side of the cursor position will be selected until a space is encountered.

If text is selected when the right mouse button is pressed, a new menu item "Open File Highlighted" is added to the top of the pop-up menu and if selected the file is opened if it exists.

If the primary mouse button is double clicked between two space characters all of the contiguous space characters will be selected (not beyond the end of line).


Edit Find/Replace Favorites dialog

The Edit Find/Replace Favorites dialog allows users to manage search strings saved under Favorites in the Find and Replace dialogs.

The Edit Find/Replace Favorites dialog includes the following commands:

New | presents New Favorite dialog where user may specify New Favorite Title and New Favorite Contents
Move Up | moves selected item up in Select Favorite list
Move Down | moves selected item down in Select Favorite list
Delete | removes selected search string from Favorites list

When an item is selected from the list, its title and contents will populate the associated fields in the Edit Find/Replace Favorites dialog and users may edit this as desired. Pressing the OK button will dismiss the Edit Find/Replace Favorites dialog and populate the active Find/Replace field with the selected string.


File Change Detection Settings

UltraEdit automatically detects any changes to a file that is loaded within UltraEdit and is changed outside of UltraEdit.

By default, when the changes are detected UltraEdit will prompt the user with the option to reload the file (in which case any unsaved changes to the file in UltraEdit will be lost). The user may choose to reload the file or ignore the changes.

Optionally, UltraEdit provides the ability to ignore any file changes by setting the Disable File Change Detection setting under the File Change Detection topic under the File Handling branch under Settings in the Advanced tab. In this case UltraEdit will not detect, or prompt for any file changes.

Optionally, UltraEdit provides the ability to automatically update the loaded files with any changes that have been made outside of the editor by setting the Automatically Update Changed Files setting the File Change Detection topic under the File Handling branch under Settings in the Advanced tab. In this case, the file will be loaded and any unsaved changes made within UltraEdit will be overwritten automatically without prompting.


File Open dialog

The following options allow you to specify which file to open:

Look In

Specifies the location where you want to locate a file or folder. Click the arrow to select another location, or click on the toolbar to move up levels.

The box below lists the items in the selected location. To open a file, in the Open dialog box, double-click the name of the file you want to open.

File name

Provides a space for you to type the name of the file you want to open. To quickly find a file you've previously opened, click the file name in the drop-down list, if available.

If you are searching for a file, you can use asterisks (*) as wildcards. For example, you can type *.* to see a list of all files. You can also type the full path of a file, for example, C:\Mydocs\Letter.doc.

Files of type

Lists the types of file to display

Encoding

Specifies encoding for file to be opened in. User may select code page to be used to display file.

Open as read-only

Specifies that you can read the file but cannot make changes to it.

ADS Stream

Alternate data streams allow files to be associated with more than one data stream. For example, a file such as text.txt can have a ADS with the name of text.txt:secret.txt (of form filename:ads) that can only be accessed by knowing the ADS name or by specialized directory browsing programs.

Alternate streams are not detectable in the original file's size but are lost when the original file (i.e. text.txt) is deleted, or when the file is copied or moved to a partition that doesn't support ADS (e.g. a FAT partition, a floppy disk, or a network share). While ADS is a useful feature, it can also easily eat up hard disk space if unknown either through being forgotten or not being detected.

This feature is only supported if files are on an NTFS drive.

Open As

Specifies what format the file should be opened with. Users may select from the following options:

Auto Detect ASCII/Unicode

ASCII

UTF-8

UTF-16

ASCII Escaped Unicode

Open as binary

Forces file to be opened in binary format (HEX mode)

My Recent Documents

Shows recently opened files and folders

Desktop

Shows the files, folders, program shortcuts, and other items on the desktop

My Computer

Shows the disk drives and hardware connected to this computer

My Network Places

Shows shortcuts to web sites, network computers, and ftp sites

UltraEdit allows multiple files to be selected from the file list and opened at one time. To select multiple files, select the first file from the list, then with the CTRL key pressed, select other files in the list. When all files are selected, select OK and the selected files will be opened.

Files may also be opened by dragging them from the File Manager into UltraEdit's window and dropping them. (Releasing the mouse button).


Hex Edit Display

Hex Edit Display (Configuration - Editor Display)

The Hex Edit Display branch under Configuration - Editor Display has the following options:

Number of hex characters per line

This setting defines the number of HEX characters to be shown in each line of the display. The editor must be restarted once this value is changed.


INI File Selection and Advanced Settings

UltraEdit/UEStudio maintains most of its configuration settings in an INI file (see below to override this). This allows the user to select the INI file to be used under different configurations and allows the user to maintain the settings for UltraEdit/UEStudio when using UltraEdit/UEStudio from different workstations on a Network.

The default INI files used are UEDIT32.INI for UltraEdit and UESTUDIO.INI for UEStudio.

Please Note – INI Settings ARE case sensitive.

Telling UltraEdit which INI file to use

To override the default behavior you may use a command line parameter, an environment variable, or add an INI file to the directory containing UltraEdit.

The rules are as follows:

The command line is checked first; if the command line contains "/i=filename" this is used.

Example: /i=c:\windows\uedit32.ini

The filename must follow the /i= immediately. It can be a long name with spaces, in which case it must be in quotes.

If the command line parameter is not found the environment variable is checked. Please note, the environment variable specifies the directory that will contain the INI file, NOT the INI filename itself. The environment variable name is UEINIDIR. If this is defined, UltraEdit attempts to use this directory with the default INI filenames. For UEStudio, the environment variable name is UESINIDIR. If this is defined, UEStudio attempts to use this directory with the default INI filenames.

Finally, UltraEdit will look in the directory the EXE file is running from to locate the INI file. If the INI file does not exist here, UltraEdit will check the Windows directory for compatibility with older versions and if it is still not found, the %APPDATA% folder will be used.

Advanced INI Settings

Additional INI settings have been made available and are currently provided without user interface support, i.e., you cannot use a dialog box or menu function in UltraEdit to change them. These have been provided to support user requests.

These should always be added under the heading [Settings].

ConvertKBDInput=1

This setting instructs UltraEdit to convert the keyboard input from ANSI to OEM if an OEM font is selected. The default setting is not to perform any conversion.

Detect UTF-8 String=0

This setting instructs UltraEdit not to parse the file for a UTF-8 context setting to determine if it is a UTF-8 file or not.

Force Full Screen=1

This setting forces UltraEdit to be launched in Full Screen Mode.

Show Tag Descriptions=1

This setting determines if UltraEdit should show the descriptions for the tags in the Tag List. By default the tags are shown with their description. If this value is set to 0, only the tags will be shown without their description.

TAB Windows Font=Tahoma

This setting may be used to specify the font used for open file tabs.

TAB Windows Font Height=13

This setting may be used to specify the font size used for open file tabs.

Temp File Dir="directory"

This setting allows the user to specify the directory UltraEdit uses for the temporary files it creates while editing. Normally this should not be set but can be used if editing large files and there is not sufficient room in the temp directory for the temporary files UltraEdit creates.


Insert command

Insert class command (Coding tab)

This command presents a submenu where the user may select to insert a new C++ Class or a Java/C# Class. Please note: This feature is only supported in UEStudio, and not in UltraEdit.

New C++ Class

If the "C++ Class" option is selected the New C++ Class dialog is presented. This dialog is used to create a new class and automatically generates the associated .h and .cpp files.

Class Name

The Class Name field is used to set the name of the new class. This name will be used to create the associated .h and .cpp files.

Base Class

This field is used to set the base class for the new class.

Access

This dropdown is used to set the access modifiers of the new class. Access modifiers are keywords that specify the access other classes have to the class member functions. This may be set to public, private, or protected.

Public

When preceding a list of class members, the public keyword specifies that those members are accessible from any function. This applies to all members declared up to the next access specifier or the end of the class.

When preceding the name of a base class, the public keyword specifies that the public and protected members of the base class are public and protected members, respectively, of the derived class.

Private

When preceding a list of class members, the private keyword specifies that those members are accessible only from member functions and friends of the class. This applies to all members declared up to the next access specifier or the end of the class.

When preceding the name of a base class, the private keyword specifies that the public and protected members of the base class are private members of the derived class.

Protected

The protected keyword specifies access to class members in the member-list up to the next access specifier (public or private) or the end of the class definition. Class members declared as protected can be used only by the following:

- Member functions of the class that originally declared these members.

- Friends of the class that originally declared these members.

- Classes derived with public or protected access from the class that originally declared these members.

- Direct privately derived classes that also have private access to protected members.

When preceding the name of a base class, the protected keyword specifies that the public and protected members of the base class are protected members of its derived classes.

.h file

This field is used to set the name of the header file for the new object's class. By default, this name is based on the name you provide in Class Name.

.cpp file

This field is used to set the name of the implementation file for the new object's class. This is where the definition of the class would be stored.

Inline Class

If this option is selected both the class constructor and the class definition will be generated as inline functions in the header file.

Virtual Destructor

This option specifies whether the class destructor is virtual. Using virtual destructors helps ensure that the correct destructor is called when instances of derived classes are deleted.

New Java or C# Class

If the "New Java or C# Class" option is selected the New Java or C# Class dialog is presented.

Namespace

This field is used to set the namespace keyword which is used to declare a scope. This namespace scope lets you organize code and gives you a way to create globally-unique types. If a namespace is declared the .java/.cs field will automatically be populated with a C# file name based on the specified class name.

Class Name

The class name specified in this field will be used to create the file in which the class is defined/prototyped.

.java/.cs

A new .java/.cs file is automatically generated for each new class as specified. If a namespace is declared this field will automatically be populated with a C# file name based on the specified class name. If a namespace is not declared this field will automatically be populated with a Java file name based on the specified class name.

Base Class

This field is used to specify the Base Class which specifies the class from which the new class derives.


Large File Handling

UltraEdit allows editing of very large files. This is accomplished with relatively small amounts of memory being used. UltraEdit is a disk-based editor and only loads a small portion of the file into memory at one time. Normally, UltraEdit copies a file that is being edited to a temporary file, and at the end of the editing session deletes the file after copying back to the appropriate original file. To speed up editing of very large files, the Configuration options allow you to specify editing without using temporary files. This removes the time necessary to copy the file to a temporary file. When editing files of many megabytes this can be an advantage.

WARNING - If this option is selected, all changes are permanent!

A dialog box is shown warning the user this setting is enabled each time a file is opened. This option may be disabled under "Use of temporary file for editing" in the Temporary Files topic in the File Handling branch under Settings in the Advanced tab.

A "Threshold" field is provided to allow the user to specify files that are equal or larger than this value to be loaded without the creation of the temporary file. Files smaller than this would be loaded normally, creating a temporary file. Setting the value to zero means that all files would be loaded without the creation of the temporary file. The "Threshold" field is only applicable if the option to open files without the temporary file is set.

Additionally the Disable Line Number option improves the performance when navigating around large files as less disk accesses are required to track the line numbers.

UltraEdit allows editing of files greater than 4GB (up to a size of 2^64-1).


Latest Version

The latest version of UltraEdit/UEStudio may be found in several places:

The following www page:

http://www.idmcomp.com/ and http://www.ultraedit.com/

Users may also click on Check for Updates in the Advanced tab to check to see if an updated version of UltraEdit or UEStudio is available for download.


Macro Definition dialog

The macro definition dialog is shown when a new macro is created either from the Macro Record command or from the Edit Macro command .

It allows a name to be given to the macro, and a hot key assignment to be given to the macro. After pressing OK, the macro recording starts if invoked from the Macro Record command.

The hot key assignment allows the user to specify a key combination that will automatically invoke the macro. If a key assignment is chosen that is already used by UltraEdit, the key assignment will override UltraEdit's assignment.

Pressing any key combination with the focus in the Hot Key field will assign the key to the macro. If desired, the user may also specify a Chord with the Chord field. This would be used in conjunction with the hot key assignment to invoke the macro.

It is not required that a name be entered, or a hot key/chord assignment be made.

Default behavior shows a Cancel Dialog while the macro is executing. For macros that execute quickly this may not be desired and may be disabled by deselecting the "Show Cancel Dialog for this macro" setting.

During Macro Playback a find and replace command may result in the search string not being found. The default behavior in this case is to stop the macro execution. For some macros, possibly where a Replace All is being performed it is desirable not to stop the macro playback. In this case, select the "Continue if a Find with Replace Not Found".


Modify Groups

Modify Groups dialog

The Modify Groups dialog is used to define parsing rules which define groups and subgroups for syntax highlighting languages used in the editor. These groups and subgroups determine how the hierarchical function list will be populated for a given language.

Define Group parsing rules for

By default, this dropdown will be set to the appropriate language for the active file. If the user wishes to modify parsing rules for a different language, it may be selected.

Group

This textfield is used to define new names for groups/subgroups that would be added to the hierarchical tree using the Add button. Any group/subgroup which is added will be inserted into the tree under the node currently selected in the tree displayed in the Existing Groups control.

If a previously defined group is selected in the Existing Groups control, its name may be modifed and the modification can be saved using the OK button.

Users may delete selected nodes from the tree using the Delete button.

Nodes may be moved up or down in the tree using the Move up and Move down buttons.

When a group is selected in the Existing Groups tree, the regular expression(s) associated with that group need to be specified in the list labeled Define regular expressions for selected Group below. Multiple expressions may be defined for each group/subgroup, but each added expression will affect the time required to parse documents. Groups (e.g. Functions and Classes) would not need to have a scope defined. They would be scanned for throughout the entire document.

Subgroups require regular expression(s) used for detecting matching strings as well as a scope within which the search for those strings will be executed. For example, to match parameters for a function one might define the following:

Regular Expression | Open regex | Close regex
[ ^t^p]++^([~,]+^) | ( | )

This would indicate that once a function is matched, the editor will search for strings bounded by "(" and ")" and test for matches to the specified expression between these points. To match variables within the function body, one might specify:

Regular Expression | Open regex | Close regex
%[ ^t]++^([a-z0-9]+[ ^t^*]+[a-z0-9^[^]_]+*;^) | { | }

It is important to note that while multiple regular expressions may be defined for groups and subgroups, subgroups must always have a matching scope.

When the Add button is pressed, a field in the regular expressions table will be activated for editing. Users may define a new regular expression string here. If the user wishes, he may select an existing expression and modify it. The Modify button would be used to active a field for changes. Finally, if a particular expression is no longer required, it may be selected and removed using the Delete button.


.NET Framework Code Protector dialog

.NET protector dialog

This dialog is used to configure options to protect code in a .NET executable from later users who may wish to decompile working code. Pressing the "..." button will present the Select .NET Executable dialog that may be used to browse to the .NET executable that should be protected.

Options may be selected for the items in the selected executable that should be protected.


New Folder dialog

The New Folder dialog allows users to specify settings for folders to be added to the active project.

The Folder field specifies the full path to the local folder to be added to the active project. If the Group checkbox is selected all other items are subdued and the added folder is only a placeholder for organization within the project and does not relate to an actual folder on the local system.

The Filter field specifies extensions for files to be displayed within the added folder.

If Link Folder to FTP/SFTP location is selected the following options are available:

The FTP/SFTP Account field specifies the account to be associated with the added folder. The added folder will act as a mirror for the specified folder on the remote server.

The Remote Path field specifies the path to the directory on the remote server to be associated with the added folder.

The Maximum Recursion Level field is used to specify the number of subdirectories from the specified remote folder that will be included in the added folder.

The Server Clock Skew setting relates to synchronization of local/remote files. The user may specify a difference of a number of seconds in the timestamp between the local copy of files/folder and the remote copy that should be ignored when synchronizing the project folder with the remote folder. This would allow for time zone differences between the local and remote system as well as minor variations should one system not keep time well.


Next Window command (document Control menu)

Use this command to switch to the next open document window. UltraEdit determines which window is next according to the order in which you opened the windows.

Shortcut: CTRL+F6


Previous Window command (document Control menu)

Use this command to switch to the previous open document window. UltraEdit determines which window is previous according to the order in which you opened the windows.

Shortcut: SHIFT+CTRL+F6


Print dialog

The following options allow you to specify how the document should be printed:

Printer

This is the active printer and printer connection. Choose the Setup option to change the printer and printer connection.

Setup

Displays a Print Setup dialog , so you can select a printer and printer connection.

Print Range

Specify the pages you want to print:

All Prints the entire document.

Selection Prints the currently selected text.

Pages Prints the range of pages you specify in the From and To boxes.

Copies

Specify the number of copies you want to print for the above page range.

Collate Copies

Prints copies in page number order, instead of separated multiple copies of each page.

Print Quality

Select the quality of the printing. Generally, lower quality printing takes less time to produce.


Print Preview toolbar

The print preview toolbar offers you the following options:

Print

Bring up the print dialog box to start a print job.

Next Page

Preview the next printed page.

Prev Page

Preview the previous printed page.

One Page / Two Page

Preview one or two printed pages at a time.

Zoom In

Take a closer look at the printed page.

Zoom Out

Take a larger look at the printed page.

Close

Return from print preview to the editing window.


Print Progress dialog

The Printing dialog box is shown during the time that UltraEdit is sending output to the printer. The page number indicates the progress of the printing.

To abort printing, choose Cancel.


Print Setup dialog

The following options allow you to select the destination printer and its connection.

Printer

Select the printer you want to use. Choose the Default Printer or choose the Specific Printer option and select one of the current installed printers shown in the box. You install printers and configure ports using the Windows Control Panel.

Orientation

Choose Portrait or Landscape.

Paper Size

Select the size of paper that the document is to be printed on.

Paper Source

Some printers offer multiple trays for different paper sources. Specify the tray here.

Options

Displays a dialog box where you can make additional choices about printing specific to the type of printer you have selected.

Network...

Choose this button to connect to a network location, assigning it a new drive letter.


Project Converter command

Project converter command (Project tab)

This command may be used to convert an existing Visual Studio project to UEStudio project format so that the application may be built/modified within UEStudio.

Pressing the "..." button will allow the user to browse to select the Visual Studio Project, Workspace, or Solution that should be converted for UEStudio handling.

If the Open converted project/workspace option is selected the selected item will be opened in UEStudio after conversion.

Pressing the Convert button will begin the conversion process and pressing the Close button dismisses the Project Converter dialog.

* Please note: This feature is only supported in UEStudio, and not in UltraEdit.


Project Converter dialog

This dialog may be used to convert an existing Visual Studio project/workspace/solution to UEStudio project format. Please note: This feature is only available in UEStudio and not in UltraEdit.

Pressing the "..." button will open a dialog in which the user may browse to and select the container (project/workspace/solution) they wish to convert.

If the Open converted project/workspace option is selected then the selected container will be opened in UEStudio once it has been converted. The converted project will be listed with a ".prw" extension if navigated to in Explorer.


Project Settings dialog

The Project Settings dialog is used to configure options for the active project.

UltraEdit Project Settings dialog

UEStudio Project Settings dialog

Project Directory

UltraEdit / UEStudio allows a Project Directory to be specified. Where possible UltraEdit will use relative paths. If this is not possible absolute paths will be used for the files added to a project.

In some cases it is advantageous to group multiple sets of files together within a single project. UltraEdit provides for grouping of these files in named groups. These groups may be added or deleted as needed and files may be added to each group.

Optional Wordfile

The Optional Wordfile entry box allows the user to specify a different wordfile directory to be used for Syntax Highlighting when the project is active. If the path is fully qualified it will be an absolute path to the wordfile directory, otherwise the path would be a relative path to the project directory or project file (based on settings above).

Optional Template File

The Optional Template File entry box allows the user to specify a file to be used for storing templates to be used only with the active project. When a project is loaded with this option specified, an additional Project node will be displayed in the Template List.

Optional CTAGS File

The Optional CTAGS File entry box allows the user to specify a file to be used for storing data for CTAGS functions. The option may also be selected to Create CTAG file on project load. If this item is checked UltraEdit will automatically create the CTAGS tag file when the project is loaded. These options are only available if the Legacy Ctags Support (UltraEdit-style) checkbox is selected.

Folder Options

When selected, the Include sub folders in folders option causes UltraEdit to recursively include all sub folders when a folder is added to a Project. If a Filter is specified (i.e. *.c) only files with matching extensions will be considered part of the project. If a Filter is specified for a folder in the File Tree View, this filter will apply only to the selected folder and will override the filter defined for the project as a whole in the Project Settings dialog.

Add Group/Add Folder

If the Add Folder button is pressed, the New Folder dialog is presented where users may specify actual folders on the local system or network to be added to the active project. If the Add Group button is pressed, a New Group dialog is presented and the name entered will be used for a blue colored folder which is displayed in the Project pane in the File View purely for organizational purposes. Files/folders added to a project may be collected under these notional folders.

* Compilable

This checkbox must be selected for the Set/Change Compiler button, the Compiler Options button, and the Build Mode dropdown to be active. If this is not selected these items may not be modified and some commands in the Build tab (available only in UEStudio) will not be active when the project is loaded.

* Set/Change Compiler

Pressing this button launches the Select Compiler dialog which is used to select a compiler for the active project and configure compiler settings.

* Compiler Options

Pressing this button launches the Compiler Options dialog which is used to configure the compiler selected for use with the active project.

* Build Mode

The Build Mode for the active project may be set to either Debug or Release using the Build Mode dropdown. This may also be modified in the Build toolbar.

* Version Control Support

This checkbox must be selected for the CVS Commit and Update commands in the Project tab to be active. If this option is not selected and a CVS Module Directory isn't specified for the project, then these two options would not be available as CVS options will not have been configured for the active project. If this is not selected context menu options for CVS will not be available in the Workspace Manager when a file is clicked on.

* Manage VCS Modules

Pressing this button presents the VCS Manager dialog where settings for CVS/Subversion accounts may be specified.

* Save version account information in project file

If this option is selected, each checked module in the project will store account information in the project file as a backup to the actual account information stored in the INI file.

* CVS Module Directory

Users may specify the path to the CVS module for the active project here. The Browse button may be used to navigate to a Module directory if this is preferred.

Include sub folders in folders

This setting, when checked, causes all sub-folders and appropriate files to be added to the project when a folder is added to the project. If set, any time project files are referenced, a recursive search for the files will be made through the sub-folders of the main folder.

Filter

The filter entry allows the user to specify a file filter that will be applied to the files that are part of a folder group. Only files matching the filter will be added to the group when the folder is updated.

Select Project Debugger

This dropdown allows the user to choose between using an External Debugger, the Integrated WinDbg debugger, or the Integrated PHP debugger. If External Debugger is selected then the external debugger specified in the Compiler Options dialog is launched, but integrated debugging is not supported. This is for debuggers not yet integrated into UEStudio.

If Integrated WinDbg is selected as the project debugger (currently only for use with projects built with the Microsoft C/C++ compiler) then integrated debugging is supported within UEStudio. If WinDbg has not been downloaded and installed this may be downloaded from the IDE/Debugger branch in Configuration.

If Integrated PHP is selected as the project debugger then integrated debugging is supported within UEStudio. If the PHP debugger has not been downloaded and installed this may be downloaded from the IDE/Debugger branch in Configuration.

Working Directory

The Working Directory field specifies the working directory for the debugger to use for the active project. The full path for the working directory must be specified.

Program Arguments

The Program Arguments field is used to specify arguments to be passed to the process currently being debugged.

Symbol Paths

The Symbol Paths field is used to specify the path to symbols to be used for the active project. The user may browse to the directory where the symbols to be used are stored rather than directly specifying this if desired. The full path for the directory must be specified. Multiple paths may be specified if delimited by semicolons ";".

* Please note: These items are only included in UEStudio and are not supported in UltraEdit.


Project Templates

UEStudio supports several different project templates by default that may be created using the icons in the Project Templates dialog. Short summaries for the default templates are included below:

Windows App

A Windows application is an executable application (.EXE) using calls to the Win32 API rather than to MFC classes. UEStudio will create workspace and project files for your program, that you then add your own code to.

Console App

Console applications are developed with Console API functions, which provide character-mode support in console windows. UEStudio will create workspace and project files for your program that you then add your own elements to.

Dialog App

Dialog applications are based on a dialog window. These are the same as in Visual Studio wizards.

Dynamic Link Library

A Dynamic Link Library is a binary file (using calls to the Win32 API rather than to MFC classes), that acts as a shared library of functions that can be used simultaneously by multiple applications. UEStudio will create workspace and project files for your program that you then add your own code to.

Static Library

A Static Library is a file containing objects and their functions and data that is linked into your program when the executable file is built. You can link a static library to an MFC-based program or to a non-MFC program for Windows written in C or C++, that makes calls to the Win32 API rather than to MFC classes.

Utility Project (Empty/User-Define Project)

When you create an empty project (or User-Defined Template), no files are added to the project. The empty project does not generate any predetermined output files, such as a .LIB, .DLL or .EXE. An empty project can be used as a container for files you can build without a link step. You can use an empty project as a master project for your subprojects and an empty project can export a MAKEFILE.


Recently Opened Files command

Recently opened files command (Application menu)

Use this command to select the file you wish to edit from up to 32 of the most recently edited files. If Ribbon mode is active, the list of recently opened files may be seen by clicking on the application icon. The number of files shown here is configurable under Advanced -> Settings -> Toolbars/Menus -> Miscellaneous. Select the file you wish to edit by highlighting and clicking on it in the submenu that appears when you click on Recently Opened Files.


Recently Closed Files command

Recently closed files command (Application menu)

Use this command to select the file you wish to edit from up to 32 of the most recently closed files. The number of files shown here is equal to the number configured for recently opened files in the Miscellaneous topic under the Toolbars/Menus branch under Settings in the Advanced tab. Select the document you wish to edit by highlighting and clicking on it in the submenu that appears when you click on Recently Closed Files.

Note: Files closed on application shutdown, via macro or script, or when closing a project are NOT added to this menu.


Recent Projects/Workspace command

Recent command (Project tab/Recent dropdown)

Use this command to select the project you wish to edit from the most recently edited projects. Select the project you wish to edit by highlighting and clicking on it in the sub-menu that appears when you click on Recent Projects. The number of projects viewable here matches the number of recent files set in the Miscellaneous topic under the Toolbars/Menus branch in Settings under the Advanced tab.


Redo command

Redo command (Quick Access Toolbar)

The Redo command allows commands that have previously been undone with the Undo to be redone. If commands are undone and then a new command is performed, the Redo will no longer allow previously undone actions to be redone.

Shortcuts: CTRL+Y


Regular Expressions (Perl Style)

UltraEdit/UEStudio now support Perl style regular expressions using the Boost C++ Libraries. The Perl regular expression syntax is based on that used by the programming language Perl.

Perl Regular Expression Syntax

In Perl regular expressions, all characters match themselves except for the following special characters:

.[{()\*+?|^$}]

Wildcard

The single character '.' when used outside of a character set will match any single character.

Anchors

A '^' character shall match the start of a line.

A '$' character shall match the end of a line.

Marked sub-expressions

A section beginning ( and ending ) acts as a marked sub-expression. Whatever matched the sub-expression is split out in a separate field by the matching algorithms. Marked sub-expressions can also repeated, or referred to by a back-reference.

Alternation

The | operator will match either of its arguments, so for example: abc|def will match either "abc" or "def".

Parenthesis can be used to group alternations, for example: ab(d|ef) will match either of "abd" or "abef".

Empty alternatives are not allowed (these are almost always a mistake), but if you really want an empty alternative use (?:) as a placeholder, for example:

"|abc" is not a valid expression, but

"(?:)|abc" is and is equivalent, also the expression:

"(?:abc)??" has exactly the same effect.

Character sets

A character set is a bracket-expression starting with [ and ending with ], it defines a set of characters, and matches any single character that is a member of that set.

A bracket expression may contain any combination of the following:

Single characters

For example [abc], will match any of the characters 'a', 'b', or 'c'.

Character ranges

For example [a-c] will match any single character in the range 'a' to 'c'. By default, for POSIX-Perl regular expressions, a character x is within the range y to z, if it collates within that range; this results in locale specific behavior.

Negation

If the bracket-expression begins with the ^ character, then it matches the complement of the characters it contains, for example [^a-c] matches any character that is not in the range a-c.

Character classes

An expression of the form [[:name:]] matches the named character class "name", for example [[:lower:]] matches any lower case character. The following character class names are always supported:

Name | POSIX-standard | Description
alnum | Yes | Any alpha-numeric character.
alpha | Yes | Any alphabetic character.
blank | Yes | Any whitespace character that is not a line separator.
cntrl | Yes | Any control character.
d | No | Any decimal digit
digit | Yes | Any decimal digit.
graph | Yes | Any graphical character.
l | No | Any lower case character.
lower | Yes | Any lower case character.
print | Yes | Any printable character.
punct | Yes | Any punctuation character.
s | No | Any whitespace character.
space | Yes | Any whitespace character.
unicode | No | Any extended character whose code point is above 255 in value.
u | No | Any upper case character.
upper | Yes | Any upper case character.
w | No | Any word character (alphanumeric characters plus the underscore).
word | No | Any word character (alphanumeric characters plus the underscore).
xdigit | Yes | Any hexadecimal digit character.

Escapes

Any special character preceded by an escape shall match itself. The following escape sequences are also supported:

Escapes matching a specific character

The following escape sequences are all synonyms for single characters:

Escape | Character
\a | '\a'
\e | 0x1B
\f | \f
\n | \n
\r | \r
\t | \t
\v | \v
\b | \b (but only inside a character class declaration).
\cX | An ASCII escape sequence - the character whose code point is X % 32
\xdd | A hexadecimal escape sequence - matches the single character whose code point is 0xdd.
\x{dddd} | A hexadecimal escape sequence - matches the single character whose code point is 0xdddd.
\0ddd | An octal escape sequence - matches the single character whose code point is 0ddd.
\N{name} | Matches the single character which has the symbolic name name. For example \N{newline} matches the single character \n.

"Single character" character classes

Any escaped character x, if x is the name of a character class shall match any character that is a member of that class, and any escaped character X, if x is the name of a character class, shall match any character not in that class. The following are supported by default:

Escape sequence | Equivalent to
\d | [[:digit:]]
\l | [[:lower:]]
\s | [[:space:]]
\u | [[:upper:]]
\w | [[:word:]]
\D | [^[:digit:]]
\L | [^[:lower:]]
\S | [^[:space:]]
\U | [^[:upper:]]
\W | [^[:word:]]

Word Boundaries

The following escape sequences match the boundaries of words:

\< | Matches the start of a word.
\> | Matches the end of a word.
\b | Matches a word boundary (the start or end of a word).
\B | Matches only when not at a word boundary.

For further information/options please see the Boost Libraries Perl Regular Expression syntax pages.

Use, modification and distribution are subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt).


Regular Expressions (Legacy)

UltraEdit allows for Regular Expressions in many of its search and replace functions listed under the Search Menu.

Regular expressions allow more complex search and replace functions to be performed in a single operation.

There are two possible sets of legacy syntax that may be used. The first table below shows the original UltraEdit syntax used in earlier versions of UltraEdit. The second table shows the optional "Unix" style regular expressions. This may be enabled from the Configuration Section.

Regular Expressions (UltraEdit Syntax):

Symbol | Function
% | Matches the start of line - Indicates the search string must be at the beginning of a line but does not include any line terminator characters in the resulting string selected.
$ | Matches the end of line - Indicates the search string must be at the end of line but does not include any line terminator characters in the resulting string selected.
? | Matches any single character except newline.
* | Matches any number of occurrences of any character except newline. At least one occurrence of the preceding character or one of the characters in preceding character set must be found.
+ | Matches one or more of the preceding single character/character set. At least one occurrence of the character must be found.
++ | Matches the preceding single character/character set zero or more times.
^b | Matches a page break.
^p | Matches a newline (CR/LF) (paragraph) (DOS Files)
^r | Matches a newline (CR Only) (paragraph) (MAC Files)
^n | Matches a newline (LF Only) (paragraph) (UNIX Files)
^t | Matches a tab character
[xyz] | A character set. Matches any characters between brackets.
[~xyz] | A negative character set. Matches any characters NOT between brackets including newline characters.
^{A^}^{B^} | Matches expression A OR B
^ | Overrides the following regular expression character
^(...^) | Brackets or tags an expression to use in the replace command. A regular expression may have up to 9 tagged expressions, numbered according to their order in the regular expression. The corresponding replacement expression is ^x, for x in the range 1-9. Example: If ^(h*o^) ^(f*s^) matches "hello folks", ^2 ^1 would replace it with "folks hello".

Note - ^ refers to the character '^' NOT Control Key + value.

Examples:

m?n matches "man", "men", "min" but not "moon".

t*t matches "test", "tonight" and "tea time" (the "tea t" portion) but not "tea

time" (newline between "tea " and "time").

Te+st matches "test", "teest", "teeeest" etc. but does not match "tst".

[aeiou] matches every lowercase vowel

[,.?] matches a literal ",", "." or "?".

[0-9a-z] matches any digit, or lowercase letter

[~0-9] matches any character except a digit (~ means NOT the following)

You may search for an expression A or B as follows:

"^{John^}^{Tom^}"

This will search for an occurrence of John or Tom. There should be nothing between the two expressions.

You may combine A or B and C or D in the same search as follows:

"^{John^}^{Tom^} ^{Smith^}^{Jones^}"

This will search for John or Tom followed by Smith or Jones.

The table below shows the syntax for the "Unix" style regular expressions.

Regular Expressions (Unix Syntax):

Symbol | Function
\ | Indicates the next character has a special meaning. "n" on it's own matches the character "n". "\n" matches a linefeed or newline character. See examples below (\d, \f, \n etc).
^ | Matches/anchors the beginning of line.
$ | Matches/anchors the end of line.
* | Matches the preceding single character/character set zero or more times.
+ | Matches one or more of the preceding single character/character set. At least one occurrence of the preceding character or one of the characters in preceding character set must be found.
. | Matches any single character except a newline character. Does not match repeated newlines.
(expression) | Brackets or tags an expression to use in the replace command. A regular expression may have up to 9 tagged expressions, numbered according to their order in the regular expression. The corresponding replacement expression is \x, for x in the range 1-9. Example: If (h.*o) (f.*s) matches "hello folks", \2 \1 would replace it with "folks hello".
[xyz] | A character set. Matches any characters between brackets.
[^xyz] | A negative character set. Matches any characters NOT between brackets including newline characters.
\d | Matches a digit character. Equivalent to [0-9].
\D | Matches a nondigit character. Equivalent to [^0-9].
\f | Matches a form-feed character.
\n | Matches a linefeed character.
\r | Matches a carriage return character.
\s | Matches any whitespace including space, tab, form-feed, etc but not newline.
\S | Matches any non-whitespace character but not newline.
\t | Matches a tab character.
\v | Matches a vertical tab character.
\w | Matches any alphanumeric character including underscore.
\W | Matches any character except alphanumeric characters and underscore.
\p | Matches CR/LF (same as \r\n) to match a DOS line terminator.

Note - ^ refers to the character '^' NOT Control Key + value.

Examples:

m.n matches "man", "men", "min" but not "moon".

Te+st matches "test", "teest", "teeeest" etc. BUT NOT "tst".

Te*st matches "test", "teest", "teeeest" etc. AND "tst".

[aeiou] matches every lowercase vowel

[,.?] matches a literal ",", "." or "?".

[0-9a-z] matches any digit, or lowercase letter

[^0-9] matches any character except a digit (^ means NOT the following)

You may search for an expression A or B as follows:

"(John|Tom)"

This will search for an occurrence of John or Tom. There should be nothing between the two expressions.

You may combine A or B and C or D in the same search as follows:

"(John|Tom) (Smith|Jones)"

This will search for John or Tom followed by Smith or Jones.

If Regular Expressions is not selected (i.e. no usage of Regular Expressions is active) for a find/replace the following special characters are also valid in the Find and Replace fields:

Symbol | Function
^^ | Matches a "^" character
^s | Is substituted with the selected (highlighted) text of the active file window.
^c | Is substituted with the contents of the clipboard.
^b | Matches a page break
^p | Matches a newline (CR/LF) (paragraph) (DOS Files)
^r | Matches a newline (CR Only) (paragraph) (MAC Files)
^n | Matches a newline (LF Only) (paragraph) (UNIX Files)
^t | Matches a tab character

Note - ^ refers to the character '^' NOT Control Key + value.

For information regarding Perl Compatible Regular Expressions please click here.


Reload Open Files on Startup

If this option is checked, UltraEdit saves away information about the open files when UltraEdit is closed. This information is used to automatically reload the files that were open the next time UltraEdit is started. This allows easy reloading of a set of files that are edited on a regular basis. If UltraEdit is invoked automatically for printing, the files are not reopened.


Save As dialog

The following options allow you to specify the name and location of the file you're about to save:

Save In

Specifies the location where you want to locate a file or folder. Click the arrow to select another location, or click on the toolbar to move up levels.

The box below lists the items in the selected location. To save a file using an existing file name, in the Save dialog box, double-click the name of the file you want to save.

File name

Provides a space for you to type the name of the file you want to save. To quickly find a file you've previously opened, click the file name in the drop-down list, if available.

If you are searching for a file, you can use asterisks (*) as wildcards. For example, you can type *.* to see a list of all files. You can also type the full path of a file, for example C:\Mydocs\Letter.doc.

If you are saving a file, you cannot use a question mark (?) or an asterisk in the file name. If you use a question mark or asterisk and click Save, the file will not be saved and the dialog box will not close.

Save as type

Specifies the type of file you are saving: *.*

Line Terminator

Specifies line terminators to be used with file when saved. You may choose DOS/UNIX/MAC format line terminators.

Encoding

Specifies the encoding the file should be saved in. The following options may be selected:

ANSI/ASCII, UTF-8, UTF-16, UTF-8 - NO BOM, UTF-16 - NO BOM, UTF-16 - Big Endian, UTF-16 - Big Endian - No BOM, Unicode ASCII Escaped

Alt. Data Stream

Alternate data streams allow files to be associated with more than one data stream. For example, a file such as text.txt can have a ADS with the name of text.txt:secret.txt (of form filename:ads) that can only be accessed by knowing the ADS name or by specialized directory browsing programs.

Alternate streams are not detectable in the original file's size but are lost when the original file (i.e. text.txt) is deleted, or when the file is copied or moved to a partition that doesn't support ADS (e.g. a FAT partition, a floppy disk, or a network share). While ADS is a useful feature, it can also easily eat up hard disk space if unknown either through being forgotten or not being detected.

This feature is only supported if files are on an NTFS drive.

My Recent Documents

Shows recently opened files and folders

Desktop

Shows the files, folders, program shortcuts, and other items on the desktop

My Computer

Shows the disk drives and hardware connected to this computer

My Network Places

Shows shortcuts to web sites, network computers, and ftp sites


Scroll bars

Displayed at the right and bottom edges of the document window. The scroll boxes inside the scroll bars indicate your vertical and horizontal location in the document. You can use the mouse to scroll to other parts of the document.

The horizontal scroll bar is used to position within the current document. The vertical scroll bar is used to change the horizontal viewing area of the document.

The horizontal scroll bar is not shown if Word Wrap mode is selected.


Scrolling

UltraEdit supports several methods for scrolling. These are listed below:

Vertical Scrolling

Vertical scrolling is performed with one of the following methods:

Vertical scroll bar

IntelliMouse Support

Ctrl+Up/Down arrows for scrolling up to down by one line

Horizontal Scrolling

Horizontal scroll bar


Selecting Text

UltraEdit provides several methods for selecting (highlighting) text. In general, using the Shift Key and cursor keys will select text as will using the Shift Key and mouse positioning.

Additionally, there are several other methods that make it easier to select a range of text.

When the Shift Key is pressed at the same time as performing the following functions the current selection (if present), or a new selection will be extended to select text up to the cursor position following the command:

Find Next/Previous

Goto

Goto Bookmark

The Shift Key should be pressed at the time the action for command takes place, not on the command that shows the dialog. For example, if Ctrl+G displays the Goto Dialog and OK is clicked to perform the Goto, the Shift Key is pressed when the OK is clicked, NOT when the Ctrl+G is pressed to display the dialog.


Set Code Page/Locale

Set Code Page/Locale (Advanced menu)

This allows the user to specify the code page and the locale to be used by certain functions within the editor.

The initial selection shows the current settings. In all previous versions the "'C' Default" locale and code pages were used. These are the default values unless the user specifies something different.

If "'C' Default" is selected, this will apply to both the code page and locale.

If "System Default" is selected, the dialog box will show the actual system default if the dialog is invoked again.

The code page selection is used for conversion to/from Unicode. The locale selection is used specifically if selected with the Sort Function .


Show File in Browser command

Show in default app command (Home tab)

This feature allows the active file to be displayed in the default WWW browser. For this feature to work, the user must have installed a WWW browser and the file types/extensions must be registered in Explorer/File Manager.

When selected, UltraEdit creates a temporary copy of the file and invokes the default browser with this file. The temporary file is deleted when the original file is closed, or if the user invokes the browser again with the same file.

This function uses the Shell Extensions and the default application associated with the extension will be used to show the file. If the extension is not associated with the browser the file will not be shown in the browser.


Silent Installation

Installation Options

Installation of UltraEdit is normally performed by executing the ue_<language>.msi without any parameters. This leads the user through the installation allowing the user to select the appropriate location and options.

In some cases it may be desired to perform a silent installation of UltraEdit to allow automated unattended installations. This is possible using the following syntax at a command prompt:

msiexec /i ue_english.msi /qn

Users may also uninstall UltraEdit silently using the following syntax:

msiexec /x ue_english.msi /qn

The following installation options exist with the current MSI installer:

Install Options

</package | /i> <Product.msi> | Installs or configures a product
/a <Product.msi> | Administrative install - Installs a product on the network
/j<u|m> <Product.msi> [/t <Transform List>] [/g <Language ID>] | Advertises a product - m to all users, u to current user
</uninstall | /x> <Product.msi | ProductCode> | Uninstalls the product

Display Options

/quiet | Quiet mode, no user interaction
/passive | Unattended mode - progress bar only
/q[n|b|r|f] | Sets user interface level n - No UI b - Basic UI r - Reduced UI f - Full UI (default)
/help | Help information

Restart Options

/norestart | Do not restart after the installation is complete
/promptrestart | Prompts the user for restart if necessary
/forcerestart | Always restart the computer after installation


Status Bar

The Status Bar is displayed at the bottom of the UltraEdit window. To display or hide the status bar, use the Status bar command in the Layout tab.

Status Bar Contents (from left to right)

Help Prompts

The left area of the status bar describes actions of menu items as you use the arrow keys to navigate through menus or hover the mouse pointer over menu items. This area similarly shows messages that describe the actions of toolbar buttons as you hover the mouse pointer over them or depress them before releasing them. If, after viewing the description of the toolbar button command you wish not to execute the command you clicked on, then release the mouse button while the pointer is off the toolbar button.

If macro recording is in progress, a red dot and the word "Macro" will be displayed in the right-most portion of this field as well.

Line/Column Number

The line number (if enabled) of the cursor in the file, and the column number are displayed together in a single panel.

The active clipboard is shown in the Status Bar following the Line and Column indicator separated with a comma.

In Hex mode this displays the cursor position in HEX and Decimal values.

Immediately following the Line/Column indicators is an indicator for the active clipboard. C0 indicates the standard Windows Clipboard is active while C1-C9 indicates one of the user clipboards is active (see Clipboards).

File Format (Line Terminator)

The File Format indicates if the file is a DOS file, UNIX file or MAC file.

Encoding Type

The Encoding Type control allows users to change the encoding used to display the active file. This does not actually affect the underlying content of the file. No conversion is done. This merely changes the encoding used to display the file in the editor.

Highlighting Type

The Highlighting Type control allows users to specify what type of highlighting should be applied to the active file if this is not detected by the editor when the file is loaded. If the file extension of the active file matches one of those specified in the wordfile, this field will also indicate the syntax highlighting type (related to the active Language from the wordfile) currently being used.

Date/Time

The date and time the active file was last modified (prior to this session). For new files the date and time shown is the creation date and time. The date format is read from the system "short date" setting. This may be configured with the Control Panel Regional Settings.

File Size

The file size of the active file. The file size is updated when UltraEdit writes any changes to the disk. If a selection is made in the file, this field will indicate the number of bytes/lines selected. For performance reasons, the number of lines selected is not displayed if the total file size exceeds 10MB.

Read Only Status

If the active file is set to Read-Only, R/O will be displayed in this control to indicate this state. If the active file is writable, R/W will be displayed here. Users who wish to protect sensitive documents may click on this control to switch from R/W to R/O and this will prevent editing in the editor until this setting is changed. This does not affect the underlying file attribute unless the option Change file attribute when toggling read-only for active file is selected under File Handling -> Miscellaneous in Configuration.

Insert/Overstrike Status

This control allows users to toggle between insert and overstrike mode. This affects all documents - not just the active document.

Column Mode Status

This control allows users to toggle between column and normal editing modes. This affects all documents - not just the active document.

CAP Status Indicator

The rightmost area of the status bar show CAP if Caps Lock key is turned on. This will be subdued if Caps Lock is turned off.


Strings dialog

The Strings dialog in UEStudio provides a simple method of editing String Tables for the active project. When a String Table resource item is selected in the File Tree View and the Open option is selected from the context menu the Strings dialog is invoked. This will present accelerators in a table listing ID and Key. The Strings dialog includes the following buttons:

OK | saves changes and dismisses dialog
Cancel | dismisses dialog without saving changes
New String | presents Strings Properties dialog for definition of new string. The Strings Properties dialog allows the user to specify two items: ID and Text.
Properties | if a string is selected this button presents the Strings Properties dialog
Delete | deletes the selected string from the list


Synchronized Scrolling command

Sync scrolling command (Window tab)

If this feature is enabled UltraEdit will scroll all windows that are not minimized when any of the windows are scrolled vertically. This allows viewing two (or more) files together without the need to scroll each one individually.

When the user clicks on the vertical scroll bar to provide scrolling, or on the up/down arrows on the vertical scroll bar the windows will be scrolled together.

Additionally if the user uses the Ctrl+Up/Down for scrolling the windows will be scrolled together.

If the user uses the cursor keys to reposition the file the windows will not be scrolled together allowing the user to change position in one file without affecting another file.

Scrolling by dragging the "Thumb" on the vertical scroll bar will attempt to scroll the windows together, however this method on large files may not keep the files synchronized.


Tag List Modify (Tag List context menu)

This dialog allows the Tag List to be modified.

A tag is simply a short string of characters and the name "tag" is used as this feature is commonly used for "HTML Tags".

The purpose of the tag list is to provide a method to easily insert into a document commonly used tags/strings without having to type them.

The filename field must be filled in. This is the file used for storing the tags. A New File may be created or the Browse button may be used to select an existing tag list file.

The tags may be split into groups for association. At least one group must exist to add any tags and this may be defined with the New Group button.

Each tag may have a start and end tag. The tags are entered in the boxes provided and can be inserted to the tag list with the Add Tag button or may be used to Replace the selected tag.

Clicking on an existing tag in the list will fill in the Begin Tag and End Tag boxes for easy modification.

When a new group is added or a different group selected a prompt is issued asking if any changes made should be saved.


Title bar

"UltraEdit - <filename>"

The title bar is located along the top of a window. It contains the name of the application and document.

To move the window, drag the title bar. Note: You can also move dialog boxes by dragging their title bars.

A title bar may contain the following elements:

Application Control-menu button

Document Control-menu button

Maximize button

Minimize button

Name of the application

Name of the document

Restore button


Undo command

Undo command (Quick Access Toolbar)

Use this command to reverse the last editing action, if possible. UltraEdit supports multiple levels of undo (the specific number varies based on the items being undone). Repeated Undo commands will attempt to step backwards through the previous commands and undo one at a time. The Redo command may be selected to redo a command that has been undone. If commands are undone and then a new command is performed, the Redo will no longer allow previously undone actions to be redone.

Shortcuts: CTRL+Z or ALT+Backspace


Vertical Scrolling

Vertical scrolling is performed with one of the following methods:

Vertical scroll bar

IntelliMouse Support

Ctrl+Up/Down arrows for scrolling up or down by one line while leaving the cursor on the current line