ACE 是一个开源的、独立的、基于浏览器的代码编辑器,可以嵌入到任何web页面或JavaScript应用程序中。ACE支持超过110种语言语法高亮,并能够处理代码多达400万行的大型文档。ACE开发团队称,ACE在性能和功能上可以媲美本地代码编辑器(如Sublime Text、TextMate和Vim等)。
ACE是Mozilla Skywriter(以前称为Bespin)项目的继任者,并作为Cloud9的主要在线编辑器。
以下是它的详细特性:
可以对110多种语言进行语法着色(可以导入TextMate/Sublime/.tmlanguage 文件)
20多种主题(可以导入TextMate/Sublime/.tmtheme文件)
自动缩进,减少缩进
一个可选的命令行
处理巨大的文件,可以处理4,000,000行代码
完全自定义的键绑定,包括V正则表达式搜索和替换
高亮匹配括号
软标签和真正的标签之间切换
显示隐藏的字符
用鼠标拖放文本
换行
代码折叠
多个光标和选择
实时语法检查器(支持 JavaScript/CoffeeScript/CSS/XQuery)
剪切,复制和粘贴功能IM和Emacs模式
官方网站:https://ace.c9.io/
项目地址:
1 |
https://github.com/ajaxorg/ace.git |
设置主题
1 |
editor.setTheme("ace/theme/monokai"); |
设置程序语言模式
1 |
editor.getSession().setMode("ace/mode/javascript"); |
设置、获取内容
1 2 |
editor.setValue("the new text here"); // or session.setValue editor.getValue(); // or session.getValue |
在光标处插入
1 |
editor.insert("Something cool"); |
获取总行数
1 |
editor.session.getLength(); |
设置默认制表符的大小
1 |
editor.getSession().setTabSize(4); |
设置字体大小
1 |
document.getElementById('editor').style.fontSize='12px'; |
设置代码折叠
1 |
editor.getSession().setUseWrapMode(true); |
监听改变事件
1 2 3 |
editor.getSession().on('change', function(e) { // e.type, etc }); |
涛哥笔记实际使用例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<div class="lpaste"> <h2>输入PHP脚本:</h2> <div id="editor"><?php echo date('Y-m-d H:i:s',time())."\n"; echo "PHP版本:".phpversion()."\n"; echo "涛哥笔记在线运行PHP"; </div> </div> <script src="js/ace/build/src-noconflict/ace.js" type="text/javascript" charset="utf-8"></script> <script src="js/ace/build/src-noconflict/ext-language_tools.js"></script> <script> ace.require("ace/ext/language_tools"); var editor = ace.edit("editor"); editor.setTheme("ace/theme/monokai"); editor.getSession().setMode("ace/mode/php"); //alert(editor.getValue()); //editor.setValue(value); editor.setOptions({ enableBasicAutocompletion: true, enableSnippets: true, enableLiveAutocompletion: true }); </script> |
更多使用例子待涛哥实践总结
转载请注明:PHP笔记 » ACE Editor在线代码编辑器使用说明