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