it would be nice to have a way for quick change of data representation without having to dig into some settings form each time. For example, numbers can be represented in decimal, hex, octal or binary form, and default could be decimal. It would be nice if I would be able to quickly change representation of a single variable (or even whole data type at once) with something like a simple SHIFT+CLICK which would simply loop through possible representations. That could be used for other data types as well (like single/datetime).
The Context menu now has a "Format" sub-menu that lists some common format settings.
Choosing an entry *copies* the selected setting to the watch. It is the same as making the settings in the properties. So there isn't an "un-select" the entry.
=> If your watch was shown decimal, and you chose "Hex", then it will be shown in Hex. But you don't have an option to "un-hex", you would need to chose "decimal" from the list. (requires the format to which you want to go to be present.
=> Only selected "setting groups" are copied. E.g. you can copy number format, without affecting float format. But if you set "hex" you also set "hex grouping".
=> It does not cycle through options.
=> This also means, that it does not override a "value formatter" if that value formatter is configured to have precedence over the watches own settings.
Otherwise, you can in the watch properties (yes, needs to open the properties) chose a "value formatter" and there are value formatters wich are (just) a display-format.
This list of pre-sets can be configured in Tools > Options > Debugger > Display Formats > Presets.
And there is also a per-project list in the project settings.
--- EDIT: The context presets menu (and properties too), now work for multiple selected watches. However only top-level watches can be changed. Watches in expanded views, always take settings from their top-level watch (this is a todo)
Editor hint.
b) The information len=3 is correct but it is a three dimensional array.
Multiple array dimensions can now be shown. Provided the arrays are directly nested (e.g., *NOT* "array of pointer to array" and *NOT* "array of record foo: array...") and all nested array have the same length (and the debugger has gotten enough data to know those length are all the same)
One more remark. Two dimensional arrays defined as [0..height,0..width] are in Evaluate/Modify displayed as tables. As soon the array is three dimensional it is no longer displayed as a table. Assume the array is defined as [0..2,0..height,0..width] I would expect three tables of width x height. See screenshot.
The level of line-wrapping can now be configured.
- It can be set to a fixed level
- There are some "smart" settings, that prevent multi-line for the innermost data, if that data is simple enough
- presets can be created for different levels and be used to quickly change the level.