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

阿里产品大大:react项目这块用aceEditor代码编辑器吧,小姐姐看完都会的教程,你还不会????大家好,我是:じ☆ve朽木,开发经验都是一步一步慢慢积累的,没有谁生来就具有的,只要我们付出了努力,肯定就会有收获!进入我的博客,带你了解Java知识,js小技巧,带你玩转高端物联网。博客地址为:じ☆ve朽木。react项目中有个需求需要对接一个代码编辑器,查看了antdesign官方社区精选组件提供了两款代码编辑器,有一款是微软推出的,但是代码提示不是很友好,最后需求又查看了阿里云的相关…

大家好,又见面了,我是你们的朋友全栈君。

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

大家好,我是:じ☆ve朽木,开发经验都是一步一步慢慢积累的,没有谁生来就具有的,只要我们付出了努力,肯定就会有收获!进入我的博客,带你了解Java知识,js小技巧,带你玩转高端物联网。博客地址为:じ☆ve朽木。

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

不建议去查看aceEditor官方,最好去github查看

安装命令:

`npm install react-ace` 

引入包:

import AceEditor from 'react-ace';
import 'ace-builds/src-noconflict/mode-sql'; // sql模式的包
import 'ace-builds/src-noconflict/mode-mysql';// mysql模式的包
import 'ace-builds/src-noconflict/theme-eclipse';// eclipse的主题样式

界面渲染:

<AceEditor
     mode='mysql'
     theme="eclipse"
     name="app_code_editor"
     fontSize={ 
   14}
     showPrintMargin
     showGutter
     onChange={ 
   value => { 
   
       console.log(value); // 输出代码编辑器内值改变后的值
     }}
     value={ 
   props.data.sql}
     wrapEnabled
     highlightActiveLine  //突出活动线
     enableSnippets  //启用代码段
     style={ 
   { 
    width: '100%', height: 300 }}
     setOptions={ 
   { 
   
       enableBasicAutocompletion: true,   //启用基本自动完成功能
       enableLiveAutocompletion: true,   //启用实时自动完成功能 (比如:智能代码提示)
       enableSnippets: true,  //启用代码段
       showLineNumbers: true,
       tabSize: 2,
     }}
   />

操作至此就算完成了,但还存在问题,编辑器引入成功,但是引入的依赖包却找不到导致主题以及代码块无法正常使用。

查阅API后发现安装的 react-ace依赖包不完整,发现少了一个ace-builds的依赖包,发现问题后就重新安装了一遍,正确的安装命令: npm install react-ace ace-builds

已经安装过react-ace可以只安装ace-builds,安装命令:npm install ace-builds

安装完ace-builds后发现引入的主题以及代码块能正常使用了,我们看一下演示效果
aceEditor演示效果
虽然已经能正常使用后,但还有一个问题,查看了官方的演示demo,启用实时自动完成功能后,输入会有代码提示块,但我们这个却没有代码提示。

  本文原创为:じ☆ve朽木,原文链接:react项目加入:aceEditor代码编辑器,小姐姐看完都会的教程,你还不会????,请大家支持原创,转载请附上原文出处链接,拒绝抄袭。

我们先看一下个官方演示demo吧
aceEditor官方demo演示效果图
检查我们的代码以及官方demo展示的代码,几乎一模一样,但就是不提示,经过多次尝试以及API的查看,发现我们引入的依赖包还不够,我们还需要引入另外一个ace-builds内的ext-language_tools依赖。

import 'ace-builds/src-noconflict/ext-language_tools';

在这里插入图片描述
引入后我们再来看一下效果图:

最终效果图

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148175.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android 骨骼动画教程,使用DragonBones开发FLASH骨骼动画入门教程

    android 骨骼动画教程,使用DragonBones开发FLASH骨骼动画入门教程转载自:http://dragonbones.github.io/getting_started_cn.htmlDragonBones快速入门指南DragonBones快速入门指南采用知识共享协议3.0版本。目录DragonBones是什么?DragonBones是一套开源的2D骨骼动画框架和工具,它包含了基于FlashPro的骨骼动画编辑面板DragonBonesDesignPanel及骨骼…

    2022年6月11日
    25
  • CListCtrl实现tooltip信息提示

    CListCtrl实现tooltip信息提示当鼠标移动到CListCtrl的某一行时,提示一些信息。具体实现方法:1、头文件定义CToolTipCtrlm_tooltip;2、在OnInitDialog()中进行初始化EnableToolTips(TRUE);   m_tooltip.Create(this);   m_tooltip.SetMaxTipWidth(500);   m_tooltip.Act…

    2022年6月23日
    35
  • win7上ModifyStyleEx无效的解决办法

    win7上ModifyStyleEx无效的解决办法创建窗口时,指定窗口样式为WS_EX_TOOLWINDOW;创建完成之后,还要通过以下语句进一步修改窗口属性:ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWIN

    2022年7月1日
    20
  • 光电编码器工作原理[通俗易懂]

    光电编码器工作原理[通俗易懂]光电编码器工作原理点击打开链接根据原理的不同又可分为:增量型、绝对型和混合式增量型。光电编码器的主要工作原理为光电转换,是一种通过光电转换将输出轴的机械几何位移量转换为脉冲或数字量的传感器。光电编码器主要由光栅盘和光电检测装置构成,在伺服系统中,光栅盘与电动机同轴致使电动机的旋转带动光栅盘的旋转,再经光电检测装置输出若干个脉冲信号,根据该信号的每秒脉冲数便可计算当前电动机的转速

    2022年9月26日
    0
  • 如何完整卸载MySQL[通俗易懂]

    如何完整卸载MySQL[通俗易懂]如果MySQL没有卸载干净,想重装就不行了,本人按照网上的教程来过一遍,但是总是会有残留,于是自己琢磨了一下:1.先停止mysql服务,cmd模式下输入netstopmysql;2.进入控制面板卸载mysql;3.删除mysql文件夹下的my.ini文件及所有文件;4.运行“regedit”文件,打开注册表删除HKEY_LOCAL_M

    2022年6月17日
    34
  • 解决touchStart滑动时触发点击事件「建议收藏」

    解决touchStart滑动时触发点击事件「建议收藏」由于我们在将点击事件委托到div,span,font,p等元素标签上时会导致移动端的ios设备无法识别这个点击事件(一般指click事件),此时我们一般会使用touchstart来替换click事件,但是使用touchstart来代替click事件的弊端就立刻显示出来,每当我们滑动屏幕时就会立刻出发点击事件此时加入我这个封装的方法,这个弊端就会迎刃而解functiontap(el,fn…

    2022年6月19日
    24

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号