vue-codemirror 實現文字差異比對
因為 “基於百度腦圖的用例區別 diff” 由於主鍵 ID 變化導致比對不準,所以增加 Xmind 用例 Json 比對的功能
1、獲取兩個對比用例 Xmind JSON 內容,動態繫結 codemirror
2、輸出左右兩側差異的行號
3、差異的行號寫入下拉選擇,可以選擇行號,自動跳轉到有差異的行號處
4、當操作左側或者右側的豎向和橫向捲軸時候,另一側也同步滾動
前端元件調研:
①v-code-diff:優點:該元件可一次渲染所有差異(差異行有紅色和綠色的背景色),差異一目瞭然。缺點:文字量大時,例如 10000 行,頁面直接崩潰,所以該元件不適合資料量大的文字,最終被放棄
②vue-codemirror :優點:vue-codemirror 搭配 diff-match-patch 可進行大資料量的文字比對(幾百萬行也不在話下)。缺點:滾動渲染,不會一次渲染所有差異,而是滾動到哪裡,稍停片刻,或者緩慢滾動,才會看到差異(差異行有淡黃色背景色,差異文字有紅色和綠色波浪線)。所以,拖動捲軸過快時,可能差異還沒渲染出來,就已經滾動過去了,不能一目瞭然的知道有幾處差異。
3.解決方案:鑑於 vue-code-diff 對大資料量不不友好,直接 pass 掉。選用 vue-codemirror 搭配 diff-match-patch。為了改善 “滾動渲染,不會一次渲染所有差異,不能一目瞭然的知道有幾處差異” 的缺點,增加文字描述,示例如下:共 4 處差異,每處差異的開始行號為:2、589、2904、12328。這樣使用者可拖動捲軸到這些行,當滾動停止時,差異渲染出來,可看到這些行的具體差異。
核心程式碼:
相關文章
- 文字差異對比工具 go-diffGo
- Python內建庫實現文字比較並返回差異位置座標Python
- java 如何從零實現一個資料庫差異對比工具?Java資料庫
- Git比對檔案之間的差異Git
- Unique Index和Normal Index差異經典對比IndexORM
- openGauss資料與PostgreSQL的差異對比SQL
- 【Python】Python 對比 C語言的差異PythonC語言
- 比對兩個資料庫的差異:Java篇資料庫Java
- git 本地對比2次commit直接的差異GitMIT
- Mac 上超好用的程式碼對比工具 beyond compare,對比json差異MacJSON
- 精準測試:基於 asm+javaparser 呼叫鏈差異化對比實踐ASMJava
- Linux 對比兩個文字的交集和差集(comm)Linux
- 前端與後端開發中技術差異的全面對比前端後端
- 線上json差異比較工具--遞迴比較兩個json的節點和值的差異,並支援差異數預覽和逐個檢視差異JSON遞迴
- IDEA如何對比不同分支某個檔案的差異Idea
- 微軟與開源乾貨對比篇_PHP和 ASP.NET在 Session實現和管理機制上差異微軟PHPASP.NETSession
- 通過PHP與Python程式碼對比淺析語法差異PHPPython
- 通過 PHP 與 Python 程式碼對比淺析語法差異PHPPython
- 不吹不黑比對下React與Vue的差異與優劣ReactVue
- 【射擊遊戲】TPS對比FPS戰鬥設計差異與心得遊戲
- Python自動化:智慧對比Word文件,秒速鎖定差異!Python
- grep -vFf 比較2個檔案差異
- Linux下檔案差異比較工具Linux
- 比較兩個資料庫的差異資料庫
- awk比較檔案內容的差異
- 比較兩個的表結構差異
- SAP Spartacus B2B OrgUnit 和 OrgUser 的路由對映差異比較路由
- 不同題材、美術、玩法的手機遊戲使用者特徵差異對比遊戲特徵
- MappedByteBuffer VS FileChannel:從核心層面對比兩者的效能差異APP
- DataContractJsonSerializer和JavaScriptSerializer內部實現差異JSONJavaScript
- 【原創】不同RTOS中POSIX介面的實現差異
- 痞子衡嵌入式:對比MbedTLS演算法庫純軟體實現與i.MXRT上DCP,CAAM硬體加速器實現效能差異TLS演算法
- Vue(27)vue-codemirror實現線上程式碼編譯器Vue編譯
- 差異巨大 6款通用工業級ARM處理器效能測試對比
- 是否應該升級到ChatGPT 4.0?深度對比ChatGPT 3.5與4.0的差異ChatGPT
- 單例模式實現對比單例模式
- React Native 實現熱部署、差異化增量熱更新React Native熱部署
- 英國網際網路使用者男女行為差異對比–資料資訊圖