Goodies 39: Tooltips for Script Debugger

When using other development tools, we frequently have a feature to inspect values for variables or fields. Just move the mouse over the variable or field and see what's inside. This is very convenient for debugging a script to quickly see values, especially if all the local variables and object properties don't fit a single variable viewer window.

We got an idea for FileMaker. The macOS NSView class allows an application developer to register a function to provide a tooltip on demand. Instead of filling tooltips earlier, you can later decide on the value and generate it on the fly.

To implement tooltips, our plugin registers for providing tooltips. When you move mouse over the text lines, the plugin is called and asked for the tooltip text. We then look on the mouse position and what text is below the mouse position. This text is scanned for a word to left and right. We look for double double colon "::" and for one or two $ signs. If we have a text starting with $ or text::text, we evaluate this and see if FileMaker can provide us a value. If we have a value, we show the content in the tooltip. This includes the data type, so you can distinguish a text containing a number from a pure number.

Please notice that we evaluate in the current context, so we get current value, not a value from past. And we don't support field or variable names with spaces inside. There may be other characters we incorrectly recognize as being part or not part of an identifier. Let us know if you find a bug.

This feature is available for macOS in MBS Plugin. The current value of a variable or field can be copied with the contextual menu.

Caveat

All our changes to FileMaker Pro move the experience more from low code to pro code category. We provide improvements for the power users to better work in FileMaker. Since we provide the features from outside, we are limited in various ways. For example FileMaker internally knows better about what variables or fields are used and could provide this more efficient. Of course we would enjoy if Claris implements a few of the features into the product. But for the time being, we are happy to help and encourage everyone to try our features. And for the case there will be problems with future versions, we provide a checkbox in preferences to disable the changes.


Copy calculation 39 Brackets Highlighting