2014-05-18 41 views
0

我正在使用代碼鏡像爲我教的課程構建一些編碼練習。我設置了它,以便代碼鏡像一次檢索一行代碼,突出顯示當前行,以便學生可以在執行時看到每一步。代碼鏡像查找功能第一個

問題是我希望學生有能力創建自己的功能,但是我不能那樣做,逐行閱讀代碼。我需要首先找到任何用戶定義的函數。然後,如果用戶調用該函數,我需要跳轉到該函數,讀取函數內部的行,然後返回到用戶調用該函數的位置,以繼續讀取其餘代碼。

有什麼想法?我通過手冊來挖掘,沒有任何東西可以作爲解決方案跳出來。提前致謝。

var editor = CodeMirror.fromTextArea(document.getElementById("editor"), { 
      lineNumbers: true, 
      mode: "javascript", 
      matchBrackets: true 
     }); 
     editor.setSize(400, 400); 


$('#submit').click(function(){ 
     //read the next line of code each second 
     myVar=setInterval(function(){getCode()},1000); 
    }); 


    function getCode(){ 
    //only read lines that have code written in them 
     var lines = editor.lineCount(); 

    //get all the code on that specific line 
     var code = editor.getRange({'line': i, 'ch': 0}, {'line': i, 'ch': 255}); 


//highlight 
     editor.removeLineClass(i-1, 'background', 'highlight'); 
     editor.addLineClass(i, 'background', 'highlight'); 

//evaluate code (this will be replaced with a library eventually for security reasons) 
     eval(code); 
     i++; 

//stop once all lines have been read 
     if(i > lines){ 
      clearInterval(myVar); 
     } 

回答