ace.js实现IDE多标签代码编辑器
ace.js是一款强大的代码编辑器,支持110种开发语言,安装官方的说法,可以媲美本地的开发工具vscode等,今天我们来演示一下如何使用ace.js来实现一个多标签的代码编辑器功能,先看效果:

原理其实很简单,就是在创建ace的时候,创建一个tab标签, 并保存到全局变量中,如下:
editor_arr.push({
"fileid": fileid,
"editor": editor,
"editorid": editorid,
"tabid": "tab" + fileid,
});
我们来看看代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>BFW NEW PAGE</title>
<script id="bfwone" data="dep=jquery.17&err=0" type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/bfwone.js"></script>
<script type="text/javascript">
var editor_arr = [];
bready(function() {
$("#addnewbtn").click(function() {
openeditor(Math.random()*100000000000000000, "unamed");
});
});
function showeditor(fileid) {
console.log(fileid);
$("#bfweditor pre").hide();
$("#file_tab ul li").removeClass("file_selected");
if (editor_arr.length > 0) {
for (var i = 0; i < editor_arr.length; i++) {
if (fileid == editor_arr[i].fileid) {
$("#" + editor_arr[i].tabid).addClass("file_selected");
$("#" + editor_arr[i].editorid).show();
return editor_arr[i].editor;
}
}
}
return null;
};
function openeditor(fileid, filename) {
var editor = showeditor(fileid);
if (editor != null) {
return;
}
$("#file_tab ul li").removeClass("file_selected");
$("#addnewbtn").before("<li fileid='"+fileid+"' id='tab" + filei...点击查看剩余70%
网友评论0