11

在“Beyond Compare”中进行 3 路合并时,由于代码相似性,我们可以得到以下错位(X 是已删除的代码段,仅显示两个文件):

/*                         XXXXXXXXXXXXXXXXX 
somefunc()                 somefunc()   <---2
{                          {
body                       body
...                        ... 
}                          }
*/                         XXXXXXXXXXXXXXXXX 
somefunc()   <---1         XXXXXXXXXXXXXXXXX
{                          XXXXXXXXXXXXXXXXX
modified body              XXXXXXXXXXXXXXXXX  
...                        XXXXXXXXXXXXXXXXX
}                          XXXXXXXXXXXXXXXXX
...next segment            ...next segment

所需的对齐方式如下:

/*                         XXXXXXXXXXXXXXXXX 
somefunc()                 XXXXXXXXXXXXXXXXX  
{                          XXXXXXXXXXXXXXXXX
body                       XXXXXXXXXXXXXXXXX
...                        XXXXXXXXXXXXXXXXX
}                          XXXXXXXXXXXXXXXXX
*/                         XXXXXXXXXXXXXXXXX 
somefunc()                 somefunc()  
{                          {           
modified body              body
...                        ...    
}                          }           
...next segment            ...next segment

所以我在位置 2 和位置 1 之间进行了手动对齐,而我实际得到的是:

/*                         XXXXXXXXXXXXXXXXX 
somefunc()                 XXXXXXXXXXXXXXXXX  
{                          XXXXXXXXXXXXXXXXX
body                       XXXXXXXXXXXXXXXXX
...                        XXXXXXXXXXXXXXXXX
}                          XXXXXXXXXXXXXXXXX
*/                         XXXXXXXXXXXXXXXXX 
somefunc()                 somefunc()  
XXXXXXXXXXXXXXXXX          {           
XXXXXXXXXXXXXXXXX          body
XXXXXXXXXXXXXXXXX          ...    
XXXXXXXXXXXXXXXXX          }           
{                          XXXXXXXXXXXXXXXXX                        
modified body              XXXXXXXXXXXXXXXXX
...                        XXXXXXXXXXXXXXXXX
}                          XXXXXXXXXXXXXXXXX
...next segment            ...next segment

因此它设法在一行上进行对齐,但随后将其余代码向下移动。

我们如何使用手动对齐来获得预期的结果?更改设置以修改对齐参数也不会达到预期的结果。(另外注意:body和modified body很相似,所以不能错过搭配)

他们在他们的论坛上发表了一篇文章,其中提到了逐行对齐,但对于较长的部分来说,这将是非常乏味的。

编辑: 如果在当前版本中无法进行上述对齐,是否可以禁用输入和输出编辑器窗格的自动同步滚动,以便用户可以同时查看未对齐的代码部分。这些部分不会被程序对齐,但从用户的角度来看会被认为是对齐的。

4

0 回答 0