Suggestion/question: User-friendly tab auto-completions

조회 수: 8 (최근 30일)
D. Plotnick
D. Plotnick 2018년 6월 28일
답변: Ken Atwell 2018년 11월 21일
Hello, I have a question/suggestion about the tab-to-complete box, and improving its utility. I am submitting this here, as there may be an existing option I am missing: otherwise I shall resubmit to feature requests.
The crux of the matter is that when using tab-to-complete in the command window, the alphabetical listing is actually a major hindrance if my script/function/variable name is similar to a lot of others in the Matlab path. If I have a variable 'plottedData' in my workspace, and I type 'plo-[TAB]' the list is enormous, and most of the words say plot in them; there is also no quick way to visually pick my variable out from all of the m-files (the '.m' at the end is not sufficient). Now I could continue typing my variable name, but that quickly makes auto-complete less useful. As someone who likes verbose function and variable names, AC is a real time saver.
So, the solution would be to allow re-ordering or sectioning of auto-complete suggestions. Say, workspace variables at the top in a block, functions in your custom matlab path in a second block, and functions in the default path at the bottom. (Note that there is an inherent issue with overloaded function names too, so maybe order those in the order they appear in the path list? Not sure, those are more complicated. and how about variable+function overloads?).
Alternatively, color coding variables vs. functions within the auto-complete window would make it easier to pick out.
I am certain that not everyone will want to muck with their AC the same way I do, but it would be nice to have the option. Does it exist?
  댓글 수: 8
D. Plotnick
D. Plotnick 2018년 6월 28일
Ah. This is actually an argument for a slightly different autocomplete tweak for sorting variables vs function names vs parameters. Examples:
plot(x)
diary on
edit myFun.m
The first case should default to sorting variables first: i have to pass plot some variable, even if its the output of a nested command: plot(abs(x).
The second case only has a few possible choices: on, off (methods of diary) or folder locations. I just checked and this DOES pick out only those options, not other m-files or variables.
The third too limits itself to suggesting m-files.
So, what this means to me is that there are functioning completion suggestions for these particular functions (I am guessing they use the 'suggestions' method you linked to, but I don't know), but not for my own functions, since I have not created custom code suggestions.
This still argues for being able to prioritize the generic AC window ordering.

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

채택된 답변

Ken Atwell
Ken Atwell 2018년 11월 21일
Give the Live Editor a try in a new-ish release of MATLAB; I expect its auto-completion will behave more like you are hoping for.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Debugging and Analysis에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by