这是问题所在:
对创建的类使用doc
命令。这将从您的评论中自动生成文档,并在内置帮助浏览器中显示。
doc classname
问题是私有属性和方法的文档未显示在帮助浏览器中。有没有办法克服这个问题?
答案 0 :(得分:3)
此行为是设计使然 - 自动生成的文档仅供类的用户使用,他们只能访问公共属性和方法。
我无法改变这种行为。
你可以尝试:
doc
命令。您的doc
命令应该接受与内置doc
命令完全相同的输入,检测其输入是否与您的类/方法/属性等相对应,如果是,则显示其文档,否则传递其输入直接进入内置doc
。确保您的命令位于路径上的内置命令之前。答案 1 :(得分:3)
所以我花了10分钟使用调试器,从一个函数跳转到下一个函数,跟踪一个简单的doc MyClass
调用的执行路径。
最终它引导我到以下文件:
fullfile(toolboxdir('matlab'),'helptools','+helpUtils','isAccessible.m')
在为类生成文档的过程中调用此函数,以确定类元素(包括方法,属性和事件)是否可公开访问和非隐藏。稍后将使用此信息“剔除”元素。
因此,如果您愿意修改MATLAB的内部函数,并且您希望文档始终显示所有方法和属性,而不管其范围如何,只需重写函数即可:
function b = isAccessible(classElement, elementKeyword)
b = true;
return
% ... some more code we'll never reach!
end
当然,如果您以后改变主意,请不要忘记备份文件:)
(在最近的Windows上,您需要使用管理权限执行此步骤)
作为测试,参加this page中定义的示例类并运行doc someClass
。结果: