我正在开发一个需要嵌入式 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 = 计算排名;
你能帮忙吗?谢谢。