开发人员需要语法突出显示工具作为辅助符号的一种形式,以帮助我们在结构化编程语言或标记中编写代码。有些代码高亮库附带了额外的功能,例如拼写检查器,代码折叠,以及提高文本上下文中总体代码可读性的功能,从而使编码人员可以检测可能跨越几页的代码中的错误。笔者将在本文介绍10个语法高亮库
SHJS是一个JavaScript库,可以在浏览器上突出显示客户端的HTML源代码。它使用GNU源代码突出显示的语言定义,从而使其能够突出显示以多种语言编写的源代码。SHJS带有Highlight程序中的几个主题,并根据GNU v3许可证分发。
http://shjs.sourceforge.net/
SyntaxHighlighter是功能齐全的客户端语法突出显示工具。
https://github.com/syntaxhighlighter
Highlight.js是Web的语法突出显示库。它的功能包括对185种语言和89种样式的支持。它具有自动语言检测和多语言代码突出显示功能。它也可用于所有node.js,并可以与任何标记一起使用,并且与任何其他JS框架完全兼容。
https://github.com/highlightjs/highlight.js
Rainbow是一个轻量级的代码突出显示器(1.4kb),只需要一个JS模块即可突出显示所展示的语言。颜色和字体是通过CSS主题支持定制的。通过按快捷键组合,它可以帮助开发人员轻松按颜色跟踪许多变量。
https://github.com/ccampbell/rainbow
Microlight.js是一个开源库,通过突出显示(尽管提供了编程语言)并且没有其他语言包或样式来改进代码段。与其他代码突出显示库不同,它使用常规突出显示策略。它突出显示代码,而不考虑编程语言或代码结构。
https://github.com/asvd/microlight
CodePress是一个基于Web的编辑器,其语法突出显示代码是用JavaScript编写的。在浏览器上输入文字时,它将实时为文本着色。它具有代码片段,快捷方式,自动完成和多窗口功能。
http://codepress.sourceforge.net/
JavaScript Syntax Highlighter(Jush)用于以以下语言突出显示客户端语法:HTML,JavaScript,CSS,PHP,HTTP和SMTP协议,SQL,PHP.ini和Apache配置。
https://jush.sourceforge.io/
Prism.js是一个轻量级的语法突出显示工具,它考虑了可扩展的内置现代Web标准。如今,它已在数千个网站中实现。它简单,直观,轻如羽毛,高度可扩展,更快且易于样式化。
https://prismjs.com/
Syntax.js是一个简单的代码语法突出显示库,对于任何编程语言而言,该语法都很小,灵活,主题化且速度更快,它有三个内置主题:
https://github.com/rainner/syntaxy-js
CodePrinter是一个JavaScript可视代码编辑器,它支持语法突出显示,自定义代码格式以及13种内置主题。
https://www.cssscript.com/demo/lightweight-code-editor-with-pure-javascript-codeprinter/
今天要介绍的是一款在Web开发中的轻量级代码高亮插件——PRISM(中文名:棱镜),它是一个基于现代Web开发语言标准构建的,在很多网站都使用到了它。例如我们熟知的React官网,就用到了它,下面截图就可以看到效果。
react
https://prismjs.com/
官网给我们提供了自定义的下载prism的方式,即我们可以分主题,分支持的语言、分扩展插件、以及分开发版和压缩版,如下图所示:
主题选择
prism提供了几乎所有语言的支持,我们截图大致看一下它支持的语言:
语言支持
语言支持
语言支持
由于官网的排版问题,部分内容可能没有截图完整,下面再看一下它支持的插件
插件支持
我选择的是压缩版,然后勾选上了所有插件和所有支持的语言,prism.js和prism.css合在一起大小是370.62k。实际上我们根本用不了这么多,因此我们在用的时候没有这么大。
基本用法
<pre> <code class="language-css">p { color: red }</code> </pre>
显示的效果如下,这是一个最简单的实例
实例
我们来尝试稍微复杂点的,右上角会显示语言和复制,非常的实用,比如我们搭建自己的博客或者记录笔记等场景。
实例
我这里分别使用JavaScript、Java、C#和Python语言进行了简单的测试,使用的是官网提供的Coy主题,效果如下图,还有太多的语言就不一一测试了。
常见语言
$ npm install prismjs import Prism from 'prismjs';
这个地方可能需要Babel-plugin-prmjs插件来管理你的语言等等配置。
var Prism=require('prismjs'); // 你想使用高亮的代码片段 var code="var data=1;"; // 返回一个html字符串 var html=Prism.highlight(code, Prism.languages.javascript, 'javascript');
我们这里使用React的一段代码进行演示,它是支持JSX代码高亮的
默认主题
Dark主题
funky主题
Okaidia主题
Twilight主题
coy主题
Solarized Light主题
Torrow Night
Prism支持的语言实在是太多了,我这里就不在一一演示,大家感兴趣的可以自己去研究研究,官网提供了完整的Demo,还支持各种扩展,例如显示行号这样的需求,它都可以实现,代码高亮的插件有不少,大家可以在评论区留下你自己使用的哪一个,每款插件都只是一种选择,选择一个适合自己的或者自己喜欢的就可以了,希望本文对你有所帮助,感谢支持!
T之家 4 月 22 日消息,微软预告正在开发的 Visual Studio 2022 17.6,亮点之一是会高亮突出 JavaScript 和 TypeScript 语法。微软承诺后续将对关键字、标签中的字符串、转义字符、JSDocs 等进行高亮处理。
IT之家附对比效果图如下:
微软表示本次改进,是听取了开发者的反馈和建议,让开发者更轻松地区分复杂代码的不同部分。Visual Studio 2022 17.6 使用不同颜色,能够让开发者更轻松地筛选代码。
开发者如果不喜欢这项改进,可以前往“工具”>“选项”>“环境”>“字体和颜色”,然后从“显示设置”下拉列表中选择“文本编辑器”进行调整。
*请认真填写需求信息,我们会在24小时内与您取得联系。