整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

10个用于语法高亮显示的Javascript库

10个用于语法高亮显示的Javascript库

开发人员需要语法突出显示工具作为辅助符号的一种形式,以帮助我们在结构化编程语言或标记中编写代码。有些代码高亮库附带了额外的功能,例如拼写检查器,代码折叠,以及提高文本上下文中总体代码可读性的功能,从而使编码人员可以检测可能跨越几页的代码中的错误。笔者将在本文介绍10个语法高亮库



1.SHJS

SHJS是一个JavaScript库,可以在浏览器上突出显示客户端的HTML源代码。它使用GNU源代码突出显示的语言定义,从而使其能够突出显示以多种语言编写的源代码。SHJS带有Highlight程序中的几个主题,并根据GNU v3许可证分发。


http://shjs.sourceforge.net/


2. SyntaxHighlighter

SyntaxHighlighter是功能齐全的客户端语法突出显示工具。

https://github.com/syntaxhighlighter


3. highlight.js

Highlight.js是Web的语法突出显示库。它的功能包括对185种语言和89种样式的支持。它具有自动语言检测和多语言代码突出显示功能。它也可用于所有node.js,并可以与任何标记一起使用,并且与任何其他JS框架完全兼容。

https://github.com/highlightjs/highlight.js


4. Rainbow

Rainbow是一个轻量级的代码突出显示器(1.4kb),只需要一个JS模块即可突出显示所展示的语言。颜色和字体是通过CSS主题支持定制的。通过按快捷键组合,它可以帮助开发人员轻松按颜色跟踪许多变量。

https://github.com/ccampbell/rainbow


5. Microlight.js

Microlight.js是一个开源库,通过突出显示(尽管提供了编程语言)并且没有其他语言包或样式来改进代码段。与其他代码突出显示库不同,它使用常规突出显示策略。它突出显示代码,而不考虑编程语言或代码结构。

https://github.com/asvd/microlight


6. CodePress

CodePress是一个基于Web的编辑器,其语法突出显示代码是用JavaScript编写的。在浏览器上输入文字时,它将实时为文本着色。它具有代码片段,快捷方式,自动完成和多窗口功能。

http://codepress.sourceforge.net/


7. Jush JavaScript Syntax Highlighter

JavaScript Syntax Highlighter(Jush)用于以以下语言突出显示客户端语法:HTML,JavaScript,CSS,PHP,HTTP和SMTP协议,SQL,PHP.ini和Apache配置。

https://jush.sourceforge.io/


8. Prism.js

Prism.js是一个轻量级的语法突出显示工具,它考虑了可扩展的内置现代Web标准。如今,它已在数千个网站中实现。它简单,直观,轻如羽毛,高度可扩展,更快且易于样式化。

https://prismjs.com/


9. Syntax.js

Syntax.js是一个简单的代码语法突出显示库,对于任何编程语言而言,该语法都很小,灵活,主题化且速度更快,它有三个内置主题:

https://github.com/rainner/syntaxy-js


10. CodePrinter

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。实际上我们根本用不了这么多,因此我们在用的时候没有这么大。

基本使用方法

  • 首先我们得在页面引用我们的css和js文件

基本用法

  • 标准的写法我们需要使用pre和code标签,就像下面这样,code的class可以指定显示的语言
<pre>
 <code class="language-css">p { color: red }</code>
</pre>

显示的效果如下,这是一个最简单的实例

实例

我们来尝试稍微复杂点的,右上角会显示语言和复制,非常的实用,比如我们搭建自己的博客或者记录笔记等场景。

实例

常见语言测试

我这里分别使用JavaScript、Java、C#和Python语言进行了简单的测试,使用的是官网提供的Coy主题,效果如下图,还有太多的语言就不一一测试了。

常见语言

ES6或者其他用法

$ npm install prismjs

import Prism from 'prismjs';

这个地方可能需要Babel-plugin-prmjs插件来管理你的语言等等配置。

在nodejs中使用

var Prism=require('prismjs');
// 你想使用高亮的代码片段
var code="var data=1;";
// 返回一个html字符串
var html=Prism.highlight(code, Prism.languages.javascript, 'javascript');

主题预览

我们这里使用React的一段代码进行演示,它是支持JSX代码高亮的

  • 默认的主题样式

默认主题

  • Dark主题样式

Dark主题

  • funky主题样式

funky主题

  • Okaidia主题样式

Okaidia主题

  • Twilight主题样式

Twilight主题

  • coy主题样式

coy主题

  • Solarized Light主题样式

Solarized Light主题

  • Torrow Night主题样式

Torrow Night

总结

Prism支持的语言实在是太多了,我这里就不在一一演示,大家感兴趣的可以自己去研究研究,官网提供了完整的Demo,还支持各种扩展,例如显示行号这样的需求,它都可以实现,代码高亮的插件有不少,大家可以在评论区留下你自己使用的哪一个,每款插件都只是一种选择,选择一个适合自己的或者自己喜欢的就可以了,希望本文对你有所帮助,感谢支持!

T之家 4 月 22 日消息,微软预告正在开发的 Visual Studio 2022 17.6,亮点之一是会高亮突出 JavaScript 和 TypeScript 语法。微软承诺后续将对关键字、标签中的字符串、转义字符、JSDocs 等进行高亮处理。

IT之家附对比效果图如下:

微软表示本次改进,是听取了开发者的反馈和建议,让开发者更轻松地区分复杂代码的不同部分。Visual Studio 2022 17.6 使用不同颜色,能够让开发者更轻松地筛选代码。

开发者如果不喜欢这项改进,可以前往“工具”>“选项”>“环境”>“字体和颜色”,然后从“显示设置”下拉列表中选择“文本编辑器”进行调整。