vue 代碼高亮插件全面對(duì)比測(cè)評(píng)
代碼高亮是必須的,社區(qū)必須活躍,不然修復(fù)bug沒有一點(diǎn)點(diǎn)參考,太費(fèi)時(shí)間。自動(dòng)補(bǔ)全縮進(jìn),快捷鍵操作,搜索和替換等功能不是必須的,如果有,能拿來裝逼當(dāng)然最好,不能也不影響使用。
故而挑出了以下幾個(gè),再具體分析,逐個(gè)調(diào)查,查看后續(xù)開發(fā),部署的坑,坑少方便的就被我選中。
深入對(duì)比1,aceAce是一個(gè)用JavaScript編寫的嵌入式代碼編輯器。它與Sublime,Vim和TextMate等原生編輯器的功能和性能相匹配。它可以很容易地嵌入到任何網(wǎng)頁和JavaScript應(yīng)用程序中。
點(diǎn)擊查看官網(wǎng)
CodeMirror是一個(gè)用于編輯器文本框textarea代碼高亮javascript插件,為各種編程語言實(shí)現(xiàn)關(guān)鍵字,函數(shù),變量等代碼高亮顯示,豐富的api和可擴(kuò)展功能以及多個(gè)主題樣式,能滿足您各種項(xiàng)目的需求。
CodeMirror支持大量語言的語法高亮,包括C、C++、C#、Java、Perl、PHP、JavaScript、Python、Lua、Go、Groovy、Ruby等,以及diff、LaTeX、SQL、wiki、Markdown等文件格式。此外,CodeMirror還支持代碼自動(dòng)完成、搜索/替換、HTML預(yù)覽、行號(hào)、選擇/搜索結(jié)果高亮、可視化tab、Emacs/VIM鍵綁定、代碼自動(dòng)格式等。
CodeMirror采用MIT開源許可協(xié)議,目前已經(jīng)被集成到各種應(yīng)用程序中,如Adobe Brackets、CoDev、Light Table等開發(fā)環(huán)境,還被作為各種SQL、Haxe、JavaScript在線編輯器的基礎(chǔ)庫來使用。
點(diǎn)擊查看官網(wǎng)
Monaco Editor是為VS Code提供支持的代碼編輯器,運(yùn)行在瀏覽器環(huán)境中。編輯器提供代碼提示,智能建議等功能。供開發(fā)人員遠(yuǎn)程更方便的編寫代碼。移動(dòng)瀏覽器或移動(dòng)Web框架不支持Monaco編輯器。簡(jiǎn)單的理解就是VSCode中的代碼編輯器和Monaco Editor使用的很多相同的核心模塊。
總的來說,這三者功能都挺強(qiáng)的,那通過其缺點(diǎn)來挑選一款來使用吧,
ace,沒有代碼對(duì)比的功能,這不行啊,還要做各版本代碼差異對(duì)比呢,出局。(我找了找,發(fā)現(xiàn)有ace-diff這個(gè)插件,可以實(shí)現(xiàn)代碼差異對(duì)比。出局主要是因?yàn)槲铱匆姶虬鼤?huì)有個(gè)坑,ace部署失敗主要原因是不支持webpack打包,ace在本地搭建完成后,會(huì)有一個(gè)小型的worker幫助我們對(duì)內(nèi)容進(jìn)行渲染,webpack打包之后就變成完完全全的靜態(tài)資源了,動(dòng)態(tài)渲染的效果也就沒了,雖然按找官網(wǎng)的意思是可以支持的,但是某博主實(shí)踐了很多方法,均以失敗告終。)
codemirror,其用戶交互效果差些,很多東西需要自己拓展來實(shí)現(xiàn)其效果,學(xué)習(xí)這些拓展肯定是需要花時(shí)間來犯錯(cuò)的。其多文件的引入方式帶來一定的管理不方便以及瀏覽器端的網(wǎng)絡(luò)性能影響。
monaco,微軟的VSCode用的和其通用了很多核心模塊,憑借成熟可靠的產(chǎn)品,用戶交互邏輯最好,原生Visual Studio主題,代碼差異對(duì)比效果也最好。引入文件量巨大,瞅了一眼,大概70多M,引入方式兼容性不太好,打包容易出問題(大部分問題可通過monaco-editor-webpack-plugin插件打包解決)。移動(dòng)瀏覽器或移動(dòng)Web框架不支持Monaco編輯器。demo真的少,官網(wǎng)都沒有,官網(wǎng)很好看的做了本英文參考書,有種英文字典的感覺,密密麻麻羅列了一堆屬性,就是不知道從哪開始動(dòng)手,怎么拼接這些成為demo。
以上就是vue 代碼高亮插件全面對(duì)比測(cè)評(píng)的詳細(xì)內(nèi)容,更多關(guān)于vue 代碼高亮插件的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. jsp網(wǎng)頁實(shí)現(xiàn)貪吃蛇小游戲2. ASP.NET MVC遍歷驗(yàn)證ModelState的錯(cuò)誤信息3. jsp實(shí)現(xiàn)textarea中的文字保存換行空格存到數(shù)據(jù)庫的方法4. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向5. ASP中if語句、select 、while循環(huán)的使用方法6. asp中response.write("中文")或者js中文亂碼問題7. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法8. PHP設(shè)計(jì)模式中工廠模式深入詳解9. 刪除docker里建立容器的操作方法10. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說明
