Library links

Reference browser

Library blocks and other kinds of Reference blocks are indicated by a reference symbol in the lower left. If you right-click one of these blocks, you will see the Open or compare reference menu item.

Open or compare reference menu item

This opens the Reference Browser.

reference symbol

DiffPlug will automatically search in folders nearby the model file to find an implementation file which satisfies the reference. These will be added to the list of Nearby folders containing implementations.

If DiffPlug isn't finding the folder you requested, click the Browse button to search for other files.

Once you have found one or more instantiations of the library, you can perform any of the following:

  • Open a library block (by double-clicking its entry in the table)
  • Compare different versions of the library block
    • click one library version, then hold control while you double-click the second library version.
    • drag one library version onto another
    • control-click multiple versions, then hold control while right-clicking
    • library block diff menu

Auto open

You might prefer for the implementation to automatically open when you double-click its reference, rather than going through the Reference Browser every time. This can be accomplished using the Auto open list.

If your model has one (and only one) implementation in the folders on the Auto open list, then that implementation will automatically be opened when you double-click it. You can populate the Auto open list by dragging folders to it.

You can export, import, and share your auto open configuration with colleagues. See the config library section of the manual for full details on how to import, export, and share configs amongst team members.

Subdiff

DiffPlug doesn't limit comparisons to only files. You can compare any subsystem to any other subsystem by dragging and dropping one onto the other. Even subsystems within the same file!

That is especially handy when you have refactored parts of a model into libraries. In the following example, jaggedTogether is on the left. Each of its major subsystems has been refactored into a separate library in jaggedSplit on the right.

Together vs split

When you open the Reference Browser in this scenario, there are a few interesting options.

Together vs split