2012-06-20 19 views
0

我已經制作了一個YUI模塊,類似於下面顯示的代碼,這是YUI的核心文件和Moodle內的YUI3推薦模式每hereYUI模塊模式中的方法不會在IDE結構視圖中顯示

問題是,現在我看不到在IDE的文件結構/導航器窗格中的任何方法(如下面的代碼中的initializer()和show())。看起來Y.extend()邏輯太多了,儘管以前在下面使用的沙盒模式之外使用YAHOO.lang.Extend()工作正常。

有沒有人有任何建議如何解決這個問題?它只是我的IDE(試過IntelliJ IDEA - bug here和NetBeans)? YUI開發者當然不會遇到同樣的問題嗎?

YUI.add('moodle-local_hub-comments', function (Y) { 

    var COMMENTSNAME = 'hub_comments'; 

    var COMMENTS = function() { 
     COMMENTS.superclass.constructor.apply(this, arguments); 
    } 

    M.local_hub = M.local_hub || {}; 

    Y.extend(M.local_hub, Y.Base, { 

     // Invisible property: 
     event : null, 

     // Invisible function: 
     initializer : function (params) { 
      // function code here 
     }, 

     // Invisible function: 
     show : function (e) { 
      // function code here 
     }, 

     // Invisible function: 
     hide : function() { 
      // function code here 
     } 

    }, { 
     NAME : COMMENTSNAME, 
     ATTRS : { 
      commentids : {value : 450} 
     } 
    }); 

}, '@[email protected]', { 
    requires : ['base', 'overlay', 'moodle-enrol-notification'] 
    //Note: 'moodle-enrol-notification' contains Moodle YUI exception 
}); 

回答

0

這似乎是一個可能的錯誤用的IntelliJ,詳情here。很高興知道他們至少在理論上支持它。

作爲worksround,JSDoc可以加入上面的延伸這樣的功能:

/** 
* @class M.local_hub 
**/ 
Y.extend(M.local_hub, Y.Base, { 

這使得所有的方法顯示出來:)

0

我見過的每一個IDE(我試過的NetBeans,jEdit的,崇高的,和至少四個不同的Eclipse JS編輯)未能顯示像你在大綱視圖的方法。我知道有一張票可以解決Eclipse中的問題(https://bugs.eclipse.org/bugs/show_bug.cgi?id=266113),但我並沒有屏住呼吸:這似乎是IDE非常難以做到的事情。

如果你願意,你總是重構代碼更IDE友好的,但你會失去你的封裝:

function initializer(e) { 
    // function code here 
} 
function show() { 
    // function code here 
} 
function hide { 
    // function code here 
} 
function moodle-local_hub-comments (Y) { 

    var COMMENTSNAME = 'hub_comments'; 

    var COMMENTS = function() { 
     COMMENTS.superclass.constructor.apply(this, arguments); 
    } 

    M.local_hub = M.local_hub || {}; 


    Y.extend(M.local_hub, Y.Base, { 

     event : null, 

     initializer : initializer, 

     show : show, 

     hide : hide 

    } 
YUI.add('moodle-local_hub-comments', moodle-local_hub-comments, { 
     NAME : COMMENTSNAME, 
     ATTRS : { 
      commentids : {value : 450} 
     } 
    }); 

}, '@[email protected]', { 
    requires : ['base', 'overlay', 'moodle-enrol-notification'] 
    //Note: 'moodle-enrol-notification' contains Moodle YUI exception 
}); 
+0

作爲一個側面說明,崇高有着一種獨特另類的到大綱視圖,它與任何代碼一起工作(因爲它是一個圖形輪廓,因此不需要代碼解析)。就我個人而言,我只是使用Eclipse而沒有大綱視圖。 – machineghost

+0

謝謝,我確實考慮過與你類似的結構,但我需要在Moodle的框架內工作,所以上面的結構是強加給我的:(但我找到了一種解決方法,然而, –

+0

有趣;我可能最終有理由現在試試IntelliJ :-) – machineghost