Filter löschen
Filter löschen

@-folder and functionSignatures.json

18 Ansichten (letzte 30 Tage)
Edoardo Ferocino
Edoardo Ferocino am 16 Dez. 2019
Beantwortet: Ken Atwell am 11 Aug. 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.
@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?

Akzeptierte Antwort

per isakson
per isakson am 16 Dez. 2019
Bearbeitet: per isakson am 16 Dez. 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 Kommentar
Edoardo Ferocino
Edoardo Ferocino am 17 Dez. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Ken Atwell
Ken Atwell am 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!

Translated by