2

我正在开发一个需要嵌入式 groovy 脚本编辑器的网络应用程序,我尝试使用 CodeMirror 和 ACE,但既不提供自动缩进也不提供格式化。

我从数据库中获取脚本的代码,然后将它放在一个名为myScript的 javascript 变量中;然后用ACE我这样做:

    var editor = ace.edit("editor");
    editor.setTheme("ace/theme/monokai");
    editor.getSession().setMode("ace/mode/groovy");
    editor.getSession().setUseWrapMode(true);
    editor.setShowPrintMargin(false);
    editor.setValue(myScript);

我用 CodeMirror 这样做:

      var myCodeMirror = CodeMirror(document.body, {
      value: myScript,
      mode:  "groovy",
      theme: "monokai",
      lineWrapping: true,
      lineNumbers: true
    }); 

并且编辑器工作完美,问题是它显示的代码没有缩进或格式化,而且非常难看。例如:

def 信誉映射 = []; def totalReputation = 0; def userReputationResult = message.properties['reputation']; for(userReputationResult 中的行){ 信誉映射 [行 [0]] = 行 [1];总声誉 = 行 [1]; }; def 计算排名 = 0; def reviewResult = message.properties['reviews']; for(reviewResult 中的行){ if (reputationMapping[row[0]] != null) { def 声誉 = 声誉映射 [row[0]]; computedRank = computedRank + (reputation * row[1]); }; }; message.payload = 计算排名;

你能帮忙吗?谢谢。

4

0 回答 0