SAPUI5/OPENUI5 的 JSDoc

JSDoc with SAPUI5/OPENUI5

我努力让 eclipse 大纲视图填充,但它仍然是空的

我读了这些但不起作用:

http://usejsdoc.org/howto-amd-modules.html

SCN: sapui5-mvc-pattern-and-eclipse-outline-view

如何将 jsdoc 注释传递到我的代码?

sap.ui.define([
    "sap/ui/model/json/JSONModel",
    "sap/m/MessageToast",
    "sap/ui/model/odata/Filter",
    "sap/ui/model/FilterOperator"
], function (JSONModel, MessageToast, Filter, FilterOperator) { 
    "use strict";

    return BaseController.extend("SAP.Mobile.controller.App", {
        /**
        * @memberOf BaseController
        * ...
        */

        formatter: formatter,

        onInit: function () {

        },

        onAfterRendering: function(){

        }

    });
});

问题的发生是因为使用 sap.ui.define 定义函数的新方法,Eclipse 无法生成大纲。 SAP 推荐他们的 WebIDE 用于 UI5 相关的开发和对 SAPUI5 eclipse 的增强没有得到关注。

我偶然发现了同样的问题。由于多种原因无法切换到 Web IDE 或 Webstorm,我使用稍微不同的语法来支持大纲。

sap.ui.define([
    "sap/ui/model/json/JSONModel",
    "sap/m/MessageToast",
    "sap/ui/model/odata/Filter",
    "sap/ui/model/FilterOperator"
], function (JSONModel, MessageToast, Filter, FilterOperator) { 
    "use strict";

    var Controller = BaseController.extend("SAP.Mobile.controller.App", {

       /**
        * @memberOf SAP.Mobile.controller.App
        */
        formatter: formatter,

        onInit: function () {

        },

        onAfterRendering: function(){

        }

    });

    return Controller;

});

我正在使用这种方式并且对我来说效果很好。

sap.ui.define([
    "sap/ui/model/json/JSONModel",
    "sap/m/MessageToast",
    "sap/ui/model/odata/Filter",
    "sap/ui/model/FilterOperator"
], Controller );

/**
* Controller
* @class
*/
function Controller (JSONModel, MessageToast, Filter, FilterOperator) { 
    "use strict";

    var Controller = BaseController.extend("SAP.Mobile.controller.App", {

       /**
        * @memberOf SAP.Mobile.controller.App
        */
        formatter: formatter,

        onInit: function () {

        },

        onAfterRendering: function(){

        }

    });

    return Controller;

}