CodeMirror编辑器文本框Textarea代码高亮插件,CodeMirror的简单实用例子

  CodeMirror是一个用于编辑器文本框textarea代码高亮javascript插件,为各种编程语言实现关键字,函数,变量等代码高亮显示,丰富的api和可扩展功能以及多个主题样式,能满足您各种项目的需求。

  最近项目中要求把得到的后端json数据如下图展示给客户,还需要可编辑的功能,于是就用到了CodeMirror这款插件,经过初步的探索,发现它主题样式非常靓丽,简单美观,效果图如下:

下面我就一步一步说明我的使用过程。

  1.首先需要下载codemirror插件,先创建文件夹,下载插件

npm install codemirror

  2.在文件夹中创建一个html文件,引入codemirror中需要的文件

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <!--不管你要引入什么主题配色都需要引入的css文件-->
    <link rel="stylesheet" href="codemirror.css">

   <!--下面的css文件就是不同主题配色的css文件-->
    <link rel="stylesheet" href="node_modules/codemirror/theme/monokai.css">
    <link rel="stylesheet" href="node_modules/codemirror/theme/3024-day.css">
    <link rel="stylesheet" href="node_modules/codemirror/theme/3024-night.css">

   <!--不管你需要引入什么样式和主题都是必须引入的-->   <script src="node_modules/codemirror/lib/codemirror.js"></script>
   <!--使用的是javascript样式的编辑器-->
    <script src="node_modules/codemirror/mode/javascript/javascript.js"></script>

</head>
<style type="text/css">
      .CodeMirror {border: 1px solid black; font-size:13px;border-radius: 5px}
</style>
<body>
    <h2>Theme Demo</h2>   <!--插件起效果的位置,必须是testarea元素-->
    <textarea id="code" name="code">

    </textarea>
   <!--下拉框用来换选主题配色的,当然主题配色非常多,这里只是随便列举几个例子-->
    <p>Select a theme: <select onchange="selectTheme()" id=select>
        <option selected>default</option>
        <option>3024-day</option>
        <option>3024-night</option>
    </select>
    </p>
    <script>
        var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
            lineNumbers: true,//是否显示每一行的行数        readOnly:false,//只读
            styleActiveLine: true,
            matchBrackets: true
        });     //这个是假数据,假设是从后台拿到的,需要展示到页面中
        var obj ={
           "message": "",
           "code": 200,
           "response": {
                "totalCount": 1,
                "results": [
                    {
                        "status": "deployed",
                        "login_port": 22,
                        "role_info": null,
                        "created": "2017-06-19 09:58:04",
                        "login_user": "root",
                        "hostname": "deploy-226",
                        "login_ip": "172.24.6.226",
                        "id": "1147edbde1494df696019fdb094be43d"
                    }
                ],
                "pageSize": 5,
                "page": 1
            },
            "success": true
        }

        setTimeout(function(){//假设两秒后才获取到数据
            editor.setValue(JSON.stringify(obj,null,4))//JSON.stringify()方法的第三个参数的目的就是保留格式的,如果没有的话,
        },2000)                                        //普通的JSON.stringify(obj)仅仅就是把对象转字符串,并不辉保留空格和换行

     //下拉框选择的时候换主题配色
        var input = document.getElementById("select");
        function selectTheme() {
            var theme = input.options[input.selectedIndex].textContent;//获取下拉框的内容
            editor.setOption("theme", theme);//把内容设置为主题色,
        }
    </script>
</body>
</html>

  3.介绍简单的api

  <1>editor.setValue(string),为codemirror插件赋值,用来显示到页面中

  <2>editor.getValue(),当你在页面中编辑的时候,可以用这个方法来获取到你编辑的内容

  <3>onChange(instance,changeObj),codeMirror文本被修改后触发

  <4>getLine(line):获取指定行的文本内容

  <5>ineCount():统计编辑器内容行数

  更多的api可以见官网http://codemirror.net/

  4.效果如下图:

  

可以下拉款更换配色主题。

我的实例的github源码在此 https://github.com/jiangzhenfei/CodeMirror,可以克隆到本地,然后npm install下载依赖的包,吧index.html在浏览器打开就可以看到效果。

时间: 2024-10-14 11:43:55

