因为我喜欢在javascript中编码,就像在其他OOP环境中一样,我喜欢模块化我的代码,比如为我的JS应用程序创建一个顶级命名空间:
var myapp = {};
myapp.module = {
member_function: function(param) {
...
},...
};
这使我的代码布局非常容易理解,因为这些不是插件而不是实例化的“类”,所以这种格式简单明了。
然而,由于eclipse的jsdt轮廓生成器默认只有一层深,所以轮廓只显示顶层模块,而不是揭示成员函数,属性等。我明白这是为了保护免受循环引用等,但是在开发过程中没有太大帮助。
我实际上是为我的代码主动创建jsdoc片段,即使eclipse本身不使用它并且不显示基于@returns类型的在线文档或提供提示。我只是不断添加文档来帮助我记住什么做什么,有什么参数等等:)当然,希望有一天eclipse jsdt可以利用这些东西。
然而,现在,我刚刚发现了@memberOf的奇妙之处。突然之间,我的模块在大纲视图中可以被探索。 yippe ... ee ...
突然之间,代码提案也停止了对模块的处理。建议和myapp一样长。 ,这将显示.module,但在myapp.module之后,没有给出任何建议。如果我删除@memberOf,代码提案会再次为模块工作,但该模块不再可以在大纲中进行探索。
任何人都知道大纲资源管理器和代码提案在jsdt中的工作方式吗? (并且不要说netbeans,这对js和html来说很棒,但对于php来说非常滑稽,没有yaml支持,等等。我需要我的日食,唉。)