A collection of tabs/open files is a workspace
, i.e. only the *.pui
file is really used and the *.prj
file does not contain relevant data.
is more than a workspace. A project consists of one or more folders with specific filters or groups with manually added files or at least some files as defined in Project Settings
dialog. See also forum topic How to create project from an existing directory tree?
The Find in files
and Replace in files
feature have the item Project files
which searches/replaces in all files of a project independent on being currently opened or not. On right clicking into Function List
view and left clicking on List for all project files
UltraEdit searches all files of a project for function strings and display them all in function list instead of just the functions in active file.
The tab Project
on File View
lists all project files as defined in Project Settings
dialog independent on being opened or not. The tab Open
shows just the opened files. The context menu on right clicking on an item on tab Project
on File View
has several commands depending on which item was clicked, the project name at top, or a project folder, or a project group, or a project file.
On using a project with project folders/groups and files it is possible to use the Ctag
feature which searches in all project files for symbols (classes, functions, macros, variables, type definitions, structures, ...) and creates a symbol database for the project which is used on having caret set on a symbol like a function and execute (by hotkey in my configuration) now the command Find symbol
to jump to the line containing the definition of this function even if being in a different file not yet opened. UltraEdit opens in this case the other project file and sets caret to line of the symbol (function, macro, ...) definition. This is a feature I really don't want to miss on working with projects. The jump back to initial position is done with the command Go to previous position
(executed by hotkey).
In Project Settings
dialog it is also possible to configure a project specific template file which contains the definition of smart templates for fast inserting them in a project file. That feature makes code writing much more efficient on having such a template file once defined for a project.
In Project Settings
dialog it is also possible to specify a wordfile used instead of the standard wordfiles. This feature is useful for me as I write code for different firmwares for different controllers and processors. So I do not have only a general C/C++ wordfile, but also controller/processor/compiler specific C/C++ wordfiles used for the various projects.
And there are even more project related features which I do not want to explain here all.
I must add that I'm using nowadays mainly UEStudio for projects as it has even more project related features than UltraEdit. But I have still some old projects setup before UEStudio was released the first time which I have never migrated to UEStudio and on which I still work from time to time with UltraEdit when it is necessary to make a code change in the old firmwares managed with this old projects.
So a project
is really much more than a workspace