是否存在用于编程语言的差异/合并工具,它以语法识别的方式工作(如XML Diff Tool),不仅仅是逐行比较(并且可选地忽略空格).
我对实际遵循语言语法和分隔符的程序感兴趣,建议在不破坏语法正确性的情况下进行更改,或者在多行中分隔语句.示例行为是:
*找到一个if(){引入额外嵌套级别的自动捆绑闭合支撑}下面的几行.)
*保持匹配语法元素在一起,避免像删除块往往创建的愚蠢:
int function_A()
{
int ret;
ret = something;
ret += something_else;
Run Code Online (Sandbox Code Playgroud)
return ret;
}
int function_B()
{
if(valid)
{
int ret;
ret = something;
ret += something_else;
Run Code Online (Sandbox Code Playgroud)
return ret;
}
Run Code Online (Sandbox Code Playgroud)
else return -1;
}
Run Code Online (Sandbox Code Playgroud)
就个人而言,我很想找到能够处理C++语法的软件,但了解其他语言的解决方案也会很有趣.