网站首页 > 技术文章 正文
今天给大家分享一个超强大开源的基于web云端代码编辑器ACE Editor。
Ace 基于 JavaScript 编写的浏览器可嵌入式代码编辑器,Star高达21.9K+。
号称性能和功能可以媲美于Sublime,Vim等本地编辑器。可以轻松地嵌入到任何网页和JavaScript应用程序中。
ACE支持超过40种语言语法高亮 PHP、Javascript、HTML、CSS、Java、C++、Python等。
功能特性
- 语法高亮:支持 40 多种语言的语法高亮 (可以导入 TextMate/Sublime 等文件)
- 自动缩排
- 更换主题:支持超过20多款主题
- 自定义快捷键绑定
- 搜索和替换支持正则表达式
- 高亮选中
- 可以处理大型文档(能够处理代码多达400万行)
- 在线语法检测器
简单使用
<div id="editor" style="height: 500px; width: 500px">some text</div>
<script src="src/ace.js" type="text/javascript"></script>
<script>
var editor = ace.edit("editor");
</script>
配置主题及语言模式
// 设置主题
editor.setTheme("ace/theme/clouds");
// or
editor.setTheme("ace/theme/twilight");
默认情况下,编辑器为纯文本,所有其他语言模式都可以作为单独的模块按需引入。
// 设置语言
editor.session.setMode("ace/mode/javascript");
// or
editor.session.setMode("ace/mode/html");
// or
editor.session.setMode("ace/mode/php");
demo示例
<!DOCTYPE html>
<html>
<head>
<title>Demo of ACE Editor</title>
<!--导入js库-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.6/ace.js" type="text/javascript"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.6/ext-language_tools.js" type="text/javascript"></script>
</head>
<body>
<!--代码输入框(注意请务必设置高度,否则无法显示)-->
<pre id="code" class="ace_editor" style="min-height:400px">
<textarea class="ace_text-input">
function cloneObject(obj) {
var newObj = {} //如果不是引用类型,直接返回
if (typeof obj !== 'object') {
return obj
}
//如果是引用类型,遍历属性
else {
for (var attr in obj) {
//如果某个属性还是引用类型,递归调用
newObj[attr] = cloneObject(obj[attr])
}
}
return newObj
}
</textarea>
</pre>
<script type="text/javascript">
//初始化对象
editor = ace.edit("code");
//设置风格和语言(更多风格和语言,请到github上相应目录查看)
theme = "clouds"
language = "javascript"
editor.setTheme("ace/theme/" + theme);
editor.session.setMode("ace/mode/" + language);
//字体大小
editor.setFontSize(20);
//设置只读(true时只读,用于展示代码)
editor.setReadOnly(false);
//自动换行,设置为off关闭
editor.setOption("wrap", "free")
//启用提示菜单
ace.require("ace/ext/language_tools");
editor.setOptions({
enableBasicAutocompletion: true,
enableSnippets: true,
enableLiveAutocompletion: true
});
</script>
</body>
</html>
上面代码运行效果如下
官网提供了丰富的文档及API方法。
附上文档及项目地址
# 文档地址
https://ace.c9.io/
# 仓库地址
https://github.com/ajaxorg/ace
ok,就介绍到这里。如果大家感兴趣可以去看下哈,欢迎一起交流讨论!
猜你喜欢
- 2024-10-05 开源精品 Vue 可视化在线H5搭建平台Gods-Pen
- 2024-10-05 四个程序员编辑器,学习编程必备 程序员好用的编辑器
- 2024-10-05 这8款受程序员喜爱的代码编辑器,你心爱的是哪一款呢?
- 2024-10-05 基于 VScode 浏览器代码编辑器MonacoEditor
- 2024-10-05 2024 Rust 首款编辑器 Zed 开源,速度极快、干掉 VS Code?
- 2024-10-05 福利丨WEB前端资料包:编辑器+电子书+工具包+学习路径免费领取
- 2024-10-05 小郑搞码事:假如搞个demo,你应该知道有这么几款在线代码编辑器
- 2024-10-05 SublimeText(代码编辑器) sublime 代码片段
- 2024-10-05 五大最佳代码编辑器,让你的开发效率翻倍
- 2024-10-05 程序员最爱用的8个代码编辑器,你用哪款?
你 发表评论:
欢迎- 501℃几个Oracle空值处理函数 oracle处理null值的函数
- 494℃Oracle分析函数之Lag和Lead()使用
- 493℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 482℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 473℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 468℃【数据统计分析】详解Oracle分组函数之CUBE
- 453℃Oracle有哪些常见的函数? oracle中常用的函数
- 449℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 最近发表
-
- Spring Boot跨域难题终结者:3种方案,从此告别CORS噩梦!
- 京东大佬问我,SpringBoot为什么会出现跨域问题?如何解决?
- 在 Spring Boot3 中轻松解决接口跨域访问问题
- 最常见五种跨域解决方案(常见跨域及其解决方案)
- Java Web开发中优雅应对跨域问题(java跨域问题解决办法)
- Spring Boot解决跨域最全指南:从入门到放弃?不,到根治!
- Spring Boot跨域问题终极解决方案:3种方案彻底告别CORS错误
- Spring Cloud 轻松解决跨域,别再乱用了
- Github 太狠了,居然把 "master" 干掉了
- IntelliJ IDEA 调试 Java 8,实在太香了
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)