【问题标题】:Tab completion of custom class methods in MatlabMatlab中自定义类方法的tab补全
【发布时间】:2013-11-12 14:34:36
【问题描述】:

我创建了一个自定义类,其中文件由构造函数和方法加载(路径作为输入给出),例如:

类声明:

classdef Foo > handle
  methods
    function o = Foo(file), end
    function bar(o,file), end
  end
end

TC.xml 文件

  <binding name="Foo" ctype="FILE"/>
  <binding name="bar" ctype="MCOSCLASS FILE"/>

Matlab 命令提示符:

s = Foo(' + Tab 确实列出了可用文件。

s.bar(' + Tab 有效

但问题是 Tab 补全不限于 Foo 类。不幸的是,更改TC.xsd 的技巧也没有帮助。到目前为止,Yair Altman 幸运地帮助我达到了这一点。再次感谢。

整个过程可以找到here

【问题讨论】:

  • 你可以直接在他的博客上问 Yair Altman...他可能知道怎么做 :)
  • 由于 object.add(arg) 与 Matlab 中的 add(object, arg) 相同,您可能想尝试将 add 与相应的两个参数放入 xml。
  • @sebastian。好主意,可惜没成功。 - 如果我尝试正确,这是非常值得怀疑的。但是,是的,无论如何都应该使用您的 Sintax

标签: matlab class tab-completion


【解决方案1】:

首先,这里有一个相关主题,其中包含一个类似问题的答案:Tab-completion of filenames as arguments for MATLAB scripts

那么,这里有一篇关于同一主题的优秀 Matlab 门户的文章:Setting desktop tab completions | Undocumented Matlab

UPD:不幸的是,虽然有一些 TAB 完成 improvements introduced in the version R2010a

因为制表符补全使用静态分析,所以不会尝试猜测 在变量的数据类型中,所以“。”之后的内容如 除非该变量也是 在工作区中定义。

如果有一些关于该主题的最新信息是值得怀疑的(至少,我没有找到任何信息)。

因此,在当前版本中,很可能不可能在 MatLab 中自动完成点属性和方法,而无需将它们全部静态添加到 *.XML 文件中。

希望有帮助!

【讨论】:

  • @magu_,哎呀,对不起,我应该多睡点!我会尽快更新我的答案!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-09
  • 2011-07-12
  • 1970-01-01
相关资源
最近更新 更多