hanyeah 专注于AS

ace支持多文件切换

使用ace.js做一个在线代码编辑器。

也用过codemirror。

如何实现支持多个文件,可以切换文件,切换之后,还保留文件的状态和操作记录,比如光标位置,撤销历史记录,等等。

参考:

How to edite more than a file using ace · Issue #1461 · ajaxorg/ace (github.com)

原理就是给每个文件创建一个session,切换到哪个文件,设置成哪个文件的session。

如:

var file1 = {
    name: "a1.js",
    session: ace.createEditSession("a1", "ace/mode/js")
};
var file2 = {
    name: "a2.js",
    session: ace.createEditSession("a2", "ace/mode/js")
};
// 切换到文件file1的时候
editor.setSession(file1)
// 切换到文件file2的时候
editor.setSession(file2)


2024年9月13日 | 发布:hanyeah | 分类:js相关 | 评论:0

发表留言: