需求是在提交前想对比当前文本和历史文本的差别( nginx 的配置文件 nginx.conf,大概以后能有一千多行吧),并把差别展示出来,就像 git commit 的时候那样。目前看有 code-diff ( https://github.com/ddchef/vue-code-diff) 和 codemirror ( https://codemirror.net/) 这两个,前者有人在 issues 里说到了大概到 2000 行的时候就会卡死;后者貌似挺老的了,不知道和 Vue 配合起来用有没有什么坑。大佬们有没有什么好的文本对比工具推荐?
1
Rheinmetal 2019-08-25 10:45:51 +08:00
git diff 不够用嘛?
|
2
hronro 2019-08-25 10:47:46 +08:00
系统内置的 diff 不行?
或者可以试试这个: https://github.com/so-fancy/diff-so-fancy |
3
zhoudaiyu OP |
4
seki 2019-08-25 10:51:16 +08:00
monaco editor 有 diff 模式
|
5
luozic 2019-08-25 10:52:57 +08:00 via iPhone
对比结果展示在页面? code review 工具?
|
7
arrow8899 2019-08-25 11:13:53 +08:00
diff2html 可以把 git diff 结果转换成 html 展示;或者是用 google-diff-match-patch 也有 js 版的
|
8
otakustay 2019-08-25 11:15:46 +08:00
我有个 react 版本的,性能和功能方面都基本完善了,mozilla 也在用,要不用 vuera 套一下用吧
https://github.com/otakustay/react-diff-view |
9
arrow8899 2019-08-25 11:19:01 +08:00
顺便说下,文本 diff 本来就很耗 CPU,量大了自然就卡,所以一般是在后端 diff,然后交给前端渲染;
也可以直接用 bitbucket 等商业版的,用户较少时可以免费使用。 |
10
liangkang1436 2019-08-25 12:15:52 +08:00 via Android
idea 自带的 diff 不够用吗?
|
11
duan602728596 2019-08-25 12:46:37 +08:00 via iPhone
我还真就写过一个,是 react 版本的
|
12
Takamine 2019-08-25 13:55:42 +08:00
Beyond Compare。
|
13
JimmyTinsley 2019-08-25 14:12:27 +08:00
phabricator
|
14
zhoudaiyu OP |
15
XiaoxiaoPu 2019-08-25 16:00:23 +08:00
写一个后端服务专门用来做 diff 嘛,前端只用来展示。看下 github.com/ddchef/vue-code-diff 的源码就知道他其实是用 www.npmjs.com/package/diff 这个库生成 diff 结果,量大的话自然会卡,把这部分用后端实现就没问题了。
|
16
zhoudaiyu OP @XiaoxiaoPu 后端实现的话,有啥好用的 pip 包吗
|
17
XiaoxiaoPu 2019-08-25 16:24:23 +08:00 1
@zhoudaiyu 后端是 python ?那直接用标准库 difflib 就行了
|
18
Heanes 2019-08-25 21:01:52 +08:00
我也有类似需求,Mark
|
19
weixiangzhe 2019-08-25 21:51:27 +08:00 via iPhone
color diff 吧
|
20
xy2401 2019-08-26 08:31:14 +08:00
vscode ( monaco ) 可以网页 上对比两个文本
[Monaco Editor]( https://microsoft.github.io/monaco-editor/) Diff Editor Side by side live comparison Supports all languages out of the box |
21
zhjie 2019-08-26 09:21:43 +08:00
战略性马克
|
22
zhjie 2019-08-26 09:22:26 +08:00
回了才记起有加入收藏...
|