From 3d4aa052abf7a3531a2482056d53cc2126df876c Mon Sep 17 00:00:00 2001 From: CyrusNajmabadi Date: Tue, 20 Sep 2016 00:24:58 -0700 Subject: [PATCH] Add UI configuration support. --- .../Impl/Options/Formatting/StyleViewModel.cs | 33 +++++++++++++++++-- .../Core/Def/ServicesVSResources.Designer.cs | 18 ++++++++++ .../Core/Def/ServicesVSResources.resx | 6 ++++ 3 files changed, 54 insertions(+), 3 deletions(-) diff --git a/src/VisualStudio/CSharp/Impl/Options/Formatting/StyleViewModel.cs b/src/VisualStudio/CSharp/Impl/Options/Formatting/StyleViewModel.cs index 69decaf6ff0..1aceeda2b4e 100644 --- a/src/VisualStudio/CSharp/Impl/Options/Formatting/StyleViewModel.cs +++ b/src/VisualStudio/CSharp/Impl/Options/Formatting/StyleViewModel.cs @@ -274,6 +274,30 @@ public C(string s) //] } } +"; + + private static readonly string s_preferObjectInitializer = @" +using System; + +class Customer +{ + private int Age; + + public Customer() + { +//[ + // Prefer: + var c = new Customer() + { + Age = 21 + }; + + // Over: + var c = new Customer(); + c.Age = 21; +//] + } +} "; #endregion @@ -285,7 +309,8 @@ internal StyleViewModel(OptionSet optionSet, IServiceProvider serviceProvider) : var qualifyGroupTitle = CSharpVSResources.this_preferences_colon; var predefinedTypesGroupTitle = CSharpVSResources.predefined_type_preferences_colon; var varGroupTitle = CSharpVSResources.var_preferences_colon; - var nullCheckingTitle = CSharpVSResources.null_checking_colon; + var nullCheckingGroupTitle = CSharpVSResources.null_checking_colon; + var expressionPreferencesGroupTitle = ServicesVSResources.Expression_preferences_colon; var qualifyMemberAccessPreferences = new List { @@ -317,8 +342,10 @@ internal StyleViewModel(OptionSet optionSet, IServiceProvider serviceProvider) : CodeStyleItems.Add(new SimpleCodeStyleOptionViewModel(CSharpCodeStyleOptions.UseImplicitTypeWhereApparent, CSharpVSResources.When_variable_type_is_apparent, s_varWhereApparentPreviewTrue, s_varWhereApparentPreviewFalse, this, optionSet, varGroupTitle, typeStylePreferences)); CodeStyleItems.Add(new SimpleCodeStyleOptionViewModel(CSharpCodeStyleOptions.UseImplicitTypeWherePossible, CSharpVSResources.Elsewhere, s_varWherePossiblePreviewTrue, s_varWherePossiblePreviewFalse, this, optionSet, varGroupTitle, typeStylePreferences)); - CodeStyleItems.Add(new SimpleCodeStyleOptionViewModel(CSharpCodeStyleOptions.PreferConditionalDelegateCall, CSharpVSResources.Prefer_conditional_delegate_call, s_preferConditionalFunctionCall, s_preferConditionalFunctionCall, this, optionSet, nullCheckingTitle)); + CodeStyleItems.Add(new SimpleCodeStyleOptionViewModel(CSharpCodeStyleOptions.PreferConditionalDelegateCall, CSharpVSResources.Prefer_conditional_delegate_call, s_preferConditionalFunctionCall, s_preferConditionalFunctionCall, this, optionSet, nullCheckingGroupTitle)); //CodeStyleItems.Add(new SimpleCodeStyleOptionViewModel(CodeStyleOptions.PreferThrowExpression, CSharpVSResources.Prefer_throw_expression, s_preferThrowExpression, s_preferThrowExpression, this, optionSet, nullCheckingTitle)); + + CodeStyleItems.Add(new SimpleCodeStyleOptionViewModel(CodeStyleOptions.PreferObjectInitializer, ServicesVSResources.Prefer_object_initializer, s_preferObjectInitializer, s_preferObjectInitializer, this, optionSet, expressionPreferencesGroupTitle)); } } -} +} \ No newline at end of file diff --git a/src/VisualStudio/Core/Def/ServicesVSResources.Designer.cs b/src/VisualStudio/Core/Def/ServicesVSResources.Designer.cs index 1614b635016..8dd11be1259 100644 --- a/src/VisualStudio/Core/Def/ServicesVSResources.Designer.cs +++ b/src/VisualStudio/Core/Def/ServicesVSResources.Designer.cs @@ -651,6 +651,15 @@ internal class ServicesVSResources { } } + /// + /// Looks up a localized string similar to Expression preferences:. + /// + internal static string Expression_preferences_colon { + get { + return ResourceManager.GetString("Expression_preferences_colon", resourceCulture); + } + } + /// /// Looks up a localized string similar to Extract Interface. /// @@ -1275,6 +1284,15 @@ internal class ServicesVSResources { } } + /// + /// Looks up a localized string similar to Prefer object initializer. + /// + internal static string Prefer_object_initializer { + get { + return ResourceManager.GetString("Prefer_object_initializer", resourceCulture); + } + } + /// /// Looks up a localized string similar to Prefer predefined type. /// diff --git a/src/VisualStudio/Core/Def/ServicesVSResources.resx b/src/VisualStudio/Core/Def/ServicesVSResources.resx index f941f62bb41..e647340ba68 100644 --- a/src/VisualStudio/Core/Def/ServicesVSResources.resx +++ b/src/VisualStudio/Core/Def/ServicesVSResources.resx @@ -726,4 +726,10 @@ Additional information: {1} For member access expressions + + Prefer object initializer + + + Expression preferences: + \ No newline at end of file -- GitLab