Refactor! Pro v.3.0.5 released on 27 Dec 2007


IMPORTANT NOTE
    • v3 is no longer compatible with VS 2003. Please refer to this knowledge base article for further information: http://www.devexpress.com/kb=K18042

 


 


DXCore

 


New Features
    • JavaScript language support – Added JavaScript language parser and code generation is added.
    • New CodeMod services for managing Code Providers.
    • New ContractServices for managing ContractProviders.
    • Added new SmartTagProvider component and CodeRush.SmartTags service to allow plug-in developers to participate in smart tags.

 


Resolved Issues
    • B20928 - Unexpected dialog displayed when clicking on link in User Guide
    • B19009 - DXCore Bug - CompilerDirectives property returns null for AllOpenFiles inside active solution.
    • B20934 - Changing the Environment Font in Visual Studio 2008 causes the smart tag menu to paint incorrectly
    • B19233 - CPPParser doesn't parse this code correctly
    • B90633 - Displaying a tool window causes Visual Studio to crash
    • B19345 - Flow break evaluator for a "throw" inside a catch gets a wrong location
    • B20936 - Plug-in wizards do not function in Visual Studio 2008

 


Refactor Pro

 


Changes/New Features
    • S18811 - Documentation - "Encapsulate Downcast" - An "Availability" section is needed
    • S18813 - Documentation - Introduce Parameter Object - The IPO refactoring is unavailable in a native C++ project. Please describe this restriction.

 


New Refactorings
    • "Convert to Auto-implemented Property (convert all)" - Removes the backing store and converts all properties to Auto-implemented Properties.
    • “Rename Alias” – Renames namespace aliases.
    • S18793 - Inline Alias (replaces all references to a type or namespace alias with the full name that it aliases)
    • S18900 - Convert to Built-in Type (Converts a system type to a similar built-in type)
    • S18794 - Convert to Create & Set (converts an object initializer to a default construction followed by a With-block containing property initialization)
    • S18846 - Convert to Initializer (converts a default constructor call immediately followed by an object initialization into an object initializer)
    • S18901 - Convert to System Type (Converts a built-in type to a similar system type)

 


New ASP.NET Refactorings
    • Add AssociatedControlID Attribute - Adds to Label control "AssociatedControlID" attribute which when set automatically sets focus to the associated control if you click on the label.
    • Add RunAt Attribute - Adds runat="server" attribute to controls or tags.
    • Convert to Points - Converts to the equivalent point amount.
    • Convert to Pixels - Converts to the equivalent pixel amount.
    • Convert to Skin - Creates a skin based on the style, copying the styling and assigning a skinid to controls using the old class style.
    • Make Id Unique - Makes an ID unique. Available on tags with IDs that conflict with another tag’s ID.
    • Merge Styles - Combines selected styles into a single style.
    • Move Style Attributes To External CSS - Moves style attributes to external CSS file.
    • Move Style Attributes to Theme SID - Moves styling attributes from the active control to a theme (using SkinID attribute).
    • Move Style Attributes to Theme - Moves styling attributes from the active control to a theme.
    • Reorder Attributes - Rearranges the order of attributes for the active tag.
    • Set CSSClass - Adds CssClass attribute to selected controls.
    • Split Style - Breaks an existing style at the caret into two styles.
    • Toggle ViewState - Adds a ViewState attribute or invert value of existing attribute.

 


Create Method Contract
    • Create Method Contract was completely reworked to provide a new modular architecture. Plug-in developers can now provide contracts with the new ContractProvider component.

 


Existing ContractProviders
    • "Exit Method" - Generates exit for the active member
    • "Throw Exception" - Generates throw exceptions for the active member
    • "Use Assertions" - Generates assertions for the active member
    • "Out Parameters" - Generates initialization for the out parameters

 


Smart Tags
    • Performance optimization added that displays the smart tag once the first available item is found.

 


 


Resolved Issues
    • B20711 - Refactor does not appear on context menu
    • B18803 - C++ - Add Parameter - It allows parameter to be added after default parameters
    • B20282 - Convert to Auto-implemented Property sometimes doesn't remove fields
    • B20636 - "Collapse Getter" and "Collapse Setter" refactorings delete #warning directives
    • B18355 - Inline Recent Assignment - Incorrect results if there is a reference to the processed variable outside the processing code block
    • B18801 - Inline Recent Assignment refactoring generates code that can't be compiled
    • B18352 - ASP.NET - Extract UserControl - The value of the AutoEventWireUp attribute in the resulting user control is incorrect
    • B20927 - Add Parameter does not add XML doc comment stub for the new parameter if there are no calls to the method
    • B20930 - Compress to Lambda Expression fails to generate parameters when used on a non-parameterized anonymous delegate
    • B20571 - Optimize Namespace References takes 2 executions to remove the duplicate usings
    • B50165 - Remove Redundant Assignment work incorrectly with assignment complex operators
    • B18302 - Rename of the master page doesn't update the .designer file in ASP
    • B20704 - XML comments munged when creating an overload
    • B20903 - Boolean to Enum needs to drop marker when applied
    • B20929 - Create Setter Method should drop marker at field when applied
    • B20783 - "Introduce Local" - Refactoring works incorrectly with nullable type.
    • B90306 - "Introduce Local" - Refactoring works incorrectly with template arguments of C++ types.
    • B90262 - "Rename" - The refactoring works incorrectly with XML-reference elements in VB9/VB2008.
    • B90218 - Can't Rename local variable
    • B90523 - Conditional to Case available on conditional of floating-point values
    • B19293 - Create Multi-variable Declaration - Applying refactoring breaks code formatting
    • B90553 - Extract Function available on code accessing instance data
    • B90675 - Extract Function inserts an inconsistent EOL sequence
    • B19384 - Extract Method - Naming Heuristics issue when "?" is used
    • B90551 - Extract Method behavior listed as Extract Function on refactor menu
    • B90548 - Extract Method on code fragment in const method doesn't create const method
    • B90259 - Incorrect refactoring "Create Setter Method" work with template arguments of C++ types.
    • B90421 - Incorrect refactoring "Multi-variable Declaration" work with template arguments of C++ types.
    • B90422 - Incorrect refactoring "Multi-variable Declaration" work with template arguments of C++ types.
    • B90563 - Inline Recent Assignment generates invalid code for function pointer variable
    • B90484 - Introduce Constant / Class does nothing
    • B90485 - Introduce Constant / Global does nothing
    • B90486 - Introduce Constant / Preprocessor Macro does nothing
    • B90487 - Introduce Constant highlights replacement candidates incorrectly
    • B90299 - Introduce Local creates invalid code when expression type is declared inside nested namespace
    • B90483 - Introduce Local inserts managed syntax for string literal
    • B90295 - Introduce Result Variable not available for a function returning pointer to member
    • B90533 - Introduce Using Statement refactoring not available when variable type is inferred
    • B90433 - Move Initialization to Declaration not available for a function pointer
    • B90432 - Move Initialization to Declaration not available for pointer to member
    • B90482 - Move Method to Header deletes "virtual" keyword from method
    • B90574 - Move Type to File loses template argument
    • B90569 - Promote To Parameter corrupts declaration of pointer to member
    • B90543 - Reduce Visibility not available for members of class
    • B90478 - Refactoring "Widen Scope (promote to field)" incorrect work with template arguments of types in C++.
    • B90557 - Remove Unused Parameter should not be available
    • B90285 - Rename doesn't select all instances of class name
    • B90290 - Rename not available on assignment of pointer to member
    • B90289 - Rename not available on call to function returning pointer to member
    • B90286 - Rename not available on function that returns pointer to member
    • B90288 - Rename not available on identifiers inside the body of a function that returns pointer to member
    • B90565 - Replace Temp With Query generates invalid code
    • B90470 - Split Initialization from Declaration not available for function pointer
    • B90471 - Split Initialization from Declaration not available for pointer to member
    • B90266 - Split Multi-variable Declaration not available
    • B90474 - Widen Scope (promote to field) corrupts pointer to function
    • B90473 - Widen Scope (promote to field) doesn't move initializer with field
    • B90472 - Widen Scope Promote To Field generates invalid code on reference
    • B90716 - Extract Method does not declare a variable


Refactor!™ Pro v3 Evaluation Edition (for Visual Studio 2005, 2008)


posted on 2007-12-27 21:57  fosoyo  阅读(209)  评论(0编辑  收藏  举报