開發人員需要語法突出顯示工具作為輔助符號的一種形式,以幫助我們在結構化編程語言或標記中編寫代碼。有些代碼高亮庫附帶了額外的功能,例如拼寫檢查器,代碼折疊,以及提高文本上下文中總體代碼可讀性的功能,從而使編碼人員可以檢測可能跨越幾頁的代碼中的錯誤。筆者將在本文介紹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小時內與您取得聯系。