文件名的制表符补全作为 MATLAB 脚本的参数
-
12-09-2019 - |
题
我们都知道 MATLAB 为 MATLAB 函数中用作参数的文件名提供制表符补全功能,例如 importdata
,imread
. 。我们如何为我们创建的函数做到这一点?
编辑:
显示当前目录中的文件和文件夹。
解决方案
注意:这里不支持的劈
看看你的MATLAB安装文件工具箱\本地\ TC.xml。这似乎包含标签完成参数的类型映射。 (I由刚grepping Matlab的安装为R2009b中 “imread” 发现这一点。)
添加<TC>
元素中这条线将让你的文件名的标签,每完成它的参数。
<binding name="importdata" ctype="FILE"/>
这需要修改代替Matlab的安装。对于一些在工具箱/地方,像classpath.txt其他文件,可以通过将修改后的副本在你从运行MATLAB的目录中覆盖它们,但是这并没有为TC.xml为我工作。
其他提示
有是增加你的函数参数Tab补不支持的方法,但一招我用的是把一个“!”在命令的前面,所以它被当作一个系统命令。然后按Tab将完整的文件路径。一旦我的MATLAB命令完成后,我回家行的开头,删除“!”然后按回车。
对于 Matlab 2016a 及以上版本:
从 Matlab 2016a 开始,文件 Tc.xml 不存在。它使用一个 .json (Java Script Object Notation)文件实现同样的功能。一个简单的例子如下。
假设您有一个名为的 Matlab 函数文件 myFunction.m
. 。此外,假设该函数需要扩展名为 .ext
作为输入,并且您希望制表符补全显示此函数的所有可能的输入选项。然后,将以下内容写入文件并命名 functionSignatures.json
.
{
"myFunction":
{
"inputs":
[
{"name":"filename", "kind":"required", "type":"filepath=*.ext" }
]
}
}
将此文件放在与以下内容相同的目录中 myFunction.m
文件。现在,重新启动 Matlab。
该文件的作用: 在输入函数输入时,按 Tab 键后,您将看到带有扩展名的文件列表 .ext
弹出。如果您希望所有文件都显示在选项卡完成弹出窗口中,无论其扩展名如何,请替换 "type":"filepath=*.ext"
和 "type":"filepath"
在文件中 functionSignatures.json
.