如何在ACE编辑器中设置缩进大小

Ion*_*zău 5 javascript indentation ace-editor

我使用以下代码创建了一个ACE编辑器实例:

var editor = ace.edit("editor");
editor.setTheme("ace/theme/monokai");
editor.getSession().setMode("ace/mode/javascript");
Run Code Online (Sandbox Code Playgroud)
#editor {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.1.9/ace.js"></script>

<div id="editor">function foo (x) {
    return 2 * x;
}

function bar (y) {
    return foo(y) / 2;
}

console.log(bar(2) + foo(3));</div>
Run Code Online (Sandbox Code Playgroud)

我想控制缩进尺寸(特别是按下tab键时).我怎样才能做到这一点?

我搜索了API参考但我找不到解决方案......

a u*_*ser 16

您可以使用setOption("tabSize", 8)或类似的setOptions函数显示如下

var editor = ace.edit("editor");
editor.setTheme("ace/theme/monokai");
editor.session.setOptions({
    mode: "ace/mode/javascript",
    tabSize: 8,
    useSoftTabs: true
});
Run Code Online (Sandbox Code Playgroud)
#editor {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.1.9/ace.js">
</script>

<div id="editor">function foo (x) {
    return 2 * x;
}</div>
Run Code Online (Sandbox Code Playgroud)