CodeMirror官網地址為:https://codemirror.net/
CodeMirror作為一款代碼編輯器,其應用場景主要是在線網站寫代碼。
如現在的leetcode、洛谷、code-vs等都使用不同的代碼編輯器。
代碼示例:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>測試</title> <link rel="stylesheet" type="text/css" href="../fonticon/css/codemirror.css"/> <link rel="stylesheet" href="../fonticon/css/codemirror/theme/midnight.css"> </head> <body> <textarea name="code" id="editorArea" style="display:none"></textarea> <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"> </script> <script src="../js/codemirror.js"></script> <script> var editor = CodeMirror.fromTextArea(document.getElementById("editorArea"), { lineNumbers: true, //是否在編輯器左側顯示行號 matchBrackets: true, // 括號匹配 mode: "text/x-c++src", //C++ indentUnit:4, // 縮進單位為4 indentWithTabs: true, // smartIndent: true, //自動縮進,設置是否根據上下文自動縮進(和上一行相同的縮進量)。默認為true。 styleActiveLine: true, // 當前行背景高亮 theme: 'midnight', // 編輯器主題 }); editor.setSize('600px','400px'); //設置代碼框大小 </script> </body> </html>
效果圖:
關於如何給代碼框中賦值和取值,可使用如下方法:
editor.setValue(""); //賦值 editor.getValue(); //取值
上述只是一個簡單的示例,更多知識還請參考官方網站對應的文檔。