我在Ace编辑器中找到了美化扩展,但我没有看到任何如何使用它的例子.这是我到目前为止所拥有的:
var beautiful = ace.require("ace/ext/beautify");
beautiful.beautify();
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
Result of expression 'e' [undefined] is not an object.
Run Code Online (Sandbox Code Playgroud)
1.2*_*tts 13
它看起来像这样:
var beautify = ace.require("ace/ext/beautify"); // get reference to extension
var editor = ace.edit("editor"); // get reference to editor
beautify.beautify(editor.session);
Run Code Online (Sandbox Code Playgroud)
它要求您将Ace Editor会话作为第一个参数传递.在我原来的问题中,我没有传递任何变量,这是一个错误.
注意:它在扩展发行说明中提到的效果不佳.它的使用效果不佳.
我没有让它发挥作用
var beautify = ace.require("ace/ext/beautify"); // get reference to extension
Run Code Online (Sandbox Code Playgroud)
总是美化undefined.
过了一会儿,我放弃了.
并使用外部Beautify库(链接)
function beatify() {
var val = editor.session.getValue();
//Remove leading spaces
var array = val.split(/\n/);
array[0] = array[0].trim();
val = array.join("\n");
//Actual beautify (prettify)
val = js_beautify(val);
//Change current text to formatted text
editor.session.setValue(val);
}
Run Code Online (Sandbox Code Playgroud)