Effacer les filtres
Effacer les filtres

@-folder and functionSignatures.json

13 vues (au cours des 30 derniers jours)
Edoardo Ferocino
Edoardo Ferocino le 16 Déc 2019
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?

Réponse acceptée

per isakson
per isakson le 16 Déc 2019
Modifié(e) : per isakson le 16 Déc 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 commentaire
Edoardo Ferocino
Edoardo Ferocino le 17 Déc 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

Connectez-vous pour commenter.

Plus de réponses (1)

Ken Atwell
Ken Atwell le 11 Août 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!

Translated by