警惕VS2005中Refactor功能的稳定性
题目也许有点夸张。但是如果你在VS2005崩溃之后发现,你的代码凭空消失时,你就不会觉得有多么夸张了。
这是我遇到的一个典型场景,在一个DataAdaptor中定义一系列的计算列(Column):TotalPayment、TotalPaid,其中列TotalChange的表达式为:TotalPayment-TotalPaid。如下图:
现在,我觉得TotalPaid命名不恰当,因此,将TotalPaid改名为TotalPurchase。当改名完成时,突然VS2005崩溃。等重新打列VS2005时,DSOrder已经打不开了,查文件,发现DSOrder.Design.cs消失!
因为VS2005改名操作,是依赖Refactor的,因此,很有可能在其它地方使用Refactor时,也会造成VS2005崩溃,甚至文件消失的情况,所以,很有必要提醒大家小心。当然,或许是我的系统不稳定造成VS2005的崩溃。
由于使用了svn,我重新找回了代码。所以备份是非常重要的。在进行象上面一样的改名操作,或其它Refactor操作时,一定要先备份,或提交到源码管理库,以便找回。
其次,如果需更改TotalPaid的名字,应先更改TotalChange中的表达式为:TotalPayment-TotalPurchase,然后才修改TotalPaid,这样就不会造成VS2005崩溃。所以,应先解决依赖项。
最后,如果讨厌VS2005自动调用Refactor.Rename来改名,则可以关掉它(主菜单:Tools->Options),变回传
统的改名。如下图: