<template><div class="ace-editor" ref="ace"></div>
</template>
<script>
import ace from 'ace-builds'
import 'ace-builds/webpack-resolver' // 在 webpack 环境中使用必须要导入
import 'ace-builds/src-noconflict/theme-chrome' // 默认设置的主题
import 'ace-builds/src-noconflict/mode-html' // 默认设置的语言模式
import 'ace-builds/src-noconflict/ext-language_tools'
export default {...mounted () {this.initEditor()}methods: {initEditor() {this.aceEditor = ace.edit(this.$refs.ace, {maxLines: this.maxLines, // 最大行数,超过会自动出现滚动条minLines: this.minLines, // 最小行数,还未到最大行数时,编辑器会自动伸缩大小fontSize: this.fontSize, // 编辑器内字体大小theme: this.themePath, // 默认设置的主题mode: this.modePath + this.mode, // 默认设置的语言模式tabSize: 4 // 制表符设置为 4 个空格大小})this.aceEditor.setOptions({enableSnippets: true,enableLiveAutocompletion: true,enableBasicAutocompletion: true})}}
}

一、常用配置

  1. 设置主题
this.aceEditor.setTheme("ace/theme/eclipse");
  1. 设置编辑的语言,这里是要编辑xml
this.aceEditor.getSession().setMode("ace/mode/xml");
  1. 给编辑框赋值
this.aceEditor.setValue('hello world');
  1. 获取编辑框的值
this.aceEditor.getValue();
  1. 获取选择内容
this.aceEditor.session.getTextRange(editor.getSelectionRange());
  1. 设置只读
this.aceEditor.setReadOnly(true);
  1. 查找
this.aceEditor.find('needle',{ //needle,要查找的字符串或正则表达式backwards: false,//是否反向搜索,默认为falsewrap: false,//搜索到文档底部是否回到顶端,默认为falsecaseSensitive: false,//是否匹配大小写搜索,默认为falsewholeWord: false,//是否匹配整个单词搜素,默认为falseregExp: false//搜索内容是否是正则表达式,默认为false
});
this.aceEditor.findNext(); //查找下一个
this.aceEditor.findPrevious(); //查找上一个
this.aceEditor.find('world');
  1. 替换
this.aceEditor.replace('bar');
this.aceEditor.replaceAll('bar');
  1. 监听
this.aceEditor.getSession().on('change', function(e) {});// 监听改变事件
this.aceEditor.getSession().selection.on('changeSelection', function(e) {});// 监听选择事件
this.aceEditor.getSession().selection.on('changeCursor', function(e) {});// 监听光标移动
  1. 其他
this.aceEditor.insert("Something cool");//在光标处插入:
this.aceEditor.selection.getCursor(); //获取光标所在行或列:
this.aceEditor.gotoLine(2);//跳转到行
this.aceEditor.session.getLength();//获取行数
  1. editor.setOption来设置配置项

– editor选项

选项名 值类型 默认值 可选值 备注
selectionStyle String text line|text 选中样式
highlightActiveLine Boolean true - 高亮当前行
highlightSelectedWord Boolean true - 高亮选中文本
readOnly Boolean false - 是否只读
cursorStyle String ace ace|slim|smooth|wide 光标样式
mergeUndoDeltas String|Boolean false always 合并撤销
behavioursEnabled Boolean true - 启用行为
wrapBehavioursEnabled Boolean true - 启用换行
autoScrollEditorIntoView Boolean false - 启用滚动
copyWithEmptySelection Boolean true - 复制空格
useSoftTabs Boolean false - 使用软标签
navigateWithinSoftTabs Boolean false - 软标签跳转
enableMultiselect Boolean false - 选中多处

– renderer选项

选项名 值类型 默认值 可选值 备注
hScrollBarAlwaysVisible Boolean false - 纵向滚动条始终可见
vScrollBarAlwaysVisible Boolean false - 横向滚动条始终可见
highlightGutterLine Boolean true - 高亮边线
animatedScroll Boolean false - 滚动动画
showInvisibles Boolean false - 显示不可见字符
showPrintMargin Boolean true - 显示打印边距
printMarginColumn Number 80 - 设置页边距
printMargin Boolean|Number false - 显示并设置页边距
fadeFoldWidgets Boolean false - 淡入折叠部件
showFoldWidgets Boolean true - 显示折叠部件
showLineNumbers Boolean true - 显示行号
showGutter Boolean true - 显示行号区域
displayIndentGuides Boolean true - 显示参考线
fontSize Number|String inherit - 设置字号
fontFamily String inherit   设置字体
maxLines Number - - 至多行数
minLines Number - - 至少行数
scrollPastEnd Boolean|Number 0 - 滚动位置
fixedWidthGutter Boolean false - 固定行号区域宽度
theme String - - 主题引用路径,例如"ace/theme/textmate"

– mouseHandler选项

选项名 值类型 默认值 可选值 备注
scrollSpeed Number - - 滚动速度
dragDelay Number - - 拖拽延时
dragEnabled Boolean true - 是否启用拖动
focusTimout Number - - 聚焦超时
tooltipFollowsMouse Boolean false - 鼠标提示

– session选项

选项名 值类型 默认值 可选值 备注
firstLineNumber Number 1 - 起始行号
overwrite Boolean - - 重做
newLineMode String auto auto|unix|windows 新开行模式
useWorker Boolean - - 使用辅助对象
useSoftTabs Boolean - - 使用软标签
tabSize Number - - 标签大小
wrap Boolean - - 换行
foldStyle String - markbegin|markbeginend|manual 折叠样式
mode String - - 代码匹配模式,例如“ace/mode/text"

– 扩展选项

选项名 值类型 默认值 可选值 备注
enableBasicAutocompletion Boolean - - 启用基本自动完成
enableLiveAutocompletion Boolean - - 启用实时自动完成
enableSnippets Boolean - - 启用代码段
enableEmmet Boolean - - 启用Emmet
useElasticTabstops Boolean - - 使用弹性制表位

二、禁用特定的ACE编辑器CSS模式警告规则

const INFO_RULES = [// Disable Heading (h2) has already been defined. warning'unique-headings',// Disable Heading (h2) should not be qualified. warning'qualified-headings','fallback-colors'
];
const DISABLED_RULES = [// Disable Don't use adjoining classes. warning'adjoining-classes',// Disable Rule doesn't have all its properties in alphabetical ordered. warning'order-alphabetical'
];
// 调用
this.aceEditor.session.$worker.call('setInfoRules', [INFO_RULES.join('|')]) ;
this.aceEditor.session.$worker.call('setDisabledRules', [DISABLED_RULES.join('|')]) ;
或者直接填写以‘|’分隔
this.aceEditor.session.$worker.call('setDisabledRules', ['box-sizing|ids|order-alphabetical|universal-selector|fallback-colors|box-model|adjoining-classes|order-alphabetical|unique-headings|qualified-headings'])

Ace Editor官网文档

ACE编辑器ace-editor笔记相关推荐

  1. Linux环境使用ACE编辑器,Ace Editor 在线代码编辑器搭建

    Ace是一个功能非常强大的编辑器.它实现了语法着色,缩进,代码提示功能.且具有大量的主题,支持大量语言.但是Ace的文档基本上是英文的. 先展示下Ace的例子. 下面介绍下如何实现其功能. 下载 Ac ...

  2. WEB端代码文本编辑器ACE的使用指南(附代码)

    快速导航 一.ACE的介绍 二.快速开始 1. package.json引入ace-builds 2. vue页面引入相应script 3. 初始化ace编辑器 4.展示效果 三.进阶使用 1. 代码 ...

  3. html ace编辑器,Springboot 集成 Ace editor前端编辑器

    一.引入Ace editor 本质上Ace editor只是一个js而已.而该js引用了其他js(如扩展.主题等js),因此将ace editor.js引入项目时最好复制整个文件夹,不能只复制一个ac ...

  4. ACE编辑器是什么?

    介绍 Ace是一个开源的项目 https://github.com/ajaxorg/ace, Ace一直是 Cloud9 IDE 的主要编辑器,并且是 Mozilla Skywriter(Bespin ...

  5. Sense编辑器(Sense Editor)

    Sense编辑器(Sense Editor) 学习了:https://blog.csdn.net/AbnerGong/article/details/50776605 Sense是一个方便的控制台,用 ...

  6. 第一次使用最新开发的在线编辑器讲课记录笔记

    2019独角兽企业重金招聘Python工程师标准>>> 第一次使用最新开发的在线编辑器讲课记录笔记,效果: 信息地址: http://www.phpkhbd.com/note/93 ...

  7. 第一款Micropython图形化编辑器—Python Editor

    2019独角兽企业重金招聘Python工程师标准>>> 当你看到这篇文章的时候,显然你已经阅读了很多类似的文章,那么本篇文章会深入讲解一些新手的需求,提供详细的建议,当然我不会告诉你 ...

  8. 怎么在添加为知笔记编辑器/为知笔记怎么用其他编辑器编辑/为知笔记怎么才能用Word/notepad++编辑

    1.为什么要添加外部编辑器 为知笔记自身提供了基础的编辑功能,足够满足一般用户的笔记需要.但有的用户有特殊的需求,需要编辑很多特殊格式与内容的文档.这时候一方面可以采取先用其他编辑器如Word.VIM ...

  9. 图形编辑器——Graph Editor(树图必备)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 使用步骤 前言 图形编辑器--Graph Editor 可以用用来生成树,且可以标记边的权重 告别word.visio ...

最新文章

  1. C#中三种定时器对象的比较
  2. coding制品库持续集成php项目,基于 CODING 轻松搞定持续集成
  3. 用python一键批量压缩备份文件,不必再用鼠标点点点
  4. Chrome 对于 glyphicon 字体图标不显示的解决办法
  5. 阿里25k招.NET,要求WPF!
  6. 将博客文章转变为电子书
  7. jquery 加载显示loading图标_王者荣耀100强什么意思?loading界面左上角100强有什么含义...
  8. JSP 九大内置对象及四大作用域
  9. xp系统怎么进pe修改计算机名,U盘装xp_教您怎样用u盘装xp系统
  10. java与eclipse不匹配_【JAVA小白】 用eclipse输入格式不匹配的问题
  11. 聊聊阿里社招面试,谈谈“野生”Java程序员学习的道路
  12. 模仿老乡鸡点餐小程序选择门店功能
  13. CMP SUB 区别
  14. 强化学习基础05——gym
  15. 为何戴绿帽的总是悲催老实人?
  16. js通用判断指定日期是周几,是否是周六、周日
  17. 创龙科技Zynq-7010/20工业开发板(双核ARM Cortex-A9+A7)-性能及参数资料
  18. 这种动态条形图+折线图怎么做?今天我来教你!
  19. 大势所趋话开源——中国开源现状分析
  20. 数据中台体系化建设核心方法论

热门文章

  1. php 文件内容追加,PHP 文件写入或追加数据
  2. android 4.4 java版本_Android4.0-4.4 加入实体按键振动支持的方法(java + smali版本号)
  3. LCD驱动调试分享——基于Qualcomm MSM8996平台Android7.1
  4. 天池大数据比赛-菜鸟仓库比赛-第一赛季记录
  5. 利用Python取出excel数据并生成统计图
  6. (转载)解决电脑同时使用有线网上内网,无线网上外网的冲突
  7. 计算机组成原理复习大纲
  8. 特征工程:归一化与标准化
  9. Redmi AirDots只有一边有声音?? 如何进行双耳连接?
  10. 关于core_cm3.c和core_cm3.h,Core_cmFunc.h 和 Core_cmInstr.h的理解