Domanda

Sappiamo tutti MATLAB fornisce scheda di completamento per i nomi di file utilizzati come argomenti della funzione MATLAB come importdata, imread. Come facciamo a farlo per le funzioni creiamo?

Modifica

alt text

visualizza i file e le cartelle presenti nella directory corrente.

È stato utile?

Soluzione

Attenzione:. Mod non supportato qui

Date un'occhiata al file Toolbox \ \ TC.xml locale nella tua installazione Matlab. Questo sembra contenere i mapping dei tipi di argomento per il completamento scheda. (Ho trovato questo semplicemente grep l'installazione Matlab per "imread" in R2009b.)

L'aggiunta di questa linea all'interno dell'elemento <TC> si arriva scheda di completamento dei nomi di file per ciascuno dei suoi argomenti.

<binding name="importdata"        ctype="FILE"/>

Ciò richiede di modificare l'installazione di Matlab sul posto. Per alcuni degli altri file nella toolbox / locali, come classpath.txt, è possibile ignorare mettendo copie modificate nella directory che si avvia Matlab da, ma questo non ha funzionato per TC.xml per me.

Altri suggerimenti

Non v'è alcun modo supportato per aggiungere le funzioni per il completamento Tab argomento, ma un trucco che uso è quello di mettere un "!" davanti al comando quindi è trattato come un comando di sistema. Tab sarà quindi completare i percorsi dei file. Una volta che il mio comando MATLAB è fatto, io a casa per l'inizio della riga, eliminare il "!" e premere invio.

Per Matlab 2016a e sopra:

Il file Tc.xml non è presente in Matlab 2016a poi. Esso utilizza un file .json (Java Script Object Notation) per ottenere lo stesso. Un semplice esempio di questo può essere il seguente.

Supponiamo di avere un file di funzione di Matlab denominato myFunction.m . Inoltre, si supponga che questa funzione ha bisogno di file con estensione .ext come input e si desidera la scheda di completamento per mostrare tutte le possibili opzioni di input per questa funzione. Quindi, scrivere il seguente contenuto in un file e il nome functionSignatures.json .

{
"myFunction":
{
  "inputs":
  [
    {"name":"filename", "kind":"required", "type":"filepath=*.ext" }
  ]
}
}

Inserire questo file nella stessa directory del file myFunction.m . Ora, riavviare Matlab.

Che cosa fa questo file: Durante la digitazione nella funzione di ingresso, sulla scheda premendo, verrà visualizzato un elenco di file con l'estensione .ext popping up. Se si desidera che tutti i file per essere iscritte nel completamento scheda comparsa indipendentemente dalla loro estensione, quindi sostituire "type":"filepath=*.ext" con "type":"filepath" nel file functionSignatures.json .

Sorgente : https://www.mathworks.com/matlabcentral/answers/306157-how-to-configure-tab-completion-for-my-function-in-matlab- 2016 # answer_237857

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top