@-folder and functionSignatures.json

7 views (last 30 days)
Hi everyone.
I have a classdef file in a certain @-folder. In the same folder I put the folder "resources" containing the "functionSignatures.json" file for the class object I created. Unfortunately when I try to use the autocompletion with an instance of the class object, I don't get any suggestion at all, as if Matlab doesn't find the corresponding functionSignatures.json file.
Example
@MyClass/MyClass.m
@MyClass/resources/functionSignatures.json (containing the function signatures for MyClass.m
but when i type "MyClass(' " and press "tab" I don't get any completions.
If I put the MyClass.m and functionSignature.json file in a NOT @-folder everything works fine.
Any suggestion?

Accepted Answer

per isakson
per isakson on 16 Dec 2019
Edited: per isakson on 16 Dec 2019
The R2019b doc Customize Code Suggestions and Completions says "For MATLAB to detect the function signature information, you must place functionSignatures.json in the folder that contains the function code."
I failed to find reference to a folder named "resources". Could it differ between releases?
Interpreting the documentation is sometimes tricky, because the text describes only the basic case.
I made the following two clips from my R2018a installation.
Proposal: try with functionSignature.json in the same folder as the folder @MyClass.
  1 Comment
Edoardo Ferocino
Edoardo Ferocino on 17 Dec 2019
Thanks per isakson, this solved the issue!
FYI, the "resources" folder is something I assumed necessary having a look at built-in functions signatures. For example, the functionSignature.json file for the "figure" function is under matlabroot\toolbox\matlab\graphics\resources. But maybe is for a different reason.
Thanks

Sign in to comment.

More Answers (1)

Ken Atwell
Ken Atwell on 11 Aug 2020
The documentation was improved for the R2020a release to clarify the location for class method JSON definitions; see the first few paragraphs of:
You would want to place your functionSignatures.json file in the parent folder of @MyClass

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!