Posted by & filed under Announcements.

Sharing your Understand project definitions with your team members saves them from needing to setup all of the include paths, macros, file paths etc. An easy way to do that is by adding the project files to your version control system. However in the past the file size and frequency of change made it a little tricky. Now we’ve added new type of Understand project file that makes this a lot easier – the *.udx settings file. The udx settings file saves the project settings but none of the parse information, so it stays slim, trim and easy to share.

udx superhero

file size compareEverything about a project is stored in the udb project file, the project settings along with all of the details from the analysis. The new udx configuration files live side by side with the udb file and share the same name. As you can see there is a  substantial size difference.

These udx files can be read from and written to manually or automatically, whatever works best for your team.
manual import/export options


The File menu has a new Export/Import option that lets you manually write/read the project settings to/from the udx file for the currently opened project. There is also an option under the New menu for creating a new project file from a udx file. Note that the udb file is always created next to the udx file specified. The two files always need to be paired together.


The options to automatically use the udx files are located in Tools->Options->General. If “Read” is checked then whenever the udx file is modified Understand will prompt you to reanalyze your project with the new configuration settings. If “Write” is checked then whenever the project configuration is changed then the .udx file will be updated to reflect those changes.

automatic options


As a possible use case let’s say you are the guru who sets up projects for everyone else and you want to setup a new project and share it with your team using git.

  1. First, configure your project to your liking. Here are some tips for creating: accurate C/C++ projects, accurate Java projects.
  2. When sharing a project file, always make sure you have the correct portability options set so the files align on each users environment. I prefer to setup my project in the root directory of my source code and use relative paths.
  3. Next go into Tools->Options->General and enable the “Write .udx export files automatically”option. This will create a new .udx file in the directory with the .udb file. Alternatively you can do it manually using the File->Export command
  4. As a one time change add these lines to your .gitignore file to ignore the bigger udb files
    # Understand project files
  5. Add the .udx file to git, then commit and push.  Now whenever the other engineers pull the latest source they will get your udx settings file. Whenever you need to change the project configuration just commit the changes to this file as you would any other source file.
  6. To create a new project with it the other engineers need to run git pull and then double click on the udx file or open Understand and select File->New->New UDX Project. That project will then stay up-to-date whenever they update git.