对比工具AraxisMerge自定义对比规则(含JavaScri

2019-11-26  本文已影响0人  科研者

在对文本进行对比时,难免需要自己定制对比规则;本文就详细讲解一下有名的对比工具 AraxisMerge 实现自定义对比规则的方法 和 针对 JavaScript代码 的一些实用的对比规则;

目录

内容

一、问题

开发工具往往都有格式化代码的功能,然而,JavaScript代码 的格式规范有多种,不同 开发工具 对 JavaScript代码 的格式化规范 可能不一样,比如,语句结束处默认带不带 分号 ; ,导入模块时,路径字符串是用用单引号 还是 双引号,等等,这些差异,导致在对比 JavaScript 代码时,往往会出现很多的差异提示,如下所示:

双引号分号.js

import GBY from "GBY";
var gby = new GBY();
gby.name = "郭斌勇"  
  
  console.log(gby) ;

单引号无分号.js

import GBY from 'GBY'
var    gby = new GBY()
gby.name = "郭斌勇" 


console.log(gby)

对比效果:

问题

注意:图中高亮部分均是被认为是有差异的部分;

从图中可以看出,对比工具把以下区别认为是差异:

而这些在 JS 中都是等效的;

二、忽略空格相关的差异

应用菜单栏:Araxis Merge/Preferences.../Lines 中,勾选以下选项:

或者

工具条:Preferences/Whitespace 中,勾选以下选项:

空格

可以忽略如下差异:

Lines相关的各配置选项的详细说明

应用菜单栏:Araxis Merge/Preferences.../Lines 下面的选项 是 可以设置应用于文件和文件夹比较窗口执行的文本比较中的行的选项。

三、忽略行尾分号的差异

忽略行尾分号 的 设置需要通过 表达式来实现了;

应用菜单栏:Araxis Merge/Preferences.../Expressions

  1. 点击 + 号 图标,添加一个表达式;
    Expressions
  2. Expression 中填入以下正则表达式 ;+(\s*;*)*$,并按如下图配置:
    忽略行尾分号

Expressions面板中各配置项的详细说明

应用菜单栏:Araxis Merge/Preferences.../Expressions 面板用来编辑正则表达式的定义和描述。

四、忽略非嵌套的单双引号的差异

忽略非嵌套的单双引号 的 设置也需要通过 表达式 ("|')[^"']*(\1) 来实现;

应用菜单栏:Araxis Merge/Preferences.../Expressions 中添加一个表达式 ("|')[^"']*(\1),并按如下图配置:

忽略非嵌套的单双引号
上一篇 下一篇

猜你喜欢

热点阅读