@-folder and functionSignatures.json

14 visualizzazioni (ultimi 30 giorni)
Edoardo Ferocino
Edoardo Ferocino il 16 Dic 2019
Risposto: Ken Atwell il 11 Ago 2020
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?

Risposta accettata

per isakson
per isakson il 16 Dic 2019
Modificato: per isakson il 16 Dic 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 Commento
Edoardo Ferocino
Edoardo Ferocino il 17 Dic 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

Accedi per commentare.

Più risposte (1)

Ken Atwell
Ken Atwell il 11 Ago 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