Borrar filtros
Borrar filtros

Why does tab complete not work for user written functions that except filenames?

1 visualización (últimos 30 días)
Why does tab complete not work for user written functions that except filenames?
function testFunction(file)
disp(file)
end %end function
Call the above function with a file. While entering the file name, try to tab complete it. It won't work. Why not?

Respuesta aceptada

Walter Roberson
Walter Roberson el 14 de Ag. de 2013
Editada: Walter Roberson el 14 de Ag. de 2013
The rules for tab completion are not well defined, and do not always make sense.
Tab completion for a quoted string takes place if:
  • the quoted string is the first expression (possibly after whitespace) after the beginning of the line, or after a comma (",") or semi-colon (";") that marks the end of anything previous on the line
  • the quoted string immediately follows (no whitespace) a non-quoted underscore ('_') or period ('.')
  • the quoted string immediately follows (no whitespace) a latin letter or latin digit
In addition, there are circumstances under which a quoted string that follows an exclamation mark ('!') may lead to a flawed tab completion, in which the resulting word is missing one or more characters from the file name.
None of the above situations match attempting to enter a valid quoted string as the argument to a function. :(
  2 comentarios
Jason Nicholson
Jason Nicholson el 15 de Ag. de 2013
Thanks for the answer. I don't understand why tab complete works for the "load" function. Tab completing
load('fil
will result in
load('file'
Walter Roberson
Walter Roberson el 15 de Ag. de 2013
Good point. Same for save(). I do not know at the moment.

Iniciar sesión para comentar.

Más respuestas (1)

David Sanchez
David Sanchez el 14 de Ag. de 2013
The user defined function has to be saved on the current directory or its path set on matlab paths. Matlab will not autocomplete a function name of a function located in a directory different to the working directory.
  1 comentario
Jason Nicholson
Jason Nicholson el 14 de Ag. de 2013
I appreciate your answer but it is not correct. The function is definitely on my path and so is the file. I have folder called UserDefinedFunctions where I store my often used scripts. You can see it the 3rd line of my path shown below. The files are most often in my current working folder.
>> path
MATLABPATH
C:\Users\jnicholson\Documents\MATLAB\UserDefinedFunctions\measuretool_1.13 C:\Users\jnicholson\Documents\MATLAB\CoDaTo C:\Users\jnicholson\Documents\MATLAB\UserDefinedFunctions C:\MathWorks\MATLAB\R2010b\toolbox\matlab\general C:\MathWorks\MATLAB\R2010b\toolbox\matlab\ops C:\MathWorks\MATLAB\R2010b\toolbox\matlab\lang C:\MathWorks\MATLAB\R2010b\toolbox\matlab\elmat C:\MathWorks\MATLAB\R2010b\toolbox\matlab\randfun C:\MathWorks\MATLAB\R2010b\toolbox\matlab\elfun C:\MathWorks\MATLAB\R2010b\toolbox\matlab\specfun C:\MathWorks\MATLAB\R2010b\toolbox\matlab\matfun C:\MathWorks\MATLAB\R2010b\toolbox\matlab\datafun C:\MathWorks\MATLAB\R2010b\toolbox\matlab\polyfun C:\MathWorks\MATLAB\R2010b\toolbox\matlab\funfun C:\MathWorks\MATLAB\R2010b\toolbox\matlab\sparfun C:\MathWorks\MATLAB\R2010b\toolbox\matlab\scribe C:\MathWorks\MATLAB\R2010b\toolbox\matlab\graph2d C:\MathWorks\MATLAB\R2010b\toolbox\matlab\graph3d C:\MathWorks\MATLAB\R2010b\toolbox\matlab\specgraph C:\MathWorks\MATLAB\R2010b\toolbox\matlab\graphics C:\MathWorks\MATLAB\R2010b\toolbox\matlab\uitools C:\MathWorks\MATLAB\R2010b\toolbox\matlab\strfun C:\MathWorks\MATLAB\R2010b\toolbox\matlab\imagesci C:\MathWorks\MATLAB\R2010b\toolbox\matlab\iofun C:\MathWorks\MATLAB\R2010b\toolbox\matlab\audiovideo C:\MathWorks\MATLAB\R2010b\toolbox\matlab\timefun C:\MathWorks\MATLAB\R2010b\toolbox\matlab\datatypes C:\MathWorks\MATLAB\R2010b\toolbox\matlab\verctrl C:\MathWorks\MATLAB\R2010b\toolbox\matlab\codetools C:\MathWorks\MATLAB\R2010b\toolbox\matlab\helptools C:\MathWorks\MATLAB\R2010b\toolbox\matlab\winfun C:\MathWorks\MATLAB\R2010b\toolbox\matlab\winfun\net C:\MathWorks\MATLAB\R2010b\toolbox\matlab\demos C:\MathWorks\MATLAB\R2010b\toolbox\matlab\timeseries C:\MathWorks\MATLAB\R2010b\toolbox\matlab\hds C:\MathWorks\MATLAB\R2010b\toolbox\matlab\guide C:\MathWorks\MATLAB\R2010b\toolbox\matlab\plottools C:\MathWorks\MATLAB\R2010b\toolbox\local C:\MathWorks\MATLAB\R2010b\toolbox\matlab\datamanager C:\MathWorks\MATLAB\R2010b\toolbox\shared\simulink C:\MathWorks\MATLAB\R2010b\toolbox\shared\instrument C:\MathWorks\MATLAB\R2010b\toolbox\simulink\simulink C:\MathWorks\MATLAB\R2010b\toolbox\simulink\simulink\slresolve C:\MathWorks\MATLAB\R2010b\toolbox\simulink\blocks C:\MathWorks\MATLAB\R2010b\toolbox\simulink\components C:\MathWorks\MATLAB\R2010b\toolbox\simulink\fixedandfloat C:\MathWorks\MATLAB\R2010b\toolbox\simulink\fixedandfloat\fxpdemos C:\MathWorks\MATLAB\R2010b\toolbox\simulink\fixedandfloat\obsolete C:\MathWorks\MATLAB\R2010b\toolbox\simulink\simdemos C:\MathWorks\MATLAB\R2010b\toolbox\simulink\simdemos\aerospace C:\MathWorks\MATLAB\R2010b\toolbox\simulink\simdemos\automotive C:\MathWorks\MATLAB\R2010b\toolbox\simulink\simdemos\industrial C:\MathWorks\MATLAB\R2010b\toolbox\simulink\simdemos\simfeatures C:\MathWorks\MATLAB\R2010b\toolbox\simulink\simdemos\simgeneral C:\MathWorks\MATLAB\R2010b\toolbox\simulink\dee C:\MathWorks\MATLAB\R2010b\toolbox\shared\glue C:\MathWorks\MATLAB\R2010b\toolbox\shared\glue\studio C:\MathWorks\MATLAB\R2010b\toolbox\shared\dastudio\depviewer C:\MathWorks\MATLAB\R2010b\toolbox\stateflow\stateflow C:\MathWorks\MATLAB\R2010b\toolbox\rtw\rtw C:\MathWorks\MATLAB\R2010b\toolbox\shared\sigbldr C:\MathWorks\MATLAB\R2010b\toolbox\simulink\simulink\mplayio C:\MathWorks\MATLAB\R2010b\toolbox\simulink\simulink\dataobjectwizard C:\MathWorks\MATLAB\R2010b\toolbox\shared\hdlshared C:\MathWorks\MATLAB\R2010b\toolbox\rtw\accel C:\MathWorks\MATLAB\R2010b\toolbox\rtw\targets\shared C:\MathWorks\MATLAB\R2010b\toolbox\simulink\simulink\modeladvisor C:\MathWorks\MATLAB\R2010b\toolbox\simulink\simulink\modeladvisor\fixpt C:\MathWorks\MATLAB\R2010b\toolbox\stateflow\sfdemos C:\MathWorks\MATLAB\R2010b\toolbox\stateflow\coder C:\MathWorks\MATLAB\R2010b\toolbox\rtw\rtwdemos C:\MathWorks\MATLAB\R2010b\toolbox\rtw\rtwdemos\rsimdemos C:\MathWorks\MATLAB\R2010b\toolbox\rtw\targets\asap2\asap2 C:\MathWorks\MATLAB\R2010b\toolbox\rtw\targets\asap2\asap2\user C:\MathWorks\MATLAB\R2010b\toolbox\rtw\targets\common\can\blocks C:\MathWorks\MATLAB\R2010b\toolbox\rtw\targets\common\tgtcommon C:\MathWorks\MATLAB\R2010b\toolbox\rtw\targets\connectivity C:\MathWorks\MATLAB\R2010b\toolbox\rtw\targets\pil C:\MathWorks\MATLAB\R2010b\toolbox\rtw\rtw\datadiff\gui C:\MathWorks\MATLAB\R2010b\toolbox\rtw\rtw\datadiff\gui\icons C:\MathWorks\MATLAB\R2010b\toolbox\rtw\rtw\datadiff\api C:\MathWorks\MATLAB\R2010b\toolbox\rtw\rtw\cgv\api C:\MathWorks\MATLAB\R2010b\toolbox\rtw\rtw\misra C:\MathWorks\MATLAB\R2010b\toolbox\shared\asynciolib C:\MathWorks\MATLAB\R2010b\toolbox\rtw\targets\autosar\autosar C:\MathWorks\MATLAB\R2010b\toolbox\shared\cgir_fe C:\MathWorks\MATLAB\R2010b\toolbox\shared\comparisons C:\MathWorks\MATLAB\R2010b\toolbox\compiler C:\MathWorks\MATLAB\R2010b\toolbox\compiler\compilerdemos C:\MathWorks\MATLAB\R2010b\toolbox\control\control C:\MathWorks\MATLAB\R2010b\toolbox\control\ctrlguis C:\MathWorks\MATLAB\R2010b\toolbox\control\ctrlobsolete C:\MathWorks\MATLAB\R2010b\toolbox\control\ctrlutil C:\MathWorks\MATLAB\R2010b\toolbox\control\ctrldemos C:\MathWorks\MATLAB\R2010b\toolbox\shared\slcontrollib C:\MathWorks\MATLAB\R2010b\toolbox\shared\dastudio C:\MathWorks\MATLAB\R2010b\toolbox\shared\controllib\engine C:\MathWorks\MATLAB\R2010b\toolbox\shared\controllib\engine\options C:\MathWorks\MATLAB\R2010b\toolbox\shared\controllib\engine\optim C:\MathWorks\MATLAB\R2010b\toolbox\shared\controllib\general C:\MathWorks\MATLAB\R2010b\toolbox\shared\controllib\graphics C:\MathWorks\MATLAB\R2010b\toolbox\shared\controllib\requirements C:\MathWorks\MATLAB\R2010b\toolbox\dspblks\dspblks C:\MathWorks\MATLAB\R2010b\toolbox\dspblks\dspmasks C:\MathWorks\MATLAB\R2010b\toolbox\dspblks\dspmex C:\MathWorks\MATLAB\R2010b\toolbox\dspblks\dspdemos C:\MathWorks\MATLAB\R2010b\toolbox\shared\filterdesignlib C:\MathWorks\MATLAB\R2010b\toolbox\dspblks\splibmex C:\MathWorks\MATLAB\R2010b\toolbox\shared\system C:\MathWorks\MATLAB\R2010b\toolbox\shared\dspblks\dspblks C:\MathWorks\MATLAB\R2010b\toolbox\shared\dspblks\dspmex C:\MathWorks\MATLAB\R2010b\toolbox\fixedpoint\fixedpoint C:\MathWorks\MATLAB\R2010b\help\toolbox\dspblks\examples C:\MathWorks\MATLAB\R2010b\toolbox\eml\eml C:\MathWorks\MATLAB\R2010b\toolbox\emlcoder\emlcoder C:\MathWorks\MATLAB\R2010b\toolbox\emlcoder\emlcodermex C:\MathWorks\MATLAB\R2010b\toolbox\shared\simtargets C:\MathWorks\MATLAB\R2010b\toolbox\emlcoder\emlcoderdemos C:\MathWorks\MATLAB\R2010b\toolbox\exlink C:\MathWorks\MATLAB\R2010b\toolbox\fixedpoint\fidemos C:\MathWorks\MATLAB\R2010b\toolbox\fixedpoint\fixedpointtool C:\MathWorks\MATLAB\R2010b\toolbox\shared\spcuilib C:\MathWorks\MATLAB\R2010b\toolbox\shared\siglib C:\MathWorks\MATLAB\R2010b\toolbox\fuzzy\fuzzy C:\MathWorks\MATLAB\R2010b\toolbox\fuzzy\fuzdemos C:\MathWorks\MATLAB\R2010b\toolbox\fuzzy\fuzzyutil C:\MathWorks\MATLAB\R2010b\toolbox\ident\ident C:\MathWorks\MATLAB\R2010b\toolbox\ident\nlident C:\MathWorks\MATLAB\R2010b\toolbox\ident\idobsolete C:\MathWorks\MATLAB\R2010b\toolbox\ident\idguis C:\MathWorks\MATLAB\R2010b\toolbox\ident\idutils C:\MathWorks\MATLAB\R2010b\toolbox\ident\iddemos C:\MathWorks\MATLAB\R2010b\toolbox\ident\iddemos\examples C:\MathWorks\MATLAB\R2010b\toolbox\ident\idhelp C:\MathWorks\MATLAB\R2010b\toolbox\slvnv\simcoverage C:\MathWorks\MATLAB\R2010b\toolbox\optim\optim C:\MathWorks\MATLAB\R2010b\toolbox\optim\optimdemos C:\MathWorks\MATLAB\R2010b\toolbox\shared\optimlib C:\MathWorks\MATLAB\R2010b\toolbox\slvnv\reqmgt C:\MathWorks\MATLAB\R2010b\toolbox\slvnv\slvnv C:\MathWorks\MATLAB\R2010b\toolbox\slvnv\rmidemos C:\MathWorks\MATLAB\R2010b\toolbox\shared\rptgen C:\MathWorks\MATLAB\R2010b\toolbox\sam\studio C:\MathWorks\MATLAB\R2010b\toolbox\sam\sl2sam C:\MathWorks\MATLAB\R2010b\toolbox\sam\m3i C:\MathWorks\MATLAB\R2010b\toolbox\sam\targets\autosar C:\MathWorks\MATLAB\R2010b\toolbox\sam\studio\hgdialogs C:\MathWorks\MATLAB\R2010b\toolbox\simulink\blocks\sb2sl C:\MathWorks\MATLAB\R2010b\toolbox\shared\eml\eml C:\MathWorks\MATLAB\R2010b\toolbox\signal\signal C:\MathWorks\MATLAB\R2010b\toolbox\signal\sigtools C:\MathWorks\MATLAB\R2010b\toolbox\signal\sptoolgui C:\MathWorks\MATLAB\R2010b\toolbox\signal\sigdemos C:\MathWorks\MATLAB\R2010b\toolbox\sl3d\sl3d C:\MathWorks\MATLAB\R2010b\toolbox\sl3d\sl3ddemos C:\MathWorks\MATLAB\R2010b\toolbox\slcontrol\slcontrol C:\MathWorks\MATLAB\R2010b\toolbox\slcontrol\slctrlguis C:\MathWorks\MATLAB\R2010b\toolbox\slcontrol\slctrlutil C:\MathWorks\MATLAB\R2010b\toolbox\slcontrol\slctrldemos C:\MathWorks\MATLAB\R2010b\toolbox\slcontrol\slctrlobsolete C:\MathWorks\MATLAB\R2010b\toolbox\sldo\sldo C:\MathWorks\MATLAB\R2010b\toolbox\sldo\sldodemos C:\MathWorks\MATLAB\R2010b\toolbox\sldo\sldodemos\optim C:\MathWorks\MATLAB\R2010b\toolbox\sldo\sldodemos\estim C:\MathWorks\MATLAB\R2010b\toolbox\sldo\sldodemos\estim\docexamples\adaptive C:\MathWorks\MATLAB\R2010b\toolbox\sldo\sldodemos\estim\docexamples\lookuptable C:\MathWorks\MATLAB\R2010b\toolbox\sldo\sloptim\sloptim C:\MathWorks\MATLAB\R2010b\toolbox\sldo\sloptim\sloptguis C:\MathWorks\MATLAB\R2010b\toolbox\sldo\sloptim\sloptobsolete C:\MathWorks\MATLAB\R2010b\toolbox\sldo\slestim\slestguis C:\MathWorks\MATLAB\R2010b\toolbox\sldo\slestim\slestim C:\MathWorks\MATLAB\R2010b\toolbox\sldo\slestim\slestmex C:\MathWorks\MATLAB\R2010b\toolbox\sldo\slestim\slestutil C:\MathWorks\MATLAB\R2010b\toolbox\shared\sldv C:\MathWorks\MATLAB\R2010b\toolbox\shared\slvnv C:\MathWorks\MATLAB\R2010b\toolbox\symbolic\symbolic C:\MathWorks\MATLAB\R2010b\toolbox\symbolic\symbolicdemos C:\MathWorks\MATLAB\R2010b\toolbox\shared\testmeaslib\general C:\MathWorks\MATLAB\R2010b\toolbox\shared\testmeaslib\graphics

Iniciar sesión para comentar.

Categorías

Más información sobre Environment and Settings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by