除了比較3的專業版支持這種通過其文本替換功能。如果您已經購買了標準版的許可,你需要恢復到試用模式進行測試:http://www.scootersoftware.com/suppo...?zz=kb_evalpro
- 加載在文本比較你的兩個文件。
- 打開會話設置從該會議菜單對話框,並在替換選項卡中單擊新建創建一個新的替代品。
- 在要查找的文本編輯,使用
(\w+)\.(\w+)
- 在與編輯替換,使用
$1("$2")
- 檢查正則表達式複選框。
另一種方法是標記的obj.varname
和obj("varname")
爲不重要的任何實例。基本步驟如下:
- 在文本比較中加載您的兩個文件。
- 打開會話設置從會話菜單對話框以及重要性選項卡上單擊編輯語法...按鈕。
- 在接下來的對話框中點擊頂部列表框中新建...按鈕的下方。
- 更改元素名稱領域的一些有用的東西(比方說, 「PropertyAccess」)。
- 更改類別*至列表。
在列表 *編輯文本,添加以下兩行:
obj.varname
obj("varname")
點擊OK關閉語法項目對話框,然後單擊確定再次關閉文本格式 *語法項目。
- 取消「PropertyAccess」(或任何你把它命名爲)在語法元素列表框在會話設置對話框,然後單擊OK 將其關閉。
這種方法不夠靈活或乾淨。在上面的步驟中,您匹配特定的硬編碼對象和變量名稱,因此obj.varname
不重要,但obj.othervar
不是,即使它與obj("othervar")
對齊。如果雙方的文本都不重要,那麼差異就不重要了;如果一方重要,這將是一個重要的區別。因此,通過上述步驟,obj.varname
和obj("varname")
在任何地方都不重要,但它可以正常工作,因爲它們可以與其他匹配那些定義(並且因此不重要)的其他情況相匹配,或者將與其他情況相匹配,不符合該定義,這將是重要的,並會使差異變得重要。
您可以使用正則表達式來匹配更一般的文本類別,但您可能不想。例如,如果你想跟隨這個模式,你可以使用這些兩行而不是所有文本匹配:在語法項目對話框
\w+\.\w+
\w+\("\w+"\)
再檢查正則表達式複選框,以便他們匹配那樣。
其優缺點是,任何文本匹配那些模式是不重要的。 abc.newvar
與def.varname
將被視爲不重要的區別,因爲雙方都符合不重要的定義。對於諸如註釋或空白變化之類的內容來說,這很好,但可能不是您想要在此處執行的操作。
這太棒了!第一個解決方案像魅力一樣工作,我發現了一個我從來不知道的功能,但是第二個解決方案仍然沒有。如果您不介意將所有定義爲重要或不重要的語法發佈出去,那麼我可以重複一遍。 – kiev 2012-08-16 18:23:39
@基輔我更新了第二種方法的更多細節。 – 2012-08-16 19:17:32