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

How to set indent size in ACE editor

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

var editor = ace.edit("editor");
editor.setTheme("ace/theme/monokai");
editor.getSession().setMode("ace/mode/javascript");
#editor {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
<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>

我想控制缩进大小(尤其是在按 tab 键时)。我该怎么做?

我在 API 参考资料中进行了搜索,但找不到解决方案...

您可以使用 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
});
#editor {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
<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>