使用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)
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。