Entrian Solutions

Entrian Inline Watch 0.9.5: More powerful accessor display

Sunday, October 18th, 2015 by Richie Hindle
I’ve just released Entrian Inline Watch 0.9.5, with these fixes and features:
  • Accessor Method rules are now as powerful as Object Display rules, eg. Rect->Width() can be defined as {right-left} and display the calculated value (thanks, Martin).
  • Increased the default size limit of values, from 15 to 20 characters.
  • More compact default representation of single-value objects: {m_SomeMember=”Some string”} truncates to {“Some string”} rather than {m_SomeMe…string”}
  • Fixed an intermittent startup crash when the beta expiry date had passed.

As always, this new release is available from the download page or the gallery.

Update: 0.9.6 fixes a bug whereby the crash dialog could crash.  (Did I really just admit to that?)


Entrian Inline Watch 0.9.3: Template support; Optional raw pointers

Tuesday, October 13th, 2015 by Richie Hindle

I’m very pleased to announce Entrian Inline Watch 0.9.3, which introduces two new features:

  • You can now set Object Display rules for C++ template types, for instance for std::list you can set up a rule like this:

    std::list   \{size={_Mysize}\}

    to display the size of all std::list<whatever> objects like this: {size=10} (Thanks, Martin and Daniel)

  • The display of values for raw pointers in C/C++ is now optional – when there’s no Object Display rule configured for a type, and no sensible default value to display, you can choose whether to display the raw pointer value or nothing (thanks, Daniel).

Update: 0.9.4 adds C++ template support to Accessor Method rules as well as Object Display rules.

You can download the new release from the download page or the gallery.

Entrian Inline Watch 0.9.1: Less clutter, fewer bugs

Monday, October 5th, 2015 by Richie Hindle

(If you’re new to Entrian Inline Watch, check out the intro page!)

I’m pleased to announce Entrian Inline Watch 0.9.1, which fixes the following bugs:

  • Parameter values are now displayed properly for functions with a throw() signature (thanks, Martin).
  • Where there’s no Object Display rule for a class, and the debugger’s default value looks like {ClassName}, don’t clutter the code with it (thanks, Jan and Martin).
  • Commenting out a line in the Object Display settings no longer affects the layout of the columns.

You can download this new release from the download page or the gallery.

(Update: version 0.9.2 also updates the Beta expiry date. :-) )


Entrian Source Search 1.5.4: Sorting bug fixed

Thursday, September 24th, 2015 by Richie Hindle

I’ve just released Entrian Source Search 1.5.4, which fixes a bug introduced into 1.5.3 – changing the sort order of the search results was broken.  Duh.  (Thanks, Martin!)

Download from the download page or the gallery.


Entrian Inline Watch 0.8.9: Hide values for given types; other fixes

Friday, September 18th, 2015 by Richie Hindle

I’ve just published Entrian Inline Watch 0.8.9, with these enhancements:

  • You can now suppress the display of values for a type, by entering a blank format for it in the Object Display settings.
  • When an accessor expression like p->get_x() doesn’t render a value, a value is now displayed for p (thanks, Martin).
  • Values are now correctly rendered for pointers to pointers (to pointers to pointers to pointers…) (thanks, Martin).
  • Fixed an intermittent crash that was due to Visual Studio firing debugger events re-entrantly (yeah, thanks, Visual Studio :-) )

You can download the new release from the download page or the gallery.


Entrian Inline Watch 0.8.8: Better object expressions

Saturday, September 12th, 2015 by Richie Hindle

I’m pleased to announce Entrian Inline Watch 0.8.8, with the following enhancements:

  • Object expressions can now follow references, eg. {m_x.y->z} (thanks, Martin).
  • If Inline Watch crashed, it could produce a crash report with no meaningful stack trace (thanks, Chris).
  • Object expressions can now special-case nullptr, eg. {p_str == nullptr ? "No!" : p_str} (thanks, Martin).
  • Fixed a bug whereby in a scope with lots of variables, the last few to be evaluated might not be displayed.
  • For pointers to objects, if there’s nothing meaningful to display for the object, display the pointer value rather than nothing (thanks, Martin).
  • Expressions of the form x.y - (z) now display the value of x.y properly (thanks, Martin).

You can download the new release from the download page or the gallery.


Entrian Inline Watch 0.8.6: More object formatting power!

Friday, August 14th, 2015 by Richie Hindle

I’ve just published Inline Watch 0.8.6, which includes this new feature:

  • You can now control the maximum length of the displayed values

and a bunch of features related to custom formatting of object instances:

  • Integer arithmetic in object formats, eg. {right-left} to display the width of a rectangle
  • Pointer arithmetic, eg. {m_str+4} where your string actually starts at an offset
  • Array indexing, eg. {m_arr[N]} where you want to display the N’th member of an array, where N can be a literal, {m_arr[4]} or another member, {m_arr[m_index]}
  • Specifying the length of a string (when your string is long, or not null-terminated), again with a literal, {m_str,8}, or another member {m_str,{m_len}}
  • Displaying braces now requires them to be backslash escaped – see the next example:
  • Force hex or decimal display in object formats, so if you always want your Point instances to be displayed in decimal like this: {50, 100} even if the Visual Studio debugger is set to hex display, you can say \{{m_x,d}, {m_y,d}\}. Use an x to get hex display.

Here’s an example that demonstrates some of these features.  (It’s based on a customer example – they have a C++ string class whose string buffer includes a leading reference count, and is not NUL-terminated but instead has a length member.)

struct Formatting
  const char *s;     // 4-byte refcount then an unterminated string.
  int len;           // Number of chars in the string, counting from s+4.
  const char *a[3];  // An array of three C-style strings.
  int current;       // Which of the three strings is the 'current' one?

    s = "\x1\x2\x3\x4TextGARBAGEGARBAGE...";
    len = 4;
    a[0] = "Zero";
    a[1] = "One";
    a[2] = "Two";
    current = 1; // "One" is the string to display.

With an object formatting rule like this:

\{{s + 4,{len}}, {a[current]}\}

a Formatting instance displays like this: {“Text”, “One”}

You can download the new release from the download page or the gallery.

Entrian Source Search 1.5.3: VS2015, Preview Tab, High-Contrast Theme, Bugfixes

Tuesday, August 11th, 2015 by Richie Hindle

I’m pleased to announce Entrian Source Search 1.5.3:

  • Support for Visual Studio 2015 is now out of Beta status – many thanks to those that tried it out during its Beta period.
  • All the Source Search commands now have toolbar icons in the “Customize” dialog of Visual Studio 2015, where previously some of them had blank icons.  Also note that the Source Search commands are under the “Tools” category in VS2015 rather than “Addins”. (Thanks, Hans-Peter).
  • Preview Tab support: If you’ve enabled “Allow new files to be opened in the preview tab” then Source Search will now respect that (thanks, Martin and Mike).
  • Indexing performance: The initial scan of your solution when you open it in Visual Studio is now more efficient, and has less impact on your PC’s performance (thanks, Frederic).
  • High contrast theme support: Source Search now works properly with the Windows High Contrast theme (thanks, Martin).
  • The Autosuggest dropdown no longer stops working after you reload a solution without closing Visual Studio (thanks, Daniel).
  • Bugfix to shared indexes: when you have two instances of Visual Studio open, each with a different solution open but sharing the same Source Search index, changing the options in one instance now also applies your changes to the second (thanks, Chris).
  • When you restart Visual Studio, the Source Search tool window reappears correctly (thanks, Huy).
  • It’s no longer possible to accidentally remove all inclusion patterns from your index settings, and therefore have an index with no files in it (thanks, Mark).

Entrian Source Search is a free upgrade to all licensed users, and a 30-individual-day trial for everyone else.  You can download it from the download page.


PS. Have you seen Entrian’s new product, Inline Watch? It displays the values of variables inline in your source code, updated live as you step through your code.  If you’ve ever used the Visual Studio debugger, I think you’ll like it:

You can read all about in on the Inline Watch homepage.  I’d love to hear your opinion!