Guia-conclusão de nomes de arquivos como argumentos para scripts MATLAB
-
12-09-2019 - |
Pergunta
Todos nós MATLAB saber fornece guia-conclusão para nomes de arquivos usados ??como argumentos em função MATLAB como importdata
, imread
. Como fazemos isso para as funções que criamos?
EDIT:
Exibe os arquivos e pastas no diretório atual.
Solução
Atenção:. Corte não suportado aqui
Dê uma olhada na caixa de ferramentas de arquivo \ Local \ TC.xml na sua instalação Matlab. Este parece conter os mapeamentos de tipo argumento para a conclusão de tabulação. (Eu encontrei este por apenas grepping a instalação Matlab para "imread" em R2009b.)
Adicionando esta linha dentro do elemento <TC>
vai te guia-conclusão de nomes de arquivo para cada um dos seus argumentos.
<binding name="importdata" ctype="FILE"/>
Isto requer modificar a instalação Matlab no lugar. Para alguns dos outros arquivos no toolbox / local, como classpath.txt, você pode substituí-los, colocando cópias modificadas no diretório que você começar Matlab a partir, mas isso não funcionou para TC.xml para mim.
Outras dicas
Não há nenhuma maneira suportada para adicionar suas funções ao argumento Tab conclusão, mas um truque uso I é colocar um "!" em frente do comando para que ele é tratado como um comando do sistema. Tab completará então caminhos de arquivo. Uma vez que o meu comando MATLAB é feito, eu em casa para o início da linha, exclua o "!" e pressione enter.
Para Matlab 2016a e acima:
O arquivo Tc.xml não está presente em Matlab 2016a em diante. Ele usa um arquivo .json (Java Script Object Notation) para alcançar o mesmo. Um exemplo simples disso pode ser como se segue.
Suponha que você tenha um arquivo de função Matlab chamado myFunction.m
. Além disso, suponha que esta função precisa de arquivos com extensão .ext
como entrada e você quer que o guia-conclusão para mostrar todas as opções de entrada possíveis para esta função. Em seguida, escreva o seguinte conteúdo em um arquivo e nomeie- functionSignatures.json
.
{
"myFunction":
{
"inputs":
[
{"name":"filename", "kind":"required", "type":"filepath=*.ext" }
]
}
}
Coloque este arquivo no mesmo diretório como myFunction.m
arquivo. Agora, reinicie Matlab.
O que este arquivo faz: Ao digitar na entrada função, mediante guia pressionando, você verá uma lista de arquivos com a extensão .ext
surgindo. Se você quiser que todos os arquivos a serem mostrados na pop-up conclusão de tabulação independentemente da sua extensão, em seguida, substituir "type":"filepath=*.ext"
com "type":"filepath"
no arquivo functionSignatures.json
.