PlistEdit Pro Help
Managing installed structure definitions
Structure definitions were introduced by Xcode 3.0 and are implemented as Xcode plugin files. Initially, these were plain XML files with a .xcodeplugin file extension, but then starting in Xcode 5, they changed to being full fledged code bundles with an extension of .dvtplugin. PlistEdit Pro supports both types of plugins, but can only read .dvtplugin style structure definitions, whereas it can both read and write .xcodeplugin style definitions. This means that definition files that ship with Xcode can be used by PlistEdit Pro, but not vice versa. Xcode stores its structure definition plugins inside the Xcode.app application bundle, in Xcode.app/Contents/PlugIns.
PlistEdit Pro ships with several of its own built-in .xcodeplugin structure definitions which are located inside its own application bundle. These structure definitions will only show up in PlistEdit Pro, and not Xcode. PlistEdit Pro will also read definition files from ~/Application Support/PlistEdit Pro/Structure Definitions, which will be used as the default save location for new definition files created by you.
You can see what structure definitions you have installed by selecting Definition > Manage Definitions from the menu bar.
 All installed structure definition plugin files will be displayed in the list on the left. Note that a single plugin file can contain multiple definitions. Structure definitions are read from three places:
- Xcode builtin These are the definitions that ship inside the Xcode app bundle itself. If you have multiple copies of Xcode installed, PlistEdit Pro uses xcode-select to determine which version of Xcode to read definitions from. You can view the Xcode builtin definitions, but PlistEdit Pro does not allow saving changes to these plugins, since doing so could break Xcode’s code signing. You can, however, make a copy of one of these plugins in the User area and use your own edited version instead.
- PlistEdit Pro builtin PlistEdit Pro also includes a handful of its own builtin definitions that are stored inside its app bundle. These may come in useful to some users, and also serve as examples of how to create a plugin for a custom plist type. These files also cannot be edited directly.
- User You can create and use your own structure definition plugins and save them in ~/Application Support/PlistEdit Pro/Structure Definitions to have them show up in PlistEdit Pro.
Selecting a file on the left will show all the definitions contained in that file on the right. Each definition can specify one or more simple expressions that say what file extensions and/or names plists for that definition are typically saved as. When you open a file that matches one of these expressions, PlistEdit Pro will automatically use the first definition it finds that matches the filename of the plist you opened.
Note that if more than one copy of a particular structure definiton is present (based on the “identifier” field of the definition), PlistEdit Pro will only list one copy of the structure definition. Definitions installed in the user’s home folder take precedence over PlistEdit Pro built-in definitions, which in turn take precedence over Xcode built-in definitions.