C# Refactory includes an automatic update feature, but if you prefer manual updates, the most recent version is 2.04, which you can download here.
Please note that you will not be able to use this version without an activation key. To receive an evaluation key and download the latest version, go to our download page.
Revision history
Release 2.04
New features:
- Encapsulate Fields options for formatting. - Can be installed by non-administrative users.
Bug Fixes:
- Renaming member or local delegates/events renames calls through them.
Release 2.02
New features:
- Checkbox option to control resetting of menu items.
Bug Fixes:
- Grid control nag screen issue resolved.
Release 2.0
New features:
- New UI with extensive grid usage to replace old style.
Bug Fixes:
- After refactoring, "undo"ing back to unchanged state, then re-refactoring caused errors under some circumstances. Fixed.
Release 1.20
New features:
- "Never remove" list of namespaces for Tidy Imports in Tools/Options page.
Bug Fixes:
- Loading error on C# or VB only versions of VS.NET fixed. - Fixes errors caused by uninstalling version 1.18.
Release 1.19
New features:
- New refactoring "Change Method Signature"allows easy adding, deleting or reordering of parameters. - Tidy Imports now available at the Solution and Project levels. - Most refactorings, including the Rename and Find series now write results to the output window such that double-clicking or pressing enter navigates to the source. Further pressing F8 will cycle through the results. - Some Rename dialogs have dropdowns to save on typing.
Bug Fixes:
- Renaming local variables or parameters sometimes replaced "variable.property" with "newvariable", rather than "newvariable.property". Fixed. - Type Metrics now load correctly. - Error message closing VS.NET 2003 after using Metrics or Find. Fixed. - Added unique icon for Encapsulate Field. - For projects with entries for files that don't exist, C# Refactory skips the files. - In Rename Local/Parameter, pressing up/down wasn't ensuring the newly selected item was visible. Fixed. - Uninstall correctly removes all traces from the IDE. - Encapsulate Field works correctly with Array and pointer fields. - Output from Rename Locals fixed - in line with others. - CSMetrics.exe accepts version 8.00 solution files.
Release 1.18
Bug Fixes:
- Fixed "type expected at 1, 1" error. This was a problem a lot of people reported, and we're glad to finally have fixed it. Thanks for your patience. - Stopped "design" view opening after refactorings. - Fixed error when processing types declared in the global namespace. - Fixed resolving problem when adding or removing references, or when refactoring newly-created projects.
Release 1.17
Bug Fixes:
- Loading large solutions was extremely slow - fixed. - Fixed error loading unicode format text files. - Leaves focus on Metrics or Find References window after running. - Fixed problem with .resx file being parsed.
Release 1.15
New features:
- Tidy Imports allows specific namespaces to sort to top or bottom, with flexible blank line configuration. - New refactoring: Encapsulate Field (creates a property wrapper for a field). Note: This is a first cut and as such has room for improvement.
Bug Fixes:
- Improved error recording in solution de-synchronisation situations. - Fixed internationalisation issue with calls to ToLower and ToUpper. - Command-line builds no longer display error dialog. - 8-bit character constants not truncated. - Fixed internationalisation issue with certain characters in files while loading. - Fixed "nag" screen link.
Release 1.14
New features:
- New refactoring: Extract Variable (Introduce Explaining Variable)
Bug Fixes:
- Nested #if statements processed correctly. - Rename and Tidy Imports are no longer accessible unless a C# document is active. - 'About' dialog no longer highlights release notes. - Parser looks for attributes after params keyword in parameter definition.
Release 1.13
New features:
- Extract Method now works on expressions.
Bug Fixes:
- Keyboard focus returns to main document after a refactoring. - Refactorings work while designers open. - Better error message when type names conflict. - Renaming of delegates, enums and events works correctly.
Release 1.12
New features:
- Single "Rename" option replaces individual Rename options.
Bug Fixes:
- Tidy Imports resolves base-class references correctly. - Extract Method defaults return value to single out parameter. - Static keyword always correctly carried to Extracted Method. - Deleting/removing first project from a solution or item from a project no longer causes errors. - References to assemblies that can't be loaded error fixed.
Release 1.11
New features:
- Metrics uses cached parsing information - potential speedup of 50%. - Improved Extract Method's use of initializers in variable declarations.
Bug Fixes:
- Extract Superclass/Push Up Member - correctly remove 'virtual' when adding 'override'. - Extract Method works correctly from within an anonymous catch clause. - Extract Method - fixed problems with return variable declarations. - Interface-implementing events with accessor functions parse correctly.
Release 1.10
New features:
- Massive speed up of metrics calculation for large projects/solutions (600%). - New option "Find References" - finds and lists references to a Type/Member/Parameter/Local Variable in a tool window. - New option "Tidy Imports" - removes unused using statements from the current source file. - Solution-wide parsing/binding speedup - affects Rename Member/Type and Find References. - Tools/Options/C# Refactory settings.
Release 1.05
New features:
- Cleaned up refactor menu - metrics demoted to submenu and separators added. - 40% parser speed improvement. - Improved lexer error messages.
Bug fixes:
- Push up members dialog OK button enabled correctly when using radio buttons. - Decimal/floating point numbers now parse without error, correctly ignoring globalisation differences.
Release 1.04
New features:
- New refactoring: Push Up Members. - Extract Method allows reordering of parameters. - Enum members can be renamed (using Rename Member)
Bug fixes:
- Fixed problems with code-behind pages when "Show All Files" turned off. - Underscores allowed as initial character of new identifiers. - Full support for unicode character set in identifier names. eg: Ä or \u0061. - Fixed formatting problem in Extract Superclass/Interface and Copy Class.
Release 1.03
New features:
- Extended error-reporting for solution-wide refactorings to include file that caused the error. - Pressing escape or ctrl-break cancels refactorings more cleanly. - Reduced memory footprint of parse tree - this is prepatory to caching and/or background parsing to speed up refactorings.
Bug fixes:
- Extract Superclass and Extract Interface to new file sometimes wrote erroneous namespace definitions into original file.
Release 1.01
New features:
- Command-line metrics calculation for solution, project or file: csmetrics.exe. - "Extract Interface" refactoring. - "Copy Class" refactoring. - 30% speed up of "Rename Member" refactoring. - Demoted refactorings to submenu of code-editor popup-menu. (It was getting *way* too crowded) - Automatic update (with prompting)
Release Candidate 1.1
Bug fixes:
- Fixed parsing error in unsafe code pointer manipulations.
Release Candidate 1
New features:
- Added new refactoring - "Extract Superclass". - Metrics dialog replaced with dockable tool-window. - "Go To Definition" on double-click in metrics window. Also available via popup menu. - Metrics can be exported as XML. - Metrics window has sortable lists of methods and classes. - All operations can be cancelled using the Escape key. - All dialogs now persist their positions and sizes.
Bug fixes:
- Class metrics work correctly for embedded classes. - Extract Method works correctly in classes with events. - Error descriptions made read-only. - Solution metrics ignores "DevPartner Profiler" projects.
BETA 1.5
New features:
- Error reporting uses HTTP instead of Mail, for better firewall penetration. - Metrics can be calculated for a folder + explorer heirarchy includes folders. - Metrics dialog persists position and size.
Bug fixes:
- Extract Method works in nested classes. - Icons updated - backgrounds now transparent.
BETA 1.4
New features:
- Added new metric LOCM = Average lines of code per method. - Added new metric LOCC = Average lines of code per class.
Bug fixes:
- Preprocessor directives respected. - Class metrics calculate for individual classes with trailing semicolons after the declaration.
BETA 1.3
Bug fixes:
- Metrics were incorrectly reporting 0 in some cases. - About/Welcome screens are now read-only. - "Pointer to void (void*)" member fields now parse correctly. - "Extract Method" now works on classes in global namespace. - Statements of the specific form (x)++ now parse correctly. - Escaped unicode values embedded in strings now parse correctly. - Targetted attribute usages now parse correctly.
Xtreme Simplicity use csUnit - a unit testing framework for C# -
"I was working on a project that would have taken at least a week to refactor. Using the trial version it took me one day." - Derrick Spead MCSD
"Very slick little piece." - Michael Stuart (MS), Dot Net Rocks
"It’s clean, simple and fast." - Larry O'Brien, SD Times
"I am extremely pleased with C# Refactory. Nice work!" - Mark Griffiths, Chive Software Limited
"Thanks again for a great product. I just downloaded version 1.12 only two days ago and the new find references command along with the rename functionality has already saved me hours of work." - Mike Two, Thoughtworks
"So far it has helped me in my tasks and I have only owned it for less than a day." - Rich Denis
"C# Refactory is more than a simple refactoring tool. The detailed metrics are a great help for locating complicated or lengthy code that needs to be refactored. What's more, the product team quickly answers support requests and welcomes suggestions. I am already looking forward to the upcoming versions, knowing that features, quality and performance are equally important to Xtreme Simplicity." -- Bernard Vander Beken
"The program does a great job. At last I have some of the refactoring functions I like so much in the java development environment (we use IntelliJ Idea) in Visual Studio. That's great because once you get used to these functions you never ever want to miss them ... I also appreciate the speed in which you deliver new builds of the software. Everytime I wanted to write an email in which I describe a missbehaviour you were faster and the new build solved this problem. Keep on that good work!" - Markus Renschler, csUnit developer
"Xtreme Simplicity have created a tool which drastically simplifies refactoring the architecture of any C# application through seamless integration with Visual Studio. CSharp Refactory statically analyzes our product to guarantee compilation success following a refactoring. In addition, Xtreme Simplicity thoughtfully provided a fully-featured metrics tool so we can watch our lines of code decrease as our architecture improves!" - Richard Birkby - Chief Architect, Thundermain Ltd.