Refactor! Pro v.3.0.5 released on 27 Dec 2007
IMPORTANT NOTE
DXCore
New Features
Resolved Issues
Refactor Pro
Changes/New Features
New Refactorings
New ASP.NET Refactorings
Create Method Contract
Existing ContractProviders
Smart Tags
Resolved Issues
- 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)
- Download now (21,772,008 bytes)
- Updated: 12/24/2007
- Expires: 20-Jan-2008
- Does not support Visual Studio Express Editions.