I've confirmed a bug with support introduced somewhere in 8.1 that will break find and replace if you use the word "Arguments" in your doc string (triple speech marks).
Apparently this clashes with the inbuild Ignition function documentation and confuses the parser.
So avoid using that like i did, and stick to the shorter version of "Args"...
Now to find all the places i've done it amongst hundreds of windows..
The good news is that it only affects Vision extension functions in particular. A bad choice when we first introduced their serialization that was basically unavoidable when extracting them back out again to upgrade, unfortunately.
No. Only a triple-double-quoted bare string, on the very first line, containing the literal string Arguments: will cause the issue. Break any of those conditions and you're fine.
Note: Any really big stuff will have to wait until after 8.3.0, so don't expect a lot on this topic for a while. But, a dependency bump in the bundled library did get a few little niceties I think you'll all appreciate; these will be in the nightly tomorrow and in 8.1.38 full:
"Smart" quotes - single and double quotes will automatically surround the selection, and nicely 'overtype' at the end.
"Smart" square brackets and curly braces - much the same as quotes, for automatic surround of a given selection.
Proper automatic indentation. This one is something I had so baked into my brain I didn't even realize it was missing - I literally always do a colon -> newline -> tab automatically, so now I end up with two tabs when editing a script in the designer
Two big complications:
The first, understanding import statements requires a constant AST parse of your local code (which will often be syntactically wrong for some amount of time), so you have to do smart caching and best effort stuff. Not at all impossible; every IDE does it, but it's a big effort.
The second: Java reflection gives you a lot at runtime, but it's really not as useful as you might hope. You can get arguments, return types, exceptions, etc - but no argument names, no method or class documentation, etc. You'd also have to constantly round trip with the gateway to ask it for reflection information on any gateway scoped imports, since they won't be available to the designer.