Para rellenar la ficha de nombres de ficheros como argumentos para las secuencias de comandos de MATLAB

StackOverflow https://stackoverflow.com/questions/1842804

Pregunta

Todos sabemos MATLAB proporciona para rellenar la ficha para nombres de archivo utilizados como argumentos en la función MATLAB como importdata, imread. ¿Cómo podemos hacer eso por las funciones que creamos?

EDIT:

text alt

Muestra los archivos y carpetas en el directorio actual.

¿Fue útil?

Solución

Precaución:. Truco no soportado aquí

Tome un vistazo al archivo caja de herramientas \ Local \ TC.xml en la instalación de Matlab. Esto parece contener las asignaciones de tipo de argumento para la implementación del tabulador. (He encontrado esto simplemente grepping la instalación de Matlab para "imread" en R2009b.)

La adición de esta línea dentro del elemento <TC> le conseguirá para rellenar la ficha de nombres de archivo para cada uno de sus argumentos.

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

Esto requiere la modificación de la instalación de Matlab en su lugar. Para algunos de los otros archivos en la caja de herramientas / local, como classpath.txt, se los puede sustituir mediante la colocación de copias modificadas en el directorio de empezar Matlab de, pero esto no funcionó para TC.xml para mí.

Otros consejos

No hay una forma compatible de añadir sus funciones a la realización Tab argumento, pero un truco que utilizo es poner un "!" delante del comando por lo que es tratado como un comando del sistema. Pestaña entonces completará rutas de archivos. Una vez que mi comando de MATLAB se hace, me alberga el principio de la línea, elimine el "!" y entrar en prensa.

Para Matlab 2016A y superiores:

El archivo Tc.xml no está presente en Matlab 2016A en adelante. Se utiliza un archivo .json (Java Script Object Notation) para lograr el mismo. Un ejemplo sencillo de esto puede ser como sigue.

Suponga que tiene un archivo de función Matlab denominada myFunction.m . Por otra parte, supongamos que esta función necesita los archivos con extensión .ext como entrada y desea que la pestaña de obra ejecutada para mostrar todas las posibles opciones de entrada para esta función. Luego, escribe el siguiente contenido en un archivo y el nombre de functionSignatures.json .

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

Coloque este archivo en el mismo directorio que archivo myFunction.m . Ahora, reinicie Matlab.

¿Qué hace este archivo: Mientras se escribe en la entrada de función, al pulsar la pestaña, verá una lista de archivos con la extensión .ext apareciendo. Si desea que todos los archivos que se muestran en la ventana emergente del tabulador independientemente de su extensión, luego vuelva a colocar "type":"filepath=*.ext" con "type":"filepath" en el archivo functionSignatures.json .

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top