2017-08-02 2 views
1

Ich verwende ACE-Editor, um meinen Java-Code anzuzeigen. Ich möchte den Java-Code im Editor formatieren. Ich habe versucht, den Code wie folgt aus:So formatieren Sie Java-Code in Ace Editor

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()); 

Aber ich habe den schönen Code wie folgt:

publicclassHelloWorld{publicstaticvoidmain(String args[]){System 
.out.println(1); 
}} 

Wie kann ich forma Java-Code in Ace Editor?

Antwort

1

Hier ist ein Beispiel für das Einbinden von JS Beautifier in Ihren bestehenden Ace Editor.

var editor = ace.edit('editor'); 
 
var txtAra = document.querySelector('textarea[name="editor"]'); 
 
var jsbOpts = { 
 
    indent_size : 2 
 
}; 
 

 
editor.setTheme("ace/theme/monokai"); 
 
editor.getSession().setMode("ace/mode/java"); 
 
syncEditor(); 
 

 
// Main Logic 
 
setTimeout(formatCode, 1000); // Format sample Java after 1 second. 
 

 
// Functions 
 
function syncEditor() { 
 
    editor.getSession().setValue(txtAra.value); 
 
} 
 
function commitChanges() { 
 
    txtAra.value = editor.getSession().getValue(); 
 
} 
 
function formatCode() { 
 
    var session = editor.getSession(); 
 
    session.setValue(js_beautify(session.getValue(), jsbOpts)); 
 
}
.title { 
 
    font-size: 1.67em; 
 
    font-weight: bold; 
 
    text-align: center; 
 
} 
 
#editor { 
 
    height: 75vh; 
 
    width: 100%; 
 
} 
 
textarea[name="editor"] { 
 
    display: none; 
 
} 
 

 
.as-console-wrapper { 
 
    display: none !important; 
 
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.6/ace.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.6.8/beautify.js"></script> 
 
<link href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" rel="stylesheet"/> 
 
<div> 
 
    <div class="title">Ace Editor - Java Format</div> 
 
    <textarea name="editor">public class SpringTest {public static void main(String[] args) throws Exception {System.out.print("Hello world");}}</textarea> 
 
    <div id="editor"></div> 
 
</div>

Hier ist jsFiddle Demo

0

Ace java nicht bieten eine Möglichkeit, zu verschönern, werden Sie ein anderes Programm dafür verwenden müssen.