Sometimes you ‘inherit’ code that may not be as “pretty” as you would like it, but taking the time to fix these little things could be very time consuming. Understand helps with a ‘reindent’ option and a ‘sort’ option.
Here you can see that these lines are not lined up like most of us would like.
The quick fix is to highlight the text and select ‘Reindent Selection’.
The results are quick with a correctly indented piece of code.
Sometimes we just want a little organization and want things to be alphabetized. Highlight the text, right click and select ‘Sort Selection’ in the context menu.
The result is an alphabetized list that can make the pickiest person happy.
Having customized work space can be essential in improving work flow. Going beyond selecting what windows to show, Understand provides the flexibility to “release windows” and place them where they will work the best for you! The possibilities are endless, but here are a few examples.
Above is a “dual screen” version and below is a single screen version.
To use the “released windows”, click on the icon at the top right.
To release the editor windows, right click on the file name and select ‘Release Window’ in the Context Menu.
If you decide that the “released windows” is not for you, but “putting it all back” may be time consuming, there is an option under ‘Window->Predefined Windows Layouts’ to get you back quickly.
Have fun and enjoy your new work space!
Sometimes we just want to see multiple things at once, and our editor window allows for just that!
Clicking the icon in the top right corner of the editor window provides a “split” window feature that
allows you to see the same file multiple times.
Each different section can be scrolled individually and the height can be changed if you
need to see more of one section than another.
Now it gets even more cool… using the icons at the top select the icon to ‘split vertically’.
Now you can see the source file and the companion header file that goes with it. Since the source file is quite long I still want to see different areas of the same file, so I remember to use the horizontal split that we just discussed.
Giving me a very custom view of exactly what I want to see!
Have you ever wanted to highlight an entity and then highlight a different entity but not lose the highlighting on the first? With the ‘Toggle Persistent Highlight’ key binding option that has recently been added to Understand, up to 4 different entities can be highlighted at the same time.
To use this feature, go to Tools->Options->Key Bindings and Search By Name for ‘highlight’. Assign a Primary Sequence to the ‘Toggle Persistent Highlight binding and Apply. Then, in the editor, highlight an entity, use the binding and it will highlight all entities that color. To apply the next highlight, repeat the steps and the next color isused. To remove one of the highlights, select a highlighted entity and use the key binding again. To remove all of the highlighted entities at one time, assign a Key Binding to the ‘Clear Persistent Highlights’ binding in Tools->Options->Key Bindings.
Whether you just started a new job, inherited someone else’s project, or just have a lot of code to navigate, Understand has a lot of features to help you figure out a new or confusing project.
These graphs provide a quick way of seeing how the major code directories are related to each other. In this case I can easily see that the directories “common” and “ri” are important and used by almost everything. The dependency graph lets you drill down to the class and function level and filter out things you aren’t interested in, making it a great tool for exploring.
UML Class Diagram
A quick way to see how the different classes in the project are related.
Complicated functions can make more sense when you can walk though the control flow logic visually.
Imagine browsing the source for a function and running across an unfamiliar variable, what is it, where was it defined, is it global or local? The Info Browser was made to answer questions like that. While not as pretty as the graphs, the Information Browser (IB) is probably the most powerful feature of Understand.It displays almost everything Understand knows about the selected entity: the initial value, relationships to other entities, everywhere it is referenced, sub-entities, basic metrics, etc. Just right click and select View Information on just about anything.
Contextual Information Sidebar
The Contextual Information Sidebar(CIS) updates dynamically based on where focus is in the editor, showing pertinent information about the surrounding structures and entities. It provides a quick heads-up display to provide context on whatever you are looking at.
If you’re exploring more than writing code, browse mode can save you a few mouse clicks, it changes entity names in the editor to hyperlinks that update the Info Browser and jump to the definition of the clicked entity.
As you make sense of the code, you may want to make notes on what you’ve learned. Annotations lets you make notes on entities without modifying the source code. You can choose to share those notes with others on your team or keep them private. Annotations are displayed inline with the code as well as in the Info Browser. That can also be displayed as a list and searched so you can quickly find the the right note.
There are many other features in Understand that may prove helpful in your situation, for a more detailed feature overview see this video.
You can grab a fully functional eval version of Understand and get started now!
We finished our official testing this morning and are happy to announce support for Windows 8.1. Our testing was done with Understand 3.1 build 694 – however earlier builds of Understand will probably work just fine.
Diving into the API documentation can be a little overwhelming, so here is a collection of tutorials to get you started.
With build 642 we’ve added an awesome new feature called Background Parse. It is designed to let you get right to work on your project as soon as Understand opens, instead of needing to wait for the parse. Right away you’ll have access to the Project Browser and Editor windows, and as soon as the parse is finished, everything else will be available.
Other features added since the release of Understand 3.0:
Added build system monitoring with buildspy
Added support for Windows 8
Improved project building capability
Improved Visio Export
Added ability to annotate code
For those that like to live on the bleeding edge, we have tested Understand 3.0 with Windows 8 and they are fully compatible. You can grab the latest build of Understand here.
We are happy to announce support for directly exporting graphs to a Visio compatible file.
In the past we have used the Visio API to export Understand’s graphs to Microsoft Visio. Understand would attempt to launch Visio and use the API to interactively draw the graph in Visio. There were several problems with this approach, the nodes and arrows of the graphs were not adequately connected, and in some cases the API would refuse to launch Visio. Of course this approach also required that Visio itself be installed on the same system as Understand.
Some graphs also have an option to export to the graphviz .dot format. This option is only available to newer graphs that are generated using the graphviz engine in Understand. Some older graphs use a different layout engine so that option is not available for them.