codeMirror編寫屬於自己的編譯器

codeMirror是一款十分強大的代碼編輯插件,提供了十分豐富的API,

codeMirror調用非常方便

首先在頁面中載入插件CSS及JS文件

    <link href="/static/codemirror/lib/codemirror.css" rel="stylesheet" >

  <script src="/static/codemirror/lib/codemirror.js"></script>

同時加載你所需要使用的腳本JS及風格樣式CSS文件,如下舉例:

<!--begin code mirror -->

<!--下面兩個是使用Code Mirror必須引入的-->

<link rel="stylesheet" href="lib/codemirror.css"/>

<script src="lib/codemirror.js"></script>

<!--Java代碼高亮必須引入-->

<script src="clike.js"></script>

<!--groovy代碼高亮-->

<script src="mode/groovy/groovy.js"></script>

<script src="mode/python/python.js"></script>

<script src="mode/javascript/javascript.js"></script>

<!--引入css文件,用以支持主題-->

<!-- <link rel="stylesheet" href="theme/dracula.css"/> -->

<link rel="stylesheet" href="theme/blackboard.css"/>

 

<!--支持代碼摺疊-->

<link rel="stylesheet" href="addon/fold/foldgutter.css"/>

<script src="addon/fold/foldcode.js"></script>

<script src="addon/fold/foldgutter.js"></script>

<script src="addon/fold/brace-fold.js"></script>

<script src="addon/fold/comment-fold.js"></script>

<!--括號匹配-->

<script src="addon/edit/matchbrackets.js"></script>

 

 

html代碼

<!DOCTYPE html>

<html lang="en">

<!--begin code mirror -->

<!--下面兩個是使用Code Mirror必須引入的-->

<link rel="stylesheet" href="lib/codemirror.css"/>

<script src="lib/codemirror.js"></script>

<!--Java代碼高亮必須引入-->

<script src="clike.js"></script>

<!--groovy代碼高亮-->

<script src="mode/groovy/groovy.js"></script>

<script src="mode/python/python.js"></script>

<script src="mode/javascript/javascript.js"></script>

<!--引入css文件,用以支持主題-->

<!-- <link rel="stylesheet" href="theme/dracula.css"/> -->

<link rel="stylesheet" href="theme/blackboard.css"/>

 

<!--支持代碼摺疊-->

<link rel="stylesheet" href="addon/fold/foldgutter.css"/>

<script src="addon/fold/foldcode.js"></script>

<script src="addon/fold/foldgutter.js"></script>

<script src="addon/fold/brace-fold.js"></script>

<script src="addon/fold/comment-fold.js"></script>

<!--括號匹配-->

<script src="addon/edit/matchbrackets.js"></script>

 

<!--end Code Mirror -->

 

<head>

<meta charset="utf-8"/>

<title>代碼框</title>

</head>

<h1>代碼在線編輯編譯demo</h1>

<body>

<!-- begin code -->

<textarea class="form-control" id="code" name="code"></textarea>

<!-- end code-->

</div>

 

<script>

//根據DOM元素的id構造出一個編輯器

var editor = CodeMirror.fromTextArea(document.getElementById("code"), {

mode: "text/groovy", //實現groovy代碼高亮

mode: "text/x-java", //實現Java代碼高亮

mode: "text/python",

mode: "text/javascript",//實現python代碼高亮

lineNumbers: true,  //顯示行號

theme: "blackboard",  //設置主題

lineWrapping: true, //代碼摺疊

foldGutter: true,

gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"],

matchBrackets: true,  //括號匹配

//readOnly: true, //只讀

});

editor.setSize('800px', '500px'); //設置代碼框的長寬

editor.setValue(""); //先代碼框的值清空

var scriptCode = `#!/usr/bin/python

# -*- coding: UTF-8 -*-

for i in range(1,5):

for j in range(1,5):

for k in range(1,5):

if( i != k ) and (i != j) and (j != k):

print i,j,k`

editor.setValue(scriptCode); //給代碼框賦值

// editor.setOption("readOnly", true);

</script>

</body>

</html>

 

運行結果:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章