`

ACE Editor在线代码编辑器简介及使用引导

    博客分类:
  • web
阅读更多

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模式

项目地址:

  1. git clone git://github.com/ajaxorg/ace.git

相关项目:

使用引导:
1、引入

  1. var ace =require("lib/ace");

2、设置主题

  1. editor.setTheme("ace/theme/twilight");

3、设置程序语言模式

  1. editor.getSession().setMode("ace/mode/javascript");

4、一般常用操作
设置、获取内容:

  1. editor.setValue("the new text here");// or session.setValue
  2. editor.getValue();// or session.getValue

获取选择内容:

  1. editor.session.getTextRange(editor.getSelectionRange());

在光标处插入:

  1. editor.insert("Something cool");

获取光标所在行或列:

  1. editor.selection.getCursor();

跳转到行:

  1. editor.gotoLine(lineNumber);

获取总行数:

  1. editor.session.getLength();

设置默认制表符的大小:

  1. editor.getSession().setTabSize(4);

使用软标签:

  1. editor.getSession().setUseSoftTabs(true);

设置字体大小,这个其实不算API:

  1. document.getElementById('editor').style.fontSize='12px';

设置代码折叠:

  1. editor.getSession().setUseWrapMode(true);

设置高亮:

  1. editor.setHighlightActiveLine(false);

设置打印边距可见度:

  1. editor.setShowPrintMargin(false);

设置编辑器只读:

  1. editor.setReadOnly(true);// false to make it editable

5、触发尺寸缩放
编辑器默认自适应大小,如果要程序控制resize,使用如下方法:

  1. editor.resize();

6、搜索

  1. editor.find('needle',{
  2. backwards:false,
  3. wrap:false,
  4. caseSensitive:false,
  5. wholeWord:false,
  6. regExp:false
  7. });
  8. editor.findNext();
  9. editor.findPrevious();

下列选项可用于您的搜索参数:
needle: 要查找的字符串或正则表达式
backwards: 是否反向搜索,默认为false
wrap: 搜索到文档底部是否回到顶端,默认为false
caseSensitive: 是否匹配大小写搜索,默认为false
wholeWord: 是否匹配整个单词搜素,默认为false
range: 搜索范围,要搜素整个文档则设置为空
regExp: 搜索内容是否是正则表达式,默认为false
start: 搜索起始位置
skipCurrent: 是否不搜索当前行,默认为false
替换单个字符:

  1. editor.find('foo');
  2. editor.replace('bar');

替换多个字符:

  1. editor.replaceAll('bar');

editor.replaceAll使用前需要先调用editor.find('needle', ...)
7、事件监听
监听改变事件:

  1. editor.getSession().on('change',function(e){
  2. // e.type, etc
  3. });

监听选择事件:

  1. editor.getSession().selection.on('changeSelection',function(e){
  2. });

监听光标移动:

  1. editor.getSession().selection.on('changeCursor',function(e){
  2. });

8、添加新命令、绑定按键
要指定键绑定到一个自定义函数:

  1. editor.commands.addCommand({
  2. name:'myCommand',
  3. bindKey:{win:'Ctrl-M', mac:'Command-M'},
  4. exec:function(editor){
  5. //...
  6. },
  7. readOnly:true// 如果不需要使用只读模式,这里设置false
  8. });

详细API:http://ace.c9.io/#nav=api

分享到:
评论

相关推荐

    aceEditor代码编辑器api

    AceEditor是一款广受欢迎的前端代码编辑器,以其高性能和丰富的API功能著称。这款编辑器支持多种编程语言的代码高亮显示,适用于构建在线代码编辑器、开发者工具或任何需要文本编辑功能的Web应用。在官方文档无法...

    ace editor,在线代码编辑器

    aceeditor是一款不错的语法着色在线编辑器,使用js创建,支持40多种常见语言,最初接触是因为liferay的aui团队使用了,我想提取出来,看了源码发现是另外一个叫ace的,没事就找了找,打包分享出来

    aceEditor 在线代码编辑器

    ACE Editor是一个开源的、‌独立的、‌基于浏览器的代码编辑器,‌它可以嵌入到任何web页面或JavaScript应用程序中。‌ACE提供了丰富的功能,‌包括对超过60种语言的语法高亮支持,‌能够处理多达400万行的大型文档...

    在vue中使用ace编辑器

    在 Vue 项目中集成 Ace 编辑器,可以为用户提供一个完善的代码编辑体验,比如用于创建代码编辑器组件或者在线编程教程。 首先,我们需要安装 ace-editor 的 Vue 组件。可以通过 npm 安装: ```bash npm install --...

    Ace Editor 建造大师

    Ace Editor 是一个强大的开源代码编辑器,被广泛用于构建网页应用程序和开发工具。它以其高性能、丰富的特性集和高度可定制性而闻名。在“Ace Editor 建造大师”中,我们主要关注如何充分利用这个编辑器来创建高效且...

    SpringMVC ACE Editor Demo

    ACE Editor是一款强大的开源文本编辑器,广泛应用于网页开发,尤其是在线代码编辑场景。这个项目的核心是将ACE Editor与SpringMVC结合,以实现动态、交互式的代码编辑功能。 首先,SpringMVC是Java领域广泛使用的...

    Ace Editor 源码含Demo

    这个"Ace Editor 源码含Demo"的压缩包很可能包含了Ace Editor的源代码以及演示示例,帮助开发者更好地理解和使用这个编辑器。 源码分析: 1. **源码结构**: Ace Editor 的源码通常按照模块进行组织,包括核心编辑...

    ace.js实现的编辑器

    ace.js编辑器是一个功能强大的开源代码编辑器,它以JavaScript为基础,并通过浏览器提供丰富的编辑功能。以下是关于ace.js编辑器的详细描述: 首先,ace.js编辑器支持多种编程语言,包括但不限于JavaScript、HTML、...

    基于Ace的在线代码编辑器Tiny-editor.zip

    Tiny-editor 是和jsFiddle一样具有在线运行js功能的在线代码编辑器,基于Ace。Demo:http://lipten.link/demo/editorUsagegit clone https://github.com/lipten/Tiny-editor.git2.引用相关文件<link rel=...

    ACE Editor

    总的来说,ACE Editor是一个强大且高度可定制的代码编辑器,它为Web开发带来了便捷和高效的代码编写环境,无论是用于在线教育平台、代码分享网站,还是在复杂的Web应用开发中,都能展现出其卓越的性能和实用性。...

    前端项目-oj.AceEditor.zip

    AceEditor是一款广泛应用于前端开发的代码编辑器插件,尤其在在线编程挑战平台(OJ,Online Judge)中,它提供了高效、可定制且功能丰富的文本编辑体验。这个压缩包"oj.AceEditor.zip"包含了Ace Editor的源码及其与...

    ace editor

    Ace Editor 是一个强大的开源Web代码编辑器,专为在网页上提供高质量的代码输入和编辑体验而设计。它被广泛应用于开发工具、在线IDE、学习平台以及任何需要用户交互式编辑代码的场合。Ace Editor以其丰富的特性、高...

    ace在线编辑器api调用例子工程.zip

    Ace在线编辑器是一款广泛使用的开源代码编辑器,尤其在Web开发领域中颇为流行。它以其高性能、可定制性以及丰富的API而备受青睐。这个“ace在线编辑器API调用例子工程.zip”文件包含了一个示例项目,用于演示如何在...

    ACE MySQL在线编辑器插件,能自动补全和语法高亮

    ACE编辑器是这样一款强大的文本编辑器,它支持多种语言,包括JavaScript,并且具备代码补全和语法高亮功能,极大地提升了编程效率。 在本压缩包中,我们有以下几个关键文件: 1. `cb-complete-list.js`: 这个文件...

    ace.js 好用的web代码编辑器,支持多种语言js,python,java, php等

    Ace.js 是一款强大的Web代码编辑器,被广泛用于创建在线编程环境、代码演示工具和开发者工具。这款编辑器以其高效、轻量级和高度可定制性而受到开发者的喜爱。它支持多种编程语言,包括Python、Java、JavaScript以及...

    html中引入ACE Editor,实现关键字提示和代码片段提示

    HTML中的ACE Editor是一款强大的代码编辑器,常用于创建网页中的内联编辑区域,尤其适合开发者在Web应用中集成代码编辑功能。它支持多种编程语言,提供了丰富的特性,如语法高亮、自动完成、代码折叠等,使用户在...

    js实现SQL语句格式化(附ACE编辑器使用示例及效果)

    我们知道,在编辑SQL语句的时候,可以通过各种客户端软件对SQL语句进行格式化,但是我们如果想通过...这时我们可以借助sql-formatter.js插件来实现,具体参考Demo附件(可直接运行,内附ACE编辑器使用示例及效果)。

    laravel-admin中安装ace编辑器重要的css js

    5. **保存和恢复代码**:如果需要保存用户的编辑内容,可以使用 Ace 编辑器提供的 `getValue()` 方法获取代码,然后将其存储在数据库或其他持久化存储中。在用户下次访问时,可以通过 `setValue()` 方法恢复代码。 ...

    阿里产品大大:react项目这块用aceEditor代码编辑器吧,小姐姐看完都会的教程,你还不会????

    查看了ant design官方社区精选组件提供了两款代码编辑器,有一款是微软推出的,但是代码提示不是很友好,最后需求又查看了阿里云的相关信息,发现阿里云自己使用的是aceEditor,下面我们就介绍一下如果在react项目中...

    CKEditor-ACEEditor-Plugin:CKEditor的插件,将默认的源代码编辑器替换为ACE编辑器-Source code editor

    "CKEditor-ACEEditor-Plugin"是将这两个编辑器结合的插件,它的主要目标是将CKEditor默认的源代码编辑器替换为ACEEditor。这样,用户在使用CKEditor进行HTML或其他编程语言的源码编辑时,可以享受到ACEEditor带来的...

Global site tag (gtag.js) - Google Analytics