codemirror

使用JavaScript为浏览器实现的多功能文本编辑器。

codemirror作用:专门用于编辑代码,并带有实现更高级编辑功能的多种语言模式和附加组件

codemirror的官网:https://codemirror.net/  (全英文的)

react-codemirror的官网:https://www.npmjs.com/package/react-codemirror2

安装:npm install codemirror --save

如果你是在react使用的话,建议这样安装:npm install codemirror react-codemirror2 --save

今天在项目中使用到了codemirror,就上网去搜索了一番,有了一个大概的了解,因为是一个react项目,所以就直接安装了react-codemirror2

1. 首先从react-codemirror2中引入Codemirror组件

import {UnControlled as CodeMirror} from 'react-codemirror2'

2. 他的核心在于引入codemirror.js和codemirror.css

import 'codemirror/lib/codemirror.js'
import 'codemirror/lib/codemirror.css'

3.  codemirror的背景主题(可以设置自己喜欢的主题样式),同时他还需要在options里面设置theme:'yonce'

import 'codemirror/theme/yonce.css'

4. 引入一些代码模式

// 代码模式,clike是包含java,c++等模式的
import 'codemirror/mode/clike/clike'
import 'codemirror/mode/javascript/javascript'   //js
import 'codemirror/mode/python/python.js'        //python

5. 代码高亮和代码折叠

//代码高亮
import 'codemirror/addon/selection/active-line';// 代码折叠
import 'codemirror/addon/fold/foldgutter.css';
import 'codemirror/addon/fold/foldcode.js';
import 'codemirror/addon/fold/foldgutter.js';
import 'codemirror/addon/fold/brace-fold.js';
import 'codemirror/addon/fold/comment-fold.js';

项目需要一个上下左右滚动的滚动条,csdn一番后,找到这受scrollbarStyle属性控制,scrollbarStyle文档地址:https://codemirror.net/demo/simplescrollbars.html  ,默认为native,还有一个属性null(表示禁用),可以通过插件获取到simple和overlay两种,但是需要引入js和css,咋了好久才找到,分别是:

//代码滚动
import 'codemirror/addon/scroll/simplescrollbars.js'
import 'codemirror/addon/scroll/simplescrollbars.css'

可以在node_modules中找的codemirror在文件夹,上述所有的js和css都可以在里面找到

附上代码:value表示编辑器默认显示的代码

render() {const {data}=this.statereturn (<CodeMirroreditorDidMount={editor => { this.instance = editor }}value={data}options = {{lineNumbers: true, //显示行号mode: {name:'text/x-java'},//语言autofocus:true,//自动获取焦点styleActiveLine:true,//光标代码高亮theme:'yonce',  //主题scrollbarStyle:'overlay',lineWrapping:false, //代码自动换行foldGutter:true,gutters:['CodeMirror-linenumbers','CodeMirrorfoldgutter'],//end}}/>)}

效果:文字是自己后来加的,为了展示上下左右的滚动条

在react中使用codemirror相关推荐

  1. React中CodeMirror插件的使用及封装

    目录 一.CodeMirror是什么 二.React中CodeMirror的基本使用介绍 (一)引入CodeMirror 1. 安装CodeMirror插件 2.引入 CodeMirror 插件 (二 ...

  2. react中CodeMirror (代码编辑器)

    前言: 实现一个在react项目中页面展示代码编辑器的效果. codemirror: 使用JavaScript为浏览器实现的多功能文本编辑器.codemirror作用:专门用于编辑代码,并带有实现更高 ...

  3. 处理 react_【学习教程】React 中阻止事件冒泡的问题

    来源 | https://www.cnblogs.com/Wayou/p/react_event_issue.html 在正式开始前,先来看看 js 中事件的触发与事件处理器的执行. js 中事件的监 ...

  4. react中ref的使用

    在react中获取真实dom的时候就需要用到ref属性,具体使用如下 var MyComponent = React.createClass({handleClick: function() {con ...

  5. react中使用构建缓存_如何在React中构建热图

    react中使用构建缓存 Heat maps are a great way of visualizing correlations among two data sets.  With colors ...

  6. react中使用构建缓存_通过构建海滩度假胜地网站,了解如何使用React,Contentful和Netlify...

    react中使用构建缓存 In this full course from John Smilga you will learn React by building a beach resort we ...

  7. 创建react应用程序_通过创建食谱应用程序来学习在React中使用API

    创建react应用程序 Learn how to use external APIs with React and React Router in a full tutorial from Hamza ...

  8. react中纯函数_如何在纯React中创建电子邮件芯片

    react中纯函数 by Andreas Remdt 由Andreas Remdt 如何在纯React中创建电子邮件芯片 (How to create email chips in pure Reac ...

  9. 如何在React中使用Typescript

    TypeScript can be very helpful to React developers. TypeScript对React开发人员可能非常有帮助. In this video, Ben ...

  10. react中使用scss_我如何将CSS模块和SCSS集成到我的React应用程序中

    react中使用scss by Max Goh 由Max Goh 我如何将CSS模块和SCSS集成到我的React应用程序中 (How I integrated CSS Modules with SC ...

最新文章

  1. 使用vux+ajax,Vue 应用中结合vux使用微信 jssdk的方法
  2. Java Web项目中解决中文乱码方法总结
  3. 很蛋疼的ORA-00911:无效的字符错误
  4. NTP时间服务相关基础及配置文件详解
  5. Unity重置Animator到初始状态和重复播放同一个Animation
  6. 移动办公系统 服务器地址,安卓系统移动办公服务器地址
  7. mysql表类型_MySQL表类型的选择
  8. 关于禁止svn客户端长驻内存的方法
  9. JAVA从url中分离ip和port
  10. 寄存器之通用寄存器(一)
  11. MSSQL为单独数据库创建登录账户
  12. 《程序人生》深漂程序猿2019的一年
  13. 2020届 中国农业银行 研发中心 武汉研发部 校招 (面经)
  14. 写在发现谷歌拼音输入法网站消失的今天
  15. 调试经验——使用VBA下载网络资源
  16. 基于微信小说电子书小程序系统设计与实现 开题报告
  17. Android连接SQLServer详细教程(数据库+服务器+客户端),并在微软Azure云上搭建云服务
  18. 【网页设计】HTML+CSS保护野生动物北极熊介绍网页设计专题
  19. XML (可扩展标记语言)
  20. 计算机专业英语-01:Foreword

热门文章

  1. 金沙滩51单片机LED 闪烁程序
  2. 基于PCL的QT开发(两个月内更新完)
  3. 通过iis发布网站、并添加ssl证书
  4. c语言课设ktv点歌系统1,C语言ktv点歌系统
  5. 网页版 Facebook 第三方登录示例 Facebook网页登录
  6. 指数型组织:未来组织发展的必然趋势
  7. TD式创新:中国标准横空出世 回归主流的TDD LTE
  8. DVD光驱注册表修复
  9. opencv批量转换图片格式
  10. 微信无法连接到服务器1-10091,微信能登录但是被限制功能了怎么解封