CodeMirror编辑器文本框Textarea代码高亮插件,CodeMirror的简单实用例子的相关文章

华丽丽的在线代码高亮组件CodeMirror

偷懒为码农天性之一:能一蹴而就的决不愚公移山,能一劳永逸的决不孜孜不倦!其中一个代码实例就是 动态配置,将不同的场景抽象成通用逻辑加配置,这样就可以"一处代码供全球,不做代码搬运工",更有甚者是把特殊的代码也变成是动态加载(比如用Groovy, Clojure去做动态加载).当配置动态代码时,总得把代码上传到服务器,如果代码是通过贴到上传页面的话,Textarea里的代码可没有IDE下那么婀娜多姿,要想好看就得想办法!在线代码高亮组件 正在灯火阑珊处.... 在线代码高亮组件有很多,特

[转]7个高性能JavaScript代码高亮插件

对于喜欢写技术博客的同学来说,一定对代码高亮组件非常熟悉.一款优秀的JavaScript代码高亮插件,将会帮助你渲染任何一种编程语言,包括一些关键字的着色,以及每行代码的缩进等.今天我们要来分享一些高性能的JavaScript代码高亮插件,这些JavaScript代码高亮插件将非常有效地帮你实现在网页上的代码编辑和展示. 1.SyntaxHighlighter – 最优秀的JavaScript代码高亮插件 SyntaxHighlighter 是一款完全基于JavaScript的代码高亮插件,Sy

7个高性能JavaScript代码高亮插件

本文由码农网 – 小峰原创,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 对于喜欢写技术博客的同学来说,一定对代码高亮组件非常熟悉.一款优秀的JavaScript代码高亮插件,将会帮助你渲染任何一种编程语言,包括一些关键字的着色,以及每行代码的缩进等.今天我们要来分享一些高性能的JavaScript代码高亮插件,这些JavaScript代码高亮插件将非常有效地帮你实现在网页上的代码编辑和展示. 1.SyntaxHighlighter – 最优秀的JavaScript代码高亮插件 Syn

google code-prettify 代码高亮插件使用方法

找代码高亮插件选了好久,还是这个使用起来比较方便. 先上链接:插件下载地址 官方使用方法地址 建议看官方的资料,我这里仅仅简要描述一下使用方法: 引入方法: 测试引入是否成功:herf 换成 自己放置的路径,打开测试网页源代码,点击css,js文件链接 能看到代码内容即OK. <link rel="stylesheet" type="text/css" href="prettify.css"> <script type=&quo

点击扩展或缩小文本框效果代码

点击扩展或缩小文本框效果代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /><title>点击扩展或缩小文本框效果代码-蚂蚁部落</title><script type="te

代码高亮插件SyntaxHighlighter

一 第一 解压压缩包,scripts文件夹中包含了各种语言的JS文件,在styles文件夹中是各种显示高亮的主题 第二 如何使用?首先要引入其核心javascript文件shCore.js和核心CSS文件shCore.css,这两个是必选要引入的.其次引入你要高亮的语言JS,比如我想高亮显示的是C#,那么必须引入在scripts文件夹中的shBrushCSharp.js,最后引入高亮显示的主题CSS,默认的为shThemeDefault.css 第三 下面以高亮显示JavaScript代码为例讲

css设置input文本框样式代码实例

css设置input文本框样式代码实例:使用css设置input元素的样式是最为常用的操作之一,当然也是最为基础的操作,可能对于刚刚接触css的朋友还不够熟悉,下面就通过一段简单的代码历史演示一下如何设置文本框的样式,当然这个演示可能并不是特别的美观,这里的目的也只是起到一个演示作用,代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="

SyntaxHighlighter代码高亮插件

SyntaxHighlighter是Google Code上的一个开源项目,主要用于给网页上的代码着色, 使用十分方便,效果也不错,而且几乎支持常见的所有语言. 使用步骤: 一.下载并解压缩SyntaxHighlighter(http://download.csdn.net/detail/itmyhome/7757359)当前版本3.0.83 二.引入文件 将解压后的scripts和styles文件夹复制到项目中,在页面中引入shCore.js和核心CSS文件shCore.css 其次引入你要高

用JS添加文本框案例代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-