A few days ago I suggested: https://forum.mendix.com/link/ideas/794
Nikel suggested the function instead of an attribute compare I decided to try out some things to understand my preferences.
The feedback that follows is a result of these tests and the resulting extra insights.
Whenever I'm typing an object + attribute compare and start typing the letter "e" and press Ctrl+space, the suggestion for "empty" is only available after having already typed "empt" whereas I get suggested all the system entities first which start with a $, this makes little sense to me. empty is the only comparison value that starts with an e.
Also it will show enumeration names starting with an E, but we're not comparing to an enumeration.
There is the function endsWith() that starts with an e. But this shouldn't be suggested in this case as the value of the attribute is a string value, and it is followed by an "=", which automatically means you want to compare to a string, endsWith() returns a boolean. The likeliness of wanting to do this comparison is extremely low, without first using toString()
What I'm suggesting is that the auto-completion after Ctrl+space could be far more accurate if the editor checked the type before or after an operator usage. And also prioritized startsWith > over contains in the autocomplete results.
I reckon the amount of keystrokes required to get to $entityName = empty could be reduced from
1. $ 2. FirstLetterOfEntity 3&4. Ctrl+Space 5. = 6. e 7&8. Ctrl+space 9. m 10. p 11. t 12. enter
1. $ 2. FirstLetterOfEntity 3&4. Ctrl+Space 4. = 5. e 6&7. Ctrl+space 8. enter
Now if you would autocomplete immediately without the use of Ctrl+space you could even reduce that further to
1. $ 2. FirstLetterOfEntity 3. = 4. e 5. enter
That's a 59% reduction of key strokes.
The reason I brought up the other post is because Nikel suggested a new isBlank() function. And in my gut feeling I hated the suggestion and didn't know why immediately, then I started testing it. The usage of functions like isNew() they barely get autocompleted. If you finish typing isNew or isMatch, it will not automatically create the brackets. my suggestion would be to add this functionality and automatically place the cursor between the brackets after. I guess that was my frustration with it.
But imagine if you take into account the rest of this idea post
Being able to type 1. $ 2. FirstLetterOfEntity 3. enter 4. / 5. FirstLetterOfStringAttributeName 6. = 7. b 8. enter resulting in
$EntityName/stringAttribute = blank