codemirror代码编辑器,检测语法高亮显示

今天做项目的时候,有个需求是实现编辑JS代码时语法高亮显示,所以用codemirror插件实现了出来,在这里记录下来!


codemirror官网:http://codemirror.net/


codemirror支持自定义主题,而且支持多种语言的语法检测,感觉挺好用的;在这里我用的是自定义的仿照Run.js的主题


写的Demo如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CodeMirror</title>
<link rel="stylesheet" href="css/codemirror.css">
<link rel="stylesheet" href="css/custom.css">
<link rel="stylesheet" href="css/eclipse.css">
<script type="text/javascript" src="js/jquery-2.2.1.min.js"></script>
<script type="text/javascript" src="js/codemirror.js"></script>
<script type="text/javascript" src="js/javascript.js"></script>

<style type="text/css">
body{
	background: #EBEBEB;
}
textarea{
	width: 1000px;
	height: 800px;
}
#showContent{
	width: 1000px;
	height: 400px;
	margin: 10px auto 0 auto;
	color: #FFEE99;
	background: #AAAAAA;
}
.btn{
	width: 1000px;
	height: 20px;
	margin: 10px auto 0 auto;
	text-align: center;
}
</style>
</head>
<body>
<textarea id="myCode"></textarea>
<div class="btn"><button οnclick="getInputValue();">获取输入的值</button></div>
<pre id="showContent"></pre>

<script type="text/javascript">
var editor = CodeMirror.fromTextArea(document.getElementById("myCode"), {
    lineNumbers: true, /* 定义是否显示行号 */
    mode: "javascript",  /* 定义语法的类型,如果是html则为:text/html */
    theme: "custom" /* 定义主题 */
});

function getInputValue(){
	document.getElementById("showContent").innerText = editor.getValue();
}
</script>
</body>
</html>

测试效果图:


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vue-codemirror是一个基于Vue.js代码编辑器组件,提供了一个用户友好的界面和丰富的功能来编辑各种编程语言的代码。引用中的内容是Vue-codemirror组件的一些属性和配置选项。 其中,value属性用于设置编辑器的初始内容,可以是代码字符串或者是从服务器加载的代码文件。这样可以在编辑器中显示已有的代码。 Mode属性用于设置编译器的编程语言关联内容,通过引入对应的模块或包,使得编辑器能够识别和高亮显示特定编程语言的语法。 Theme属性用于设置编辑器的主题,可以选择不同的主题样式来满足用户的个性化需求。 tabSize属性用于设置tab的空格宽度,可以根据用户的喜好和项目要求来调整。 lineNumbers属性用于决定是否在编辑器中显示行号,方便用户进行代码的定位和调试。 smartIndent属性用于控制自动缩进的开关,当该选项打开时,编辑器会根据上一行的缩进自动调整下一行的缩进。 indentUnit属性用于设置缩进的单位,可以是空格或者制表符,根据项目的要求来进行设置。 keyMap属性用于设置快捷键,可以自定义或选择预设的快捷键方案,以提高代码编辑的效率。 通过配置这些属性和选项,可以使得vue-codemirror代码编辑器满足不同开发需求,并提供良好的编码体验。<span class="em">1</span> #### 引用[.reference_title] - *1* [vue codemirror 代码编辑器](https://blog.csdn.net/qq_42181155/article/details/121253626)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值