I have previously written about using the Find Usages Settings action to find examples of MPS concepts. Sometimes you want to find instances of a particular concept that also use a particular feature. In this case searching by concept alone is not specific enough.

Let’s say we are looking at the TestCase concept from KernelF.

We get curious about the setup block, highlighted on the screenshot above, and want to find an example of its usage.

This is a rarely used feature, so if we search for instances of TestCase, we are likely to find many test cases but most of them will not be using setup.

Sometimes, looking for the target concept of the link might help. But BlockExpression is a frequently used concept with lots of instances that occur outside of test cases.

Instead we can look directly for link instances of setup. To do that, we select the link name (setup), invoke the Find Usages Settings action by pressing Ctrl/Cmd+Alt+Shift+F7, and check the Link Instances checkbox in the dialog:

In the end, there turn out to be no instances of test cases with setup blocks in the entire KernelF project. This is unfortunate, but at least we find that out in a few seconds, rather than after checking out each of the 431 instances of TestCase in that project.

PS: This e-mail was inspired by a question that was asked by one of my clients. Get answers to your MPS-related questions with a guaranteed response time.