You use two or three parallel running instances of UltraEdit with their own application windows but sharing all the same
configuration settings as stored in the file
%APPDATA%\IDMComp\UltraEdit\ue.ini and the same
workspace settings as stored in the directory
%APPDATA%\IDMComp\UltraEdit\volatile in the files:
- ue.in0 … layout settings like which views are visible in which window mode (docked, floating, auto-hidden on docked) with their window positions and window sizes (and the list of last search strings on using toolbar/menu mode with the search bar in a toolbar).
- ue.rb0 … ribbon settings with the data about the ribbon tabs and their groups and commands.
- ue.vod … volatile data settings with the information about the opened files, their window mode, the position and size of all document/file windows, the caret position in each file, saved bookmarks, if a workspace/project is opened and which one, favorite files list, file descriptions and file types, various histories like find/replace histories, recently opened/close files history, user tools and scripts list, etc.
All for files are plain text files and can be viewed in UltraEdit. But it is not advisable to edit them with UltraEdit.
UltraEdit on start reads the
configuration settings once from
ue.ini and updates them on exit on being changed during the execution of the UltraEdit instance. In most cases a change in the configuration settings dialog window is applied immediately to the running instance but not saved immediately after closing the configuration dialog. Most configuration settings are saved later on exit of the UltraEdit instance. The last exited UltraEdit instance determines therefore the configuration settings as stored in
ue.ini. It is recommended to change settings in configuration only on having just one instance of UltraEdit running and exit UltraEdit after closing the configuration dialog window to get the changed configuration saved for all instances of UltraEdit started in future.
The same behavior is used by default for the
workspace setting files which are also read once from directory
volatile on start and are written back on exit. But there is a difference regarding to the files
ue.in0 and
ue.rb0. The second started instance creates copies of these two files in the directory
volatile with the names
ue1.in0 and
ue1.rb0. The third started UltraEdit instance creates again copies of
ue.in0 and
ue.rb0 with the file names
ue2.in0 and
ue2.rb0. I do not know the reason for creating the copies. I have never tried to find out the reason by myself or asked UltraEdit support for the reason.
The files
ue*.in0 and
ue*.rb0 are automatically deleted on exiting the second or third instance. But there is an exception. The files with an instance number of a running instance are not deleted on exit of the second still running instance and there are not even more instances.
Example 1: There are started three instances and resulting in the files
ue.in0,
ue.rb0,
ue1.in0,
ue1.rb0,
ue2.in0,
ue2.rb0. There is exited first the second instance. The files
ue1.in0 and
ue1.rb0 are automatically deleted. Then the former third now second running instance is exited. The files
ue2.in0 and
ue2.rb0 should be deleted but remain in directory. Then the first and now last running instance is exited updating the three workspace setting files
ue.in0,
ue.rb0,
ue.vod.
Example 2: There are started three instances and resulting in the files
ue.in0,
ue.rb0,
ue1.in0,
ue1.rb0,
ue2.in0,
ue2.rb0. There is exited first the third instance. The files
ue2.in0 and
ue2.rb0 are automatically deleted. Then the former second and now still second running instance is exited. The files
ue1.in0 and
ue1.rb0 should be deleted but remain in directory. Then the first and now last running instance is exited updating the three workspace setting files
ue.in0,
ue.rb0,
ue.vod.
I
suppose that the not done deletion of
ue*.in0 and
ue*.rb0 on exiting the second still running instance is a bug which I honestly have never reported to UltraEdit support by email as it does not really matter.
For use cases like yours with permanent use of multiple instances exists the configuration setting
Store separate layouts and customizations for multiple instances at
Advanced - Settings or Configuration - Application layout - Advanced. Start just one instance of UltraEdit, check this configuration setting, close the configuration window, and exit UltraEdit. Now the configuration setting is stored for all instances of UltraEdit started in future.
The files
ue*.in0 and
ue*.rb0 are no longer deleted on exit of second and third instance. The second and the third instance also do not longer read on start the layout and ribbon settings from
ue.in0 and
ue.rb0 but from the appropriate instance number related layout and ribbon configuration file. That is good for you if you want to use different layouts for each instance and different application window positions on your screens for each instance of UltraEdit.
But there is one problem left: The volatile data settings file
ue.vod is not instantiated by UltraEdit. The information about the opened files is still stored by all instances in that file and is still loaded from that file by all instances of UltraEdit on start. That is not good for you as you want to have an individual list of opened files for each running instance of UltraEdit.
However, there is a solution for such use cases by using additionally to enabled configuration setting
Store separate layouts and customizations for multiple instances with using projects/workspaces and custom created shortcuts for starting an instance of UltraEdit with a specific project/workspace file.
You must first create the two or three projects/workspaces with the set of files you want for each project/workspace. But you should first configure some configuration settings related to project/workspace management in the configuration dialog window at
- File handling - Advanced the settings Save project information for use on multiple systems (my recommendation for you: checked) and Store project user interface (pui) files in profile directory (my recommendation for you: not checked),
- File handling - Miscellaneous the setting Close all files when opening or switching projects (my recommendation for you: checked),
- Editor display - Miscellaneous the setting Display full paths in project list (better checked if the opened files in a workspace are not all in same directory tree, i.e. the files are not really project files),
- Application layout - Advanced the setting Display prompt when opening read-only project (most likely not relevant for you, but listed here for completeness),
- Toolbars / menus - Miscellaneous the setting Number of projects in Recent list (the value 4 should be enough for you),
- Directories the setting Default project file directory (if the project files (*.prj) and the project user interface files (*.pui) are stored by you all in the same directory).
Read the
help for those settings for more details are ask for clarification here in user-to-user forum. The first two settings are most important. There are forum topics explaining these two settings in details.
Note: The instance of UltraEdit used to set these configuration settings must be exited last!
Then create the projects/workspaces:
In ribbon mode click on ribbon tab
Project in first group
Project on the first text item
New project. In toolbar/menu mode with contemporary menus click in the menu
Project on the third menu item
New project. In toolbar/menu mode with traditional menus click in menu
Project on the first menu item
New project/workspace. Browse to the directory where to store the project file (
*.prj) and depending on the configuration also the project user interface file (
*.pui). Then enter a meaningful project/workspace name and click on the
Save button. There can now be added files or folders to a project. Those files are interpreted as project files. But there can be just opened some files without explicitly adding them to the project as project files. Such files are just workspace files. That is the difference between a project and a workspace. A project has added project files and folders to be opened from the
Project view. Find and replace in files can be executed on project files without being opened in UltraEdit. The symbol parser can scan for symbols (functions, macros, type declarations, etc.) in all project files even on not opened in UltraEdit. The function list view can display not only the functions in the currently viewed/edit file but also the functions in all project files. A workspace is just a set of open files. Closing a file in a workspace removes the file from the workspace.
The project file
*.prj stores the information about project files and folders and some other project related data. In case of using just a workspace it is a more or less empty file. The project user interface file
*.pui stores the information which files are opened in which order with which document window mode with their window sizes and positions, the positions of the caret in each window, the saved bookmarks (on saving bookmarks is enabled), etc. The
*.pui file is the most important file for your use case with multiple instances of UltraEdit each with a set of open files. Once all files of a workspace later loaded in an instance of UltraEdit are opened, close the project/workspace.
Redo the process of creating a new project/workspace, adding files/folders to the project or just opening files for the workspace, and closing the project/workspace until have the three projects/workspaces you want to work with in future.
Now must be created the shortcuts to start UltraEdit with opening a project/workspace. Right click on the UltraEdit shortcut usually used by you to start UltraEdit on your desktop or in the Windows start menu and click on the context menu item
Open file location. There is opened
Windows Files Explorer with the directory containing the shortcut file. That is usually
%USERPROFILE%\Desktop (current user desktop) or
%PUBLIC%\Desktop (all users' desktop) or
%APPDATA%\Microsoft\Windows\Start Menu\Programs (current user start menu) or
%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs (all users start menu). You must have with your current user account local administrator privileges if the additional shortcuts should be created in the all users desktop or all users start menu folder.
Create two or three copies of the shortcut file
UltraEdit.lnk. The file extension is not displayed by Windows default. Rename the additional shortcuts to something meaningful for you. I recommend naming the shortcuts identical to the projects/workspaces created before. Then right click on each additionally created shortcut file, click in context menu on
Properties, modify the property
Target by appending a space and the option
/fni (force new instance) and one more space and the fully qualified file name of the
*.prj enclosed in double quotes on full project file name contains a space or one of these characters
&()[]{}^=;!'+,`~ in directory path or file name, close the
Properties window of the shortcut. You should finally have two or three shortcuts with appropriate name starting a new instance of UltraEdit and opening a project with opening the files as stored in the related project user interface file.
There is of course no association between shortcut file and instance of UltraEdit. You must take care to always start first UltraEdit without opening a project/workspace and next use the shortcut to start the second instance with project/workspace A and then use the shortcut to start the third instance with project/workspace B and so on.
If the layout and application window size and position of each instance of UltraEdit is not important, then the shortcuts can be used in any order to start UltraEdit without or with opening a project/workspace.
I also use multiple shortcuts each starting UEStudio with a specific project. I have disabled in UEStudio the configuration setting
Save state at
Advanced - Settings or Configuration - File handling - Session options for that reason. The shortcut UEStudio starts UEStudio without opening files except a single new, unnamed file (according to a configuration setting). The other project shortcuts start UEStudio with a project file specified on the command line (shortcut property
Target). I have assigned a shortcut key to each project shortcut in the subdirectory
Projects created by me in the directory
%APPDATA%\Microsoft\Windows\Start Menu\Programs. I can therefore start UEStudio with opening a project at any time from within any application by just hitting the shortcut key on the keyboard without opening the Windows start menu at all, looking for the shortcut in
Projects, and clicking on it.