Ace editor ACE代码编辑器-多个编辑器的自动高度

Ace editor ACE代码编辑器-多个编辑器的自动高度,ace-editor,Ace Editor,我正在尝试在同一个HTML页面上执行以下所有操作: 在同一页面中放置多个ACE编辑器 不需要为每个编辑器定义自己的ID标记 不需要为每个编辑器定义自己的高度 每个编辑器的高度将根据其默认文本自动初始化 每个编辑器的高度将在添加文本时自动增加,在删除文本时自动降低 我使用这个代码:1。二, 我用这个代码:3。4.五, 每个代码本身都很好,但是当我尝试组合它们并在同一页面中创建多个编辑器时,高度是根据最后一个编辑器设置的 我应该如何修复代码 谢谢 我的代码: $(文档).ready(函数() {

我正在尝试在同一个HTML页面上执行以下所有操作:

  • 在同一页面中放置多个ACE编辑器
  • 不需要为每个编辑器定义自己的ID标记
  • 不需要为每个编辑器定义自己的高度
  • 每个编辑器的高度将根据其默认文本自动初始化
  • 每个编辑器的高度将在添加文本时自动增加,在删除文本时自动降低
  • 我使用这个代码:1。二,

    我用这个代码:3。4.五,

    每个代码本身都很好,但是当我尝试组合它们并在同一页面中创建多个编辑器时,高度是根据最后一个编辑器设置的

    我应该如何修复代码

    谢谢

    我的代码:

    
    $(文档).ready(函数()
    {
    $('.ace_editor')。每个(函数()
    {
    var editor=ace.edit(本);
    编辑:setTheme(“ace/theme/monokai”);
    editor.getSession().setMode(“ace/mode/c_cpp”);
    var heightUpdateFunction=函数()
    {
    var newHeight=editor.getSession().getScreenLength()*editor.renderer.lineHeight;
    setOptions({maxLines:Infinity});
    editor.resize();
    };
    heightUpdateFunction();
    在('change',heightUpdateFunction)上的编辑器.getSession();
    });
    });
    #包括
    usimg namespcse std;
    int main()
    {
    对于(int i=0;i<10;i++)
    printf(“%d”,i);
    返回0;
    }
    
    对于(int i=0;i<10;i++) printf(“%d”,i); }
    您使用的是全局编辑器变量,因此heightUpdateFunction始终在最后一个编辑器上工作

    但最好使用内置的方法来调整大小

    editor.setAutoScrollEditorIntoView(true);
    editor.setOption("maxLines", 30);
    
    好的,我发现了我的错误。 刚刚替换的: $('.editor').height(newHeight.toString()+“px”); 与: setOptions({maxLines:Infinity});
    所有问题都解决了。

    (另请参见:)(您的问题中似乎缺少了一些单词:使用“backticks”来表示可能会被处理为HTML标记的内容。)您是对的,但我希望编辑器的高度是动态的,不受行数的限制。您可以将最大值设置为更大,但若用户实际添加的行数超过1000行,那个么将其设置为1000行以上会使编辑器速度太慢