Delphi Programming

The Delphi IDE has got a special menu called Tools. This menu by default contains several entries like

  • Options
  • Repository
  • Configure Tools ...
  • License Manager
  • Quality Central

The first three of these entries are static. The last two call external programs and are preconfigured by the installer.

In addition, 3rd party IDE extensions might add their own entries to the Tools menu. Also, using the Configure Tools option, you can add your own entries to this menu.

As an example we will add an Explore Project Directory entry, that opens the Windows Explorer showing the directory that contains the current project's .dpr file:

  1. Click Tools / Configure Tools ..., the Tool Options dialog is displayed
  2. Click Add ..., the Tool Properties dialog is displayed
  3. Enter "Explore Project Directory" as the Title
  4. Enter "explorer" as the Program
  5. Leave the Working dir empty
  6. Enter /select, $PROJECT) as Parameters (Note the space character after the comma!)
  7. Press OK

Add a Explore Project Dir tools entry

The Tools menu now contains a new entry Explore Project Directory. If you click it while a project is open, it will open the Windows Explorer and show the directory that contains the project's .dpr file. If no project is open, it will show you "My Documents" directory.

Simlarly you can create an entry to browse the directory of the current editor file: Explore Editor File Dir

Both entries will not only show the directory containing the file in the Explorer but even select that file so you don't have to search it.

The custom entries of the Tools menu are stored in the Registry in


Where <company> is one of Borland, Codegear or Embarcadero and <version> is the version number of Delphi or BDS


  • Delphi 7:


  • Delphi 2005:


  • Delphi 2007:


  • Delphi 2009:


  • Delphi 2010:


  • Delphi XE:


  • Delphi XE8:


  • Delphi 10.0


  • Delphi 10.3


Unfortuntately there is no builtin option to export and import them, e.g. to transfer them to another installation or a different Delphi version. Also, the format of these entries has changed over time.

Originally there used to be a Count value giving the number of entries and string values Title<n>, Path<n>, WorkingDir<n> and Params<n> for n=0 to Count-1. Note that Count is not always a REG_DWORD, sometimes it is stored as REG_SZ instead.

With Delphi 2009 this changed to have sub keys instead and a string value Order that stored the order of these entries. All IDE versions have since supported both formats, but if the user changes the tools menu using the built in dialogs, all entries are converted to the new format. If a sub key is not listed in the Order string, it will be shown at the end of the list.

←==See also==