Javascript 如何在Ace编辑器中格式化Java代码

Javascript 如何在Ace编辑器中格式化Java代码,javascript,ace-editor,Javascript,Ace Editor,我正在使用ACE编辑器来显示我的Java代码。我想在编辑器中格式化java代码。我试过这样的代码: var editor = $('.file-content').ace(), JavaMode = ace.require('ace/mode/java').Mode, beautify = ace.require("ace/ext/beautify"); editor.getSession().setValue(content); editor.getSession().setMode(new

我正在使用ACE编辑器来显示我的Java代码。我想在编辑器中格式化java代码。我试过这样的代码:

var editor = $('.file-content').ace(),
JavaMode = ace.require('ace/mode/java').Mode,
beautify = ace.require("ace/ext/beautify");

editor.getSession().setValue(content);
editor.getSession().setMode(new JavaMode());
beautify.beautify(editor.getSession());
publicclassHelloWorld{publicstaticvoidmain(String args[]){System 
.out.println(1);
}}
但我得到了这样漂亮的代码:

var editor = $('.file-content').ace(),
JavaMode = ace.require('ace/mode/java').Mode,
beautify = ace.require("ace/ext/beautify");

editor.getSession().setValue(content);
editor.getSession().setMode(new JavaMode());
beautify.beautify(editor.getSession());
publicclassHelloWorld{publicstaticvoidmain(String args[]){System 
.out.println(1);
}}

如何在Ace编辑器中格式化Java代码?

下面是一个将JS Beautifier挂接到现有Ace编辑器的示例

var editor=ace.edit('editor');
var txtAra=document.querySelector('textarea[name=“editor”]”);
var jsbOpts={
缩进尺寸:2
};
编辑:setTheme(“ace/theme/monokai”);
editor.getSession().setMode(“ace/mode/java”);
同步编辑器();
//主要逻辑
setTimeout(格式代码,1000);//1秒后格式化示例Java。
//功能
函数syncEditor(){
editor.getSession().setValue(txtAra.value);
}
函数commitChanges(){
txtAra.value=editor.getSession().getValue();
}
函数formatCode(){
var session=editor.getSession();
setValue(js_美化(session.getValue(),jsbOpts));
}
.title{
字号:1.67em;
字体大小:粗体;
文本对齐:居中;
}
#编辑{
高度:75vh;
宽度:100%;
}
textarea[name=“editor”]{
显示:无;
}
.作为控制台包装{
显示:无!重要;
}

Ace编辑器-Java格式
公共类SpringTest{publicstaticvoidmain(String[]args)抛出异常{System.out.print(“helloworld”);}

Ace没有提供美化java的方法,您需要使用另一个程序来实现这一点。

请记住,如果在逻辑中添加带有<和>等的代码,如ArrayList,那么JS Beautifier将转换为ArrayList——这将导致编译问题。因此,在尝试格式化时,请确保内容和风险。