在Beyond Compare中,你如何根据右侧的文字忽略双方的一条线?
e.g。
档案1
if (a==b)
{
c++;
d--;
//e--;
f--;
}
文件2
if (a==b)
{
c++;
//d--; /* GG2018 */
e--;
//f--;
}
我想要比较显示d--的线条有微小的差异。 e--和f--的界限应该显示为主要的差异。这是基于 GG2018
这个词我尝试过语法和重要性,但仅限于d--行,一方显示为不重要。左侧显示为红色,没有细微差别。
编辑: 文件在C中,语法规则是
GG2018=Text matching ^.*GG2018.*
GG2018 set as unimportant.
此外,Unimportant文本的规则也创建为 -
^.*GG2018.*
Edit2:在上面的示例中添加了行e--和f--。
此外,如果规则可以更容易,可以修改标识符GG2018评论位置。
**方法2 **
//d--; /* GG2018 */ changed to /* GG2018 */ //d--;
预期结果与以前相同。
答案 0 :(得分:1)
您没有显示您的语法和重要性设置,因此难以获得答案。但代码看起来像Java或C.所以我的答案是基于您使用默认Java File Format of BC4的假设。
答案 1 :(得分:0)
即使文本相同,如果语法元素类型不同,那么Beyond Compare会将其显示为差异。
“文本比较”显示窗口底部状态栏中当前光标位置的语法元素类型。如果您光标左侧的d
行中的d--;
,则会显示左侧语法元素为标识符,右侧语法元素为注释。这总是有区别的,因为元素类型不同。
使用不重要的语法无法忽略示例中的差异。如果您拥有Beyond Compare Pro许可证,则可以使用文本替换来忽略差异。
在文本比较中加载文件,左侧为d--;
,右侧为//d--; /* GG2018 */
。
()中的表达式被分组并保存在变量$ 1到$ 9中。