필터 지우기
필터 지우기

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

조회 수: 1 (최근 30일)
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?

채택된 답변

Walter Roberson
Walter Roberson 2013년 8월 14일
편집: Walter Roberson 2013년 8월 14일
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
Jason Nicholson
Jason Nicholson 2013년 8월 15일
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 2013년 8월 15일
Good point. Same for save(). I do not know at the moment.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

David Sanchez
David Sanchez 2013년 8월 14일
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
Jason Nicholson
Jason Nicholson 2013년 8월 14일
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

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Environment and Settings에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by