今天升级到VS 2008,在写代码时想做一些重构(refactor)的操作,却发现VS的重构没有提供提取常量(extract constant)的功能。查找了一下,找到了这个著名的第三方重构插件:Refactor!™ Pro
支持的重构
![]() |
Add AssociatedControlID Attribute | ![]() |
Add Block Delimiters | ![]() |
Add End Tag |
![]() |
Add Parameter | ![]() |
Add RunAt Attribute | ![]() |
Add to Interface |
![]() |
Add Validator | ![]() |
Boolean to Enum | ![]() |
Break Apart Arguments |
![]() |
Break Apart Parameters | ![]() |
Case to Conditional | ![]() |
Change Tag |
![]() |
Collapse Accessors | ![]() |
Combine Conditionals | ![]() |
Compress to Lambda Expression |
![]() |
Compress to Null Coalescing Operation | ![]() |
Compress to Ternary Expression | ![]() |
Conditional to Case |
![]() |
Consolidate Using Statements | ![]() |
Convert to Auto-implemented Property | ![]() |
Convert to Auto-implemented Property (convert all) |
![]() |
Convert to Built-in Type | ![]() |
Convert to Create & Set | ![]() |
Convert to HEX |
![]() |
Convert to Initializer | ![]() |
Convert to IsNothing | ![]() |
Convert to Named Color |
![]() |
Convert to Pixels | ![]() |
Convert to Points | ![]() |
Convert to RGB |
![]() |
Convert to Skin | ![]() |
Convert to System Type | ![]() |
Create Backing Store |
![]() |
Create Method Contract | ![]() |
Create Method Stub | ![]() |
Create Multi-variable Declaration |
![]() |
Create Overload | ![]() |
Create Setter Method | ![]() |
Create With Statement |
![]() |
Decompose Parameter | ![]() |
Encapsulate Downcast | ![]() |
Encapsulate Field |
![]() |
Expand Accessors | ![]() |
Expand Lambda Expression | ![]() |
Expand Null Coalescing Operation |
![]() |
Expand Ternary Expression | ![]() |
Extract ContentPlaceHolder | ![]() |
Extract ContentPlaceHolder (Create Master) |
![]() |
Extract Function (outside of class) | ![]() |
Extract Interface | ![]() |
Extract Method |
![]() |
Extract Property | ![]() |
Extract Script | ![]() |
Extract String to Resource |
![]() |
Extract Style (Class) | ![]() |
Extract Style (id) | ![]() |
Extract to User Control |
![]() |
Extract to XAML Resource | ![]() |
Extract to XAML Resource (replace all) | ![]() |
Extract XML Literal to Resource |
![]() |
Flatten Conditional | ![]() |
For to ForEach | ![]() |
ForEach to For |
![]() |
Inline Alias | ![]() |
Inline Constant | ![]() |
Inline Delegate |
![]() |
Inline Format Item | ![]() |
Inline Macro | ![]() |
Inline Recent Assignment |
![]() |
Inline Result | ![]() |
Inline Temp | ![]() |
Inline With Statement |
![]() |
Introduce Alias | ![]() |
Introduce Alias (replace all) | ![]() |
Introduce Constant |
![]() |
Introduce ForEach Action | ![]() |
Introduce Format Item | ![]() |
Introduce Local |
![]() |
Introduce Local (replace all) | ![]() |
Introduce Parameter Object | ![]() |
Introduce Result Variable |
![]() |
Introduce Setter Guard Clause | ![]() |
Introduce Using Statement | ![]() |
Line-up Arguments |
![]() |
Line-up Parameters | ![]() |
Lock to Try/Finally | ![]() |
Make Explicit |
![]() |
Make Explicit (and Name Anonymous Type) | ![]() |
Make Id Unique | ![]() |
Make Implicit |
![]() |
Make Method Static | ![]() |
Merge Styles | ![]() |
Method to Property |
![]() |
Move Declaration Near Reference | ![]() |
Move Initialization to Declaration | ![]() |
Move Method to Header |
![]() |
Move Method to Source File | ![]() |
Move Style Attributes to CSS | ![]() |
Move Style Attributes to External CSS |
![]() |
Move Style Attributes to Theme | ![]() |
Move Style Attributes to Theme (use SkinId) | ![]() |
Move to Code-behind |
![]() |
Move Type to File | ![]() |
Move Type to Namespace | ![]() |
Name Anonymous Method |
![]() |
Name Anonymous Type | ![]() |
Optimize Namespace References | ![]() |
Promote to Parameter |
![]() |
Property to Method | ![]() |
Reduce Visibility | ![]() |
Remove Assignments to Parameters |
![]() |
Remove Attribute | ![]() |
Remove Block Delimiters | ![]() |
Remove Empty Handler |
![]() |
Remove End Tag | ![]() |
Remove Parameter | ![]() |
Remove Private Setter |
![]() |
Remove Redundant Assignment | ![]() |
Remove Redundant Conditional | ![]() |
Remove Setter Guard Clause |
![]() |
Remove Tag | ![]() |
Remove Type Qualifier | ![]() |
Remove Type Qualifier (replace all) |
![]() |
Rename | ![]() |
Rename File to Match Type | ![]() |
Rename Type to Match File |
![]() |
Reorder Attributes | ![]() |
Reorder Parameters | ![]() |
Replace Temp with Query |
![]() |
Replace with Alias | ![]() |
Replace with Constant | ![]() |
Replace with Local |
![]() |
Replace with XAML Resource | ![]() |
Reverse Conditional | ![]() |
Safe Rename |
![]() |
Set CssClass | ![]() |
Simplify Expression | ![]() |
Split Conditional |
![]() |
Split Initialization from Declaration | ![]() |
Split Multi-variable Declaration | ![]() |
Split Style |
![]() |
Split Temporary Variable | ![]() |
Split With Statement | ![]() |
Surround with Tag |
![]() |
Surround with Update Panel | ![]() |
Toggle ViewState | ![]() |
Use Const (C++ only) |
![]() |
Use IsNullOrEmpty | ![]() |
Use String.Compare | ![]() |
Use String.Format |
![]() |
Use StringBuilder | ![]() |
Use typedef (C++ only) | ![]() |
Using to Try/Finally |
![]() |
Widen Scope (promote constant) | ![]() |
Widen Scope (promote to field) |
博客园老李早有介绍:http://www.cnblogs.com/Terrylee/archive/2007/02/07/free_refactoring_tools_for_aspnet.html
其它参考文档:Free refactoring tools for ASP.NET code in Visual Studio 2005
试用版下载:
http://www.devexpress.com/Downloads/Visual_Studio_Add-in/Refactoring/