2017-08-02 11 views
1

私はJavaコードを表示するためにACE Editorを使用しています。私はエディタでjavaコードをフォーマットしたいと思います。私はこのようなコードを試してみました:Aceエディタで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()); 

をしかし、私はこのように美しいコードだ:どのように私はエースエディタでJavaコードをフォーマットすることができます

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

を?

答えて

1

JS Beautifierを既存のAceエディタにフックする例を示します。ここで

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>

エースは、Javaを美化するための方法を提供していませんjsFiddle Demo

0

、あなたはそのために別のプログラムを使用する必要がありますです。

関連する問題