• 请不要在回答技术问题时复制粘贴 AI 生成的内容
doublenine99
0.42D
V2EX  ›  程序员

关于代码对比工具

  •  
  •   doublenine99 · Jan 19, 2024 · 8383 views
    This topic created in 1025 days ago, the information mentioned may be changed or developed.
    除了 Beyond Compare ,还有哪些比较好使的本地代码 diff 工具呢?
    我个人感觉 Beyond Compare 用的不怎么顺手,还要付费
    55 replies  •  2024-01-22 16:25:06 +08:00
    UKnowMe
    UKnowMe
    Jan 19, 2024
    1
    JB 系列?我用 VS 写代码,但是 diff 我还是用 rider
    unt
    unt
    Jan 19, 2024
    2
    同问超越 bc 的存在
    jazzsama
    jazzsama
    Jan 19, 2024❤️1
    3
    Beyond Compare 又轻,功能又全,哪里用着不顺手呢?(疑问句非杠)
    tzxxxx
    tzxxxx
    Jan 19, 2024
    4
    winmerge + vscode ,都免费
    ooops
    ooops
    Jan 19, 2024
    5
    之前试了一圈,要说 merge 的话,基本没有。JB 家的可以,但平时用 Xcode 工程太大所以没办法。diff 的话各有特色,diff 算法有点差异没有一个完美的。
    yisier
    yisier
    PRO
    Jan 19, 2024❤️1
    6
    如果只是简单的单文件对比,可是尝试下我这个在线版的,https://1024url.com/text-diff
    clino
    clino
    Jan 19, 2024
    9
    Beyond compare 是最好的,merge 代码的时候还可以 3 路对比,是我自己掏钱购买的第一个工具软件。
    debuggerx
    debuggerx
    Jan 19, 2024❤️3
    10
    JB 家任意 IDE ,比如社区版 pycharm ,都可以在命令行:
    pycharm diff [path1] [path2]
    打开代码对比页面对比任意两个文件或文件夹了
    确保命令加入了系统环境变量,一般可以在 Toolbox 里设置自动生成 shell 脚本,这样在安装 IDE 的时候会自动生成命令。
    没有的话也可以手动指定路径比如:
    /home/xxx/.local/share/JetBrains/Toolbox/apps/android-studio/bin/studio.sh diff [path1] [path2]
    这样用。
    我在系统里加了个命令别名:alias idiff='pycharm diff'
    这样需要对比代码的时候只要 idiff [path1] [path2] 就可以,非常方便
    doublenine99
    doublenine99
    OP
    Jan 19, 2024
    11
    @jazzsama 在 mac 上开久了占用内存变得很大
    doublenine99
    doublenine99
    OP
    Jan 19, 2024
    12
    @debuggerx 好的好的 我试试
    dayeye2006199
    dayeye2006199
    Jan 19, 2024
    13
    我一般就是裸 diff
    qfdk
    qfdk
    PRO
    Jan 19, 2024
    14
    简单的法子 开个 git 项目 然后 push 上去..... 接着把要对比的文件搞过来 就能用 ide 的 gui 了
    BeforeTooLate
    BeforeTooLate
    Jan 19, 2024
    15
    用来用去还是回归 Beyond Compare 了,没办法实在太好用了
    issakchill
    issakchill
    Jan 19, 2024
    16
    简单对比 vs 自带
    1018ji
    1018ji
    Jan 19, 2024
    17
    我还是 bc 吧,其余不习惯
    JiaBao
    JiaBao
    Jan 19, 2024❤️1
    18
    Meld
    S2Line
    S2Line
    Jan 19, 2024
    19
    bc 是 YYDS ,没见过比它更强的了
    tomkliyes
    tomkliyes
    Jan 19, 2024
    20
    只是简单对比多个文件的话,vs code 自带命令就有 compare active file with...
    ho121
    ho121
    Jan 19, 2024
    21
    用 vimdiff 的瑟瑟发抖
    onikage
    onikage
    Jan 19, 2024
    22
    写代码手动调用 java-diff-utils?
    marding
    marding
    Jan 19, 2024
    23
    jb 系列挺顺的, 还没用过其他的
    imnpc
    imnpc
    Jan 19, 2024
    24
    Beyond Compare 每年黑五好像有活动的 我是活动时候买的和升级的
    lstz
    lstz
    Jan 19, 2024 via Android
    25
    lstz
    lstz
    Jan 19, 2024 via Android
    26
    代码转换还是硬需求,我到时候加入多种模式进去
    lstz
    lstz
    Jan 19, 2024 via Android
    27
    抱歉,我指的是代码比较,包括 code merge 类的
    faimin
    faimin
    Jan 19, 2024
    28
    Kaleidoscope ,我觉得比 Beyond Compare 好用
    jianghu52
    jianghu52
    Jan 19, 2024
    29
    连 bc 都看不上,你这要求太高了。我公司给全体人买了 bc 的版权,可惜狗屎的日本公司非要用自己环境开发,于是我只能用狗屎的 win merge 。你用过了。就知道 bc 是多么强大。多么好了。
    crackidz
    crackidz
    Jan 19, 2024
    30
    VSCode 自己就带代码对比的
    shijingshijing
    shijingshijing
    Jan 19, 2024
    31
    BC 最神的地方在于把左右两边同一行拿到最下满逐个字对比,我还没见过第三个有这样设计的。前面几个提到的 meldmerge ,各种 diff 都没有。
    mrwangjustsay
    mrwangjustsay
    Jan 19, 2024
    32
    jaoyina
    jaoyina
    Jan 19, 2024
    33
    BC ,能再便宜点就好了。
    pinocc012
    pinocc012
    Jan 19, 2024
    34
    差异小的时候 bc 还是可以的,一旦差异大了,估计也没啥软件好用
    gdw1986
    gdw1986
    Jan 19, 2024 via Android
    35
    现在 ide 都带,比如 vscode ,不过比较烦的是要两个文件比较,临时粘过去的还要存一下才行
    clemente
    clemente
    Jan 20, 2024
    36
    vimdiff
    cdwyd
    cdwyd
    Jan 20, 2024 via Android
    37
    @gdw1986 不需要保存,在已打开文件列表里面选择两个要比较的文件然后右键就可以比较了。
    james122333
    james122333
    Jan 20, 2024 via Android
    38
    只用命令行工具 顶多加上 vimdiff
    james122333
    james122333
    Jan 20, 2024 via Android
    39
    @shijingshijing

    逐字对比? 是指高亮? 高亮肯定有 diff 出统一格式也都是上下两行 不知道这什么意义...
    shijingshijing
    shijingshijing
    Jan 20, 2024
    40
    james122333
    james122333
    Jan 20, 2024 via Android
    41
    @shijingshijing

    果然我没会错意 这真的还好 把两行取出来存暂存档再 diff 再用 diff-highlight 就可以实现的东西
    james122333
    james122333
    Jan 20, 2024 via Android
    43
    @shijingshijing

    还可以不用暂存档会更好点
    shicheng1993
    shicheng1993
    Jan 20, 2024
    44
    shijingshijing
    shijingshijing
    Jan 20, 2024
    45
    @james122333

    把两行取出来存暂存档再 diff 再用 diff-highlight 就可以实现的东西
    ---------------------------------------------------------------------------
    你不觉得还要这样几个操作才能看一行代码很麻烦么?一般人做对比的时候,先看文字块是否有很大差异,如果只是增删这种整块直接略过,碰到这种一行里面改了几个字的,光标移到这一行,然后直接看下面显示具体那几个字的差异,这样不是更轻松更符合人的直观操作么?
    james122333
    james122333
    Jan 20, 2024 via Android
    46
    @shijingshijing

    写脚本配上 vi 等编辑器快捷键 通常我也没这种需求 因为我都是直接看 diff 档没有分割两个视窗 直接就是对照上下文
    HB9527
    HB9527
    Jan 20, 2024
    47
    neovim + diffview 🐶
    sparkssssssss
    sparkssssssss
    Jan 20, 2024
    48
    非专业码农,比对用 notepad-- 自带
    james122333
    james122333
    Jan 20, 2024 via Android
    49
    @shijingshijing

    我方才就弄了一个了 因为发现 diff-highlight 有缺陷只能对应头尾 还加了个参数可以色彩填充缺少的区块 这样两行长度一样进行比较
    yougotme
    yougotme
    Jan 20, 2024 via iPhone
    50
    bc 正版用户路过,最好用的对比工具之一
    kakuneko
    kakuneko
    Jan 20, 2024
    52
    @jaoyina #33 前端时间 20%优惠呢
    cvooc
    cvooc
    Jan 20, 2024
    53
    我是文件夹对比用 bc, 单文件或者文本, 直接用的 utools 的代码对比插件, 更轻量些, 两边粘贴对比
    PopeyeLau
    PopeyeLau
    Jan 20, 2024
    54
    vscode 不是自带吗

    code --diff a.js b.js
    XXWHCA
    XXWHCA
    Jan 22, 2024
    55
    vscode + gitlens
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2037 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 161ms · UTC 04:41 · PVG 12:41 · LAX 20:41 · JFK 23:41
    ♥ Do have faith in what you're doing.