安装

npm安装

  1. npm install --save-dev vue2-ace-editor

如果需要拷贝到内网,需要 npm安装后 将 vue2-ace-editor 和 brace( vue2-ace-editor中用到了brace )  两个依赖拷贝到项目 node_modules中;

使用

  1. <template>
  2. <div class="container">
  3. <editor
  4. ref="aceEditor"
  5. v-model="content"
  6. @init="editorInit"
  7. width="700"
  8. height="600"
  9. lang="javascript"
  10. :theme="theme"
  11. :options="{
  12.    enableBasicAutocompletion: true,
  13.    enableSnippets: true,
  14.    enableLiveAutocompletion: true,
  15.    tabSize:6,
  16.    fontSize:14,
  17.    showPrintMargin:false, //去除编辑器里的竖线
  18. }"
  19. ></editor>
  20. <el-button type="primary" size="small" @click="getValue">获 取</el-button>
  21. <el-button type="primary" size="small" @click="pre">上一个主题</el-button>
  22. <el-button type="primary" size="small" @click="next">下一个主题</el-button>
  23. </div>
  24. </template>
  1. export default {
  2. data() {
  3. return {
  4. content: "",
  5. theme:'',
  6. num:0,
  7. arr:[ //将brace/theme文件夹下的所有主题名字拷贝出来
  8. 'ambiance',
  9. 'chaos',
  10. 'chrome',
  11. 'clouds',
  12. 'clouds_midnight',
  13. 'cobalt',
  14. 'crimson_editor',
  15. 'dawn',
  16. 'dracula',
  17. 'dreamweaver',
  18. 'eclipse',
  19. 'github',
  20. 'gob',
  21. 'gruvbox',
  22. 'idle_fingers',
  23. 'iplastic',
  24. 'katzenmilch',
  25. 'kr_theme',
  26. 'kuroir',
  27. 'merbivore',
  28. 'merbivore_soft',
  29. 'monokai',
  30. 'mono_industrial',
  31. 'pastel_on_dark',
  32. 'solarized_dark',
  33. 'solarized_light',
  34. 'sqlserver',
  35. 'terminal',
  36. 'textmate',
  37. 'tomorrow',
  38. 'tomorrow_night',
  39. 'tomorrow_night_blue',
  40. 'tomorrow_night_bright',
  41. 'tomorrow_night_eighties',
  42. 'twilight',
  43. 'vibrant_ink',
  44. 'xcode',
  45. ]
  46. };
  47. },
  48. components: {
  49. editor: require("vue2-ace-editor")
  50. },
  51. methods: {
  52. editorInit() {//初始化
  53. require("brace/ext/language_tools"); //language extension prerequsite...
  54. require("brace/mode/javascript"); //language
  55. // require("brace/theme/tomorrow_night");
  56. for (let i = 0; i < this.arr.length; i++) {//方便看哪个主题好看,循坏加载了所有主题,通过点击按钮切换
  57. require("brace/theme/"+this.arr[i])
  58. }
  59. require("brace/snippets/javascript"); //snippet
  60. },
  61. getValue(){//获取编辑器中的值
  62. console.log('编辑器中的值:'+this.$refs.aceEditor.editor.getValue())
  63. console.log('编辑器中第一个换行符的位置:'+this.$refs.aceEditor.editor.getValue().indexOf('\n'))
  64. },
  65. pre(){//切换到上一个主题
  66. if(this.num==0){
  67. return
  68. }
  69. this.num--
  70. this.theme = this.arr[this.num]
  71. console.log('主题'+this.num+'__'+this.arr[this.num])
  72. },
  73. next(){//切换到下一个主题
  74. if(this.num==this.arr.length-1){
  75. return
  76. }
  77. this.num++
  78. this.theme = this.arr[this.num]
  79. console.log('主题'+this.num+'__'+this.arr[this.num])
  80. },
  81. },
  82. mounted() {
  83. this.editorInit();
  84. this.theme = this.arr[0]
  85. console.log(this.$refs.aceEditor.editor.setValue('设置的初始值'))
  86. }
  87. };

初始化的效果:

有代码的效果:

参考文档

ace-editor中文文档

如何批量提取一个文件夹内的所有文件名

vue2-ace-editor代码编辑器使用的更多相关文章

  1. 【前端】ACE Editor(代码编辑器) 简易使用示例

    身为一个早已退役的Oier,当然忘不了当年一个个OJ页面上的代码显示和代码编辑器. 其中,洛谷使用的ACE Editor就是之一,非常的简洁美观.以及实际上在前端页面上搭建一个ACE Editor也是 ...

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

    转自博客:https://www.cnblogs.com/cz-xjw/p/6476179.html ACE 是一个开源的.独立的.基于浏览器的代码编辑器,可以嵌入到任何web页面或JavaScrip ...

  3. 集成代码编辑器ACE的经验

    ACE是最流行的在线代码编辑器之一,在CanTK的集成开发环境GameBuilder里也使用了ACE.ACE的功能非常强大,但是由于使用方法不当,大家反映GameBuilder的代码编辑器不好用.最近 ...

  4. ACE 1.1.9 发布,开源云端代码编辑器

    点这里 ACE 1.1.9 发布,开源云端代码编辑器 oschina 发布于: 2015年04月06日 (1评) 分享到:    收藏 +25 4月18日 武汉 源创会开始报名,送华为开发板 ACE ...

  5. 在线编辑器ACE Editor的使用

    ACE 是一个开源的.独立的.基于浏览器的代码编辑器,可以嵌入到任何web页面或JavaScript应用程序中.ACE支持超过60种语言语法高亮,并能够处理代码多达400万行的大型文档.ACE开发团队 ...

  6. 前端代码编辑器ace 语法验证

    本文主要是介绍实际项目中如何加入语法检测功能.官方文档链接https://github.com/ajaxorg/ace/wiki/Syntax-validation 代码编辑器ace,使用webwor ...

  7. 前端代码编辑器ace 语法高亮

    代码编辑器codemirror和ace,都有接触过,主要是简单的api使用下.现在项目选用的ace.主要结合官网的文档,加入些自己的理解.官方原文链接https://ace.c9.io/#nav=hi ...

  8. Asp.Net Core 使用Monaco Editor 实现代码编辑器

    在项目中经常有代码在线编辑的需求,比如修改基于Xml的配置文件,编辑Json格式的测试数据等.我们可以使用微软开源的在线代码编辑器Monaco Editor实现这些功能.Monaco Editor是著 ...

  9. codemirror和ace editor的语法高亮

    两个javascript库用做在线代码编辑器都是非常优秀的选择 我这两天对这两个类库做了简单的研究,重点是语法高亮的自定义: ace editor的主要思路是生成状态机,从一个startstate开始 ...

  10. 【前端】ACE Editor 简易使用示例

    身为一个早已退役的Oier,当然忘不了当年一个个OJ页面上的代码显示和代码编辑器. 其中,洛谷使用的ACE Editor就是之一,非常的简洁美观.以及实际上在前端页面上搭建一个ACE Editor也是 ...

随机推荐

  1. 我的2023年度关键词:ChatGPT、生产力工具

    2023 是 AI 大爆发的一年,这一年我在我的生产力工具中(一个叫 lowcode 的 vscode 插件)接入了 ChatGPT API,插件也进行了重构,日常搬砖也因为 ChatGPT 的引入发 ...

  2. 十六、企业级私有仓库harbor

    系列导航 一.docker入门(概念) 二.docker的安装和镜像管理 三.docker容器的常用命令 四.容器的网络访问 五.容器端口转发 六.docker数据卷 七.手动制作docker镜像 八 ...

  3. C#设计模式13——建造者模式的写法

    1. 什么是建造者模式? 建造者模式是一种创建型设计模式,它通过将一个复杂的对象分解为多个简单的对象并按照一定的顺序进行组装而创建出一个复杂的对象.这样可以使得构造过程更加灵活,同时也可以隐藏创建过程 ...

  4. SV概述

    System Verilog概述 路科验证视频,B站可看(补充一下知识) 学习SV之前,最好有Verilog基础 SV诞生 SV发展历史 Verilog - 偏向于设计 System Verilog ...

  5. 03-Tcl数学表达式及expr命令

    3 Tcl书写表达式及expr命令 Tcl提供了有效的数学运算和逻辑运算功能.通过expr可以实现对数学表达式的分析和计算. 3.1 数学与逻辑运算符 运算符 说明 - + ~ ! 一元减(取负).一 ...

  6. Linux-文件指令-cat-less-head-touch

  7. .NET集成IdGenerator生成分布式全局唯一ID

    前言 生成分布式唯一ID的方式有很多种如常见的有UUID.Snowflake(雪花算法).数据库自增ID.Redis等等,今天我们来讲讲.NET集成IdGenerator生成分布式全局唯一ID. 分布 ...

  8. [转帖]RHEL/CentOS 7中的网络暨network.service与NetworkManager.service详解

    在RHEL/CentOS 6及以前的版本中,网络功能是通过一系列网络相关的脚本文件实现,如/etc/init.d/network文件,及如下/sbin/if*文件等. [root@myserver ~ ...

  9. [转帖]JMeter压测Redis

    https://www.cnblogs.com/yjlch1016/p/14052402.html 一.Redis Data Set插件: https://jmeter-plugins.org/wik ...

  10. [转帖]如何在 Linux 中使用ss命令监控网络连接

    https://zhuanlan.zhihu.com/p/99421574 ss命令是用于在Linux系统上显示与网络套接字相关的信息的工具. 该工具显示netstat命令的更多详细信息,该命令用于显 ...