RefactoringEssentials
RefactoringEssentials copied to clipboard
Refactoring Essentials for Visual Studio
``` System.ArgumentOutOfRangeException : Specified argument was out of the range of valid values. Parameter name: index at Microsoft.CodeAnalysis.SeparatedSyntaxList`1.get_Item(Int32 index) at async RefactoringEssentials.CSharp.CodeRefactorings.CheckStringIndexValueCodeRefactoringProvider.ComputeRefactoringsAsync() at async Microsoft.CodeAnalysis.CodeRefactorings.CodeRefactoringService.GetRefactoringFromProviderAsync() ``` 
``` System.IndexOutOfRangeException : Index was outside the bounds of the array. at RefactoringEssentials.CSharp.ConstructorParameterContextFinder.GetPropertyName(String v) at async RefactoringEssentials.CSharp.ConstructorParameterContextFinder.Find() at async RefactoringEssentials.CSharp.CodeRefactorings.InitializeReadOnlyAutoPropertyFromConstructorParameterCodeRefactoringProvider.ComputeRefactoringsAsync() at async Microsoft.CodeAnalysis.CodeRefactorings.CodeRefactoringService.GetRefactoringFromProviderAsync() ``` 
Let's have the following code: ```C# public static class SimpleTextEx { public static SimpleText Times(this int number, SimpleText text) { return TextEx.Times(number, text); //
The unused parameter analyzer now recognizes expression bodied constructors. Resolves #320
When I open the refactorings (Ctrl + .) on code like this: `string.Format(CultureInfo.InvariantCulture, "The {0} is here", "fun");` it throws a NRE: ``` System.NullReferenceException : Object reference not set to...
If a constructor or method is expression boiled RECS0154 is raised even if the parameter is used. The following code raises a false positive RECS0154 for the parameter textbox: ```csharp...
It would be great if there was an option similar to VS built-in 'extract interface' that would allow to create read-only interfaces: - no setters on properties - no fields...
``` public class C { public int D; public C(int d) { D = d; } // no warnings } public class C1 { public int D; public C1(int d)...