ACE 是一个开源的、独立的、基于浏览器的代码编辑器,可以嵌入到任何web页面或JavaScript应用程序中。ACE支持超过60种语言语法高亮,并能够处理代码多达400万行的大型文档。ACE开发团队称,ACE在性能和功能上可以媲美本地代码编辑器(如Sublime Text、TextMate和Vim等)。
ACE是Mozilla Skywriter(以前称为Bespin)项目的继任者,并作为Cloud9的主要在线编辑器。
以下是它的详细特性:
- 可以对60多种语言进行语法着色(可以导入TextMate/Sublime/.tmlanguage 文件)
- 20多种主题(可以导入TextMate/Sublime/.tmtheme文件)
- 自动缩进,减少缩进
- 一个可选的命令行
- 处理巨大的文件,可以处理4,000,000行代码
- 完全自定义的键绑定,包括V正则表达式搜索和替换
- 高亮匹配括号
- 软标签和真正的标签之间切换
- 显示隐藏的字符
- 用鼠标拖放文本
- 换行
- 代码折叠
- 多个光标和选择
- 实时语法检查器(支持 JavaScript/CoffeeScript/CSS/XQuery)
- 剪切,复制和粘贴功能IM和Emacs模式
项目地址:
- git clone git://github.com/ajaxorg/ace.git
相关项目:
使用引导:
1、引入
- var ace =require("lib/ace");
2、设置主题
- editor.setTheme("ace/theme/twilight");
3、设置程序语言模式
- editor.getSession().setMode("ace/mode/javascript");
4、一般常用操作
设置、获取内容:
- editor.setValue("the new text here");// or session.setValue
- editor.getValue();// or session.getValue
获取选择内容:
- editor.session.getTextRange(editor.getSelectionRange());
在光标处插入:
- editor.insert("Something cool");
获取光标所在行或列:
- editor.selection.getCursor();
跳转到行:
- editor.gotoLine(lineNumber);
获取总行数:
- editor.session.getLength();
设置默认制表符的大小:
- editor.getSession().setTabSize(4);
使用软标签:
- editor.getSession().setUseSoftTabs(true);
设置字体大小,这个其实不算API:
- document.getElementById('editor').style.fontSize='12px';
设置代码折叠:
- editor.getSession().setUseWrapMode(true);
设置高亮:
- editor.setHighlightActiveLine(false);
设置打印边距可见度:
- editor.setShowPrintMargin(false);
设置编辑器只读:
- editor.setReadOnly(true);// false to make it editable
5、触发尺寸缩放
编辑器默认自适应大小,如果要程序控制resize,使用如下方法:
- editor.resize();
6、搜索
- editor.find('needle',{
- backwards:false,
- wrap:false,
- caseSensitive:false,
- wholeWord:false,
- regExp:false
- });
- editor.findNext();
- editor.findPrevious();
下列选项可用于您的搜索参数:
needle: 要查找的字符串或正则表达式
backwards: 是否反向搜索,默认为false
wrap: 搜索到文档底部是否回到顶端,默认为false
caseSensitive: 是否匹配大小写搜索,默认为false
wholeWord: 是否匹配整个单词搜素,默认为false
range: 搜索范围,要搜素整个文档则设置为空
regExp: 搜索内容是否是正则表达式,默认为false
start: 搜索起始位置
skipCurrent: 是否不搜索当前行,默认为false
替换单个字符:
- editor.find('foo');
- editor.replace('bar');
替换多个字符:
- editor.replaceAll('bar');
editor.replaceAll使用前需要先调用editor.find('needle', ...)
7、事件监听
监听改变事件:
- editor.getSession().on('change',function(e){
- // e.type, etc
- });
监听选择事件:
- editor.getSession().selection.on('changeSelection',function(e){
- });
监听光标移动:
- editor.getSession().selection.on('changeCursor',function(e){
- });
8、添加新命令、绑定按键
要指定键绑定到一个自定义函数:
- editor.commands.addCommand({
- name:'myCommand',
- bindKey:{win:'Ctrl-M', mac:'Command-M'},
- exec:function(editor){
- //...
- },
- readOnly:true// 如果不需要使用只读模式,这里设置false
- });
详细API:http://ace.c9.io/#nav=api
相关推荐
AceEditor是一款广受欢迎的前端代码编辑器,以其高性能和丰富的API功能著称。这款编辑器支持多种编程语言的代码高亮显示,适用于构建在线代码编辑器、开发者工具或任何需要文本编辑功能的Web应用。在官方文档无法...
aceeditor是一款不错的语法着色在线编辑器,使用js创建,支持40多种常见语言,最初接触是因为liferay的aui团队使用了,我想提取出来,看了源码发现是另外一个叫ace的,没事就找了找,打包分享出来
ACE Editor是一个开源的、独立的、基于浏览器的代码编辑器,它可以嵌入到任何web页面或JavaScript应用程序中。ACE提供了丰富的功能,包括对超过60种语言的语法高亮支持,能够处理多达400万行的大型文档...
这个"Ace Editor 源码含Demo"的压缩包很可能包含了Ace Editor的源代码以及演示示例,帮助开发者更好地理解和使用这个编辑器。 源码分析: 1. **源码结构**: Ace Editor 的源码通常按照模块进行组织,包括核心编辑...
在 Vue 项目中集成 Ace 编辑器,可以为用户提供一个完善的代码编辑体验,比如用于创建代码编辑器组件或者在线编程教程。 首先,我们需要安装 ace-editor 的 Vue 组件。可以通过 npm 安装: ```bash npm install --...
Ace Editor 是一个强大的开源代码编辑器,被广泛用于构建网页应用程序和开发工具。它以其高性能、丰富的特性集和高度可定制性而闻名。在“Ace Editor 建造大师”中,我们主要关注如何充分利用这个编辑器来创建高效且...
ACE Editor是一款强大的开源文本编辑器,广泛应用于网页开发,尤其是在线代码编辑场景。这个项目的核心是将ACE Editor与SpringMVC结合,以实现动态、交互式的代码编辑功能。 首先,SpringMVC是Java领域广泛使用的...
ace.js编辑器是一个功能强大的开源代码编辑器,它以JavaScript为基础,并通过浏览器提供丰富的编辑功能。以下是关于ace.js编辑器的详细描述: 首先,ace.js编辑器支持多种编程语言,包括但不限于JavaScript、HTML、...
ACE编辑器是这样一款强大的文本编辑器,它支持多种语言,包括JavaScript,并且具备代码补全和语法高亮功能,极大地提升了编程效率。 在本压缩包中,我们有以下几个关键文件: 1. `cb-complete-list.js`: 这个文件...
Tiny-editor 是和jsFiddle一样具有在线运行js功能的在线代码编辑器,基于Ace。Demo:http://lipten.link/demo/editorUsagegit clone https://github.com/lipten/Tiny-editor.git2.引用相关文件<link rel=...
总的来说,ACE Editor是一个强大且高度可定制的代码编辑器,它为Web开发带来了便捷和高效的代码编写环境,无论是用于在线教育平台、代码分享网站,还是在复杂的Web应用开发中,都能展现出其卓越的性能和实用性。...
AceEditor是一款广泛应用于前端开发的代码编辑器插件,尤其在在线编程挑战平台(OJ,Online Judge)中,它提供了高效、可定制且功能丰富的文本编辑体验。这个压缩包"oj.AceEditor.zip"包含了Ace Editor的源码及其与...
Ace.js 是一款强大的Web代码编辑器,被广泛用于创建在线编程环境、代码演示工具和开发者工具。这款编辑器以其高效、轻量级和高度可定制性而受到开发者的喜爱。它支持多种编程语言,包括Python、Java、JavaScript以及...
Ace Editor 是一个强大的开源Web代码编辑器,专为在网页上提供高质量的代码输入和编辑体验而设计。它被广泛应用于开发工具、在线IDE、学习平台以及任何需要用户交互式编辑代码的场合。Ace Editor以其丰富的特性、高...
Ace在线编辑器是一款广泛使用的开源代码编辑器,尤其在Web开发领域中颇为流行。它以其高性能、可定制性以及丰富的API而备受青睐。这个“ace在线编辑器API调用例子工程.zip”文件包含了一个示例项目,用于演示如何在...
HTML中的ACE Editor是一款强大的代码编辑器,常用于创建网页中的内联编辑区域,尤其适合开发者在Web应用中集成代码编辑功能。它支持多种编程语言,提供了丰富的特性,如语法高亮、自动完成、代码折叠等,使用户在...
Ace 编辑器是一款流行的、轻量级的、基于JavaScript的代码编辑器,广泛应用于网页开发,提供丰富的自定义选项和强大的功能。本主题聚焦于Ace编辑器在处理代码注释时如何支持LATEX(一种数学公式表示语言)和超链接的...
查看了ant design官方社区精选组件提供了两款代码编辑器,有一款是微软推出的,但是代码提示不是很友好,最后需求又查看了阿里云的相关信息,发现阿里云自己使用的是aceEditor,下面我们就介绍一下如果在react项目中...
我们知道,在编辑SQL语句的时候,可以通过各种客户端软件对SQL语句进行格式化,但是我们如果想通过...这时我们可以借助sql-formatter.js插件来实现,具体参考Demo附件(可直接运行,内附ACE编辑器使用示例及效果)。
5. **保存和恢复代码**:如果需要保存用户的编辑内容,可以使用 Ace 编辑器提供的 `getValue()` 方法获取代码,然后将其存储在数据库或其他持久化存储中。在用户下次访问时,可以通过 `setValue()` 方法恢复代码。 ...