From 2eedf9a84b0e100684a3f2f4e5b75f5dc777b0b3 Mon Sep 17 00:00:00 2001 From: Cyrus Najmabadi Date: Sun, 8 Mar 2020 01:20:22 -0800 Subject: [PATCH] Add optoins UI --- .../Impl/Options/Formatting/StyleViewModel.cs | 27 +++++++++++++++++++ .../Core/Def/ServicesVSResources.resx | 3 +++ .../Core/Def/xlf/ServicesVSResources.cs.xlf | 5 ++++ .../Core/Def/xlf/ServicesVSResources.de.xlf | 5 ++++ .../Core/Def/xlf/ServicesVSResources.es.xlf | 5 ++++ .../Core/Def/xlf/ServicesVSResources.fr.xlf | 5 ++++ .../Core/Def/xlf/ServicesVSResources.it.xlf | 5 ++++ .../Core/Def/xlf/ServicesVSResources.ja.xlf | 5 ++++ .../Core/Def/xlf/ServicesVSResources.ko.xlf | 5 ++++ .../Core/Def/xlf/ServicesVSResources.pl.xlf | 5 ++++ .../Def/xlf/ServicesVSResources.pt-BR.xlf | 5 ++++ .../Core/Def/xlf/ServicesVSResources.ru.xlf | 5 ++++ .../Core/Def/xlf/ServicesVSResources.tr.xlf | 5 ++++ .../Def/xlf/ServicesVSResources.zh-Hans.xlf | 5 ++++ .../Def/xlf/ServicesVSResources.zh-Hant.xlf | 5 ++++ .../Impl/Options/StyleViewModel.vb | 27 +++++++++++++++++++ 16 files changed, 122 insertions(+) diff --git a/src/VisualStudio/CSharp/Impl/Options/Formatting/StyleViewModel.cs b/src/VisualStudio/CSharp/Impl/Options/Formatting/StyleViewModel.cs index 3cf6989c613..d46e2128872 100644 --- a/src/VisualStudio/CSharp/Impl/Options/Formatting/StyleViewModel.cs +++ b/src/VisualStudio/CSharp/Impl/Options/Formatting/StyleViewModel.cs @@ -560,6 +560,32 @@ class Customer2 void DoWork(CancellationToken cancellationToken = default(CancellationToken)) {{ }} //] }} +"; + + private static readonly string s_preferSimplifiedConditionalExpressions = $@" +using System.Threading; + +class Customer1 +{{ + bool A() => true; + bool B() => true; + + void M1() + {{ +//[ + // {ServicesVSResources.Prefer_colon} + var x = A() && B(); +//] + }} + + void M2() + {{ +//[ + // {ServicesVSResources.Over_colon} + var x = A() && B() ? true : false +//] + }} +}} "; private static readonly string s_preferInferredTupleName = $@" @@ -1658,6 +1684,7 @@ internal StyleViewModel(OptionStore optionStore, IServiceProvider serviceProvide // Expression preferences CodeStyleItems.Add(new BooleanCodeStyleOptionViewModel(CodeStyleOptions.PreferObjectInitializer, ServicesVSResources.Prefer_object_initializer, s_preferObjectInitializer, s_preferObjectInitializer, this, optionStore, expressionPreferencesGroupTitle)); CodeStyleItems.Add(new BooleanCodeStyleOptionViewModel(CodeStyleOptions.PreferCollectionInitializer, ServicesVSResources.Prefer_collection_initializer, s_preferCollectionInitializer, s_preferCollectionInitializer, this, optionStore, expressionPreferencesGroupTitle)); + CodeStyleItems.Add(new BooleanCodeStyleOptionViewModel(CodeStyleOptions.PreferSimplifiedConditionalExpression, ServicesVSResources.Prefer_simplified_conditional_expressions, s_preferSimplifiedConditionalExpressions, s_preferSimplifiedConditionalExpressions, this, optionStore, expressionPreferencesGroupTitle)); CodeStyleItems.Add(new BooleanCodeStyleOptionViewModel(CSharpCodeStyleOptions.PreferSwitchExpression, CSharpVSResources.Prefer_switch_expression, s_preferSwitchExpression, s_preferSwitchExpression, this, optionStore, expressionPreferencesGroupTitle)); CodeStyleItems.Add(new BooleanCodeStyleOptionViewModel(CSharpCodeStyleOptions.PreferPatternMatchingOverIsWithCastCheck, CSharpVSResources.Prefer_pattern_matching_over_is_with_cast_check, s_preferPatternMatchingOverIsWithCastCheck, s_preferPatternMatchingOverIsWithCastCheck, this, optionStore, expressionPreferencesGroupTitle)); CodeStyleItems.Add(new BooleanCodeStyleOptionViewModel(CSharpCodeStyleOptions.PreferPatternMatchingOverAsWithNullCheck, CSharpVSResources.Prefer_pattern_matching_over_as_with_null_check, s_preferPatternMatchingOverAsWithNullCheck, s_preferPatternMatchingOverAsWithNullCheck, this, optionStore, expressionPreferencesGroupTitle)); diff --git a/src/VisualStudio/Core/Def/ServicesVSResources.resx b/src/VisualStudio/Core/Def/ServicesVSResources.resx index 71c5bd63a64..e853eb08458 100644 --- a/src/VisualStudio/Core/Def/ServicesVSResources.resx +++ b/src/VisualStudio/Core/Def/ServicesVSResources.resx @@ -1372,4 +1372,7 @@ I agree to all of the foregoing: Some color scheme colors are being overridden by changes made in the Environment > Fonts and Colors options page. Choose `Use Defaults` in the Fonts and Colors page to revert all customizations. + + Prefer simplified conditional expressions + \ No newline at end of file diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.cs.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.cs.xlf index 87bdadf433a..3283a1348de 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.cs.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.cs.xlf @@ -427,6 +427,11 @@ Preferovat jednoduchý příkaz using + + Prefer simplified conditional expressions + Prefer simplified conditional expressions + + Prefer static local functions Preferovat statické místní funkce diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.de.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.de.xlf index 1b0936feabe..6701b555c3e 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.de.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.de.xlf @@ -427,6 +427,11 @@ Einfache using-Anweisung bevorzugen + + Prefer simplified conditional expressions + Prefer simplified conditional expressions + + Prefer static local functions Statische lokale Funktionen bevorzugen diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.es.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.es.xlf index 88ddbd1c2b4..74e36e512a5 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.es.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.es.xlf @@ -427,6 +427,11 @@ Preferir la instrucción "using" sencilla + + Prefer simplified conditional expressions + Prefer simplified conditional expressions + + Prefer static local functions Preferir funciones locales estáticas diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.fr.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.fr.xlf index 37d6cd46c5a..341605d664b 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.fr.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.fr.xlf @@ -427,6 +427,11 @@ Préférer une instruction 'using' simple + + Prefer simplified conditional expressions + Prefer simplified conditional expressions + + Prefer static local functions Préférer les fonctions locales statiques diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.it.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.it.xlf index ceba47ff834..2400556d1d2 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.it.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.it.xlf @@ -427,6 +427,11 @@ Preferisci l'istruzione 'using' semplice + + Prefer simplified conditional expressions + Prefer simplified conditional expressions + + Prefer static local functions Preferisci funzioni locali statiche diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ja.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ja.xlf index f04a2bf3893..408bb327a18 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ja.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ja.xlf @@ -427,6 +427,11 @@ 単純な 'using' ステートメントを優先する + + Prefer simplified conditional expressions + Prefer simplified conditional expressions + + Prefer static local functions 静的ローカル関数を優先する diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ko.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ko.xlf index d11f9bd4e78..b8ead839a3b 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ko.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ko.xlf @@ -427,6 +427,11 @@ 간단한 'using' 문 선호 + + Prefer simplified conditional expressions + Prefer simplified conditional expressions + + Prefer static local functions 정적 로컬 함수 선호 diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pl.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pl.xlf index f45986bdcdf..4c1b95386fb 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pl.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pl.xlf @@ -427,6 +427,11 @@ Preferuj prostą instrukcję „using” + + Prefer simplified conditional expressions + Prefer simplified conditional expressions + + Prefer static local functions Preferuj statyczne funkcje lokalne diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pt-BR.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pt-BR.xlf index ee0dbcd1f25..a9ea92ebbc8 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pt-BR.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.pt-BR.xlf @@ -427,6 +427,11 @@ Preferir a instrução 'using' simples + + Prefer simplified conditional expressions + Prefer simplified conditional expressions + + Prefer static local functions Preferir as funções locais estáticas diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ru.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ru.xlf index a2192fc38ef..e11d6466c2f 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ru.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.ru.xlf @@ -427,6 +427,11 @@ Предпочитать простой оператор using + + Prefer simplified conditional expressions + Prefer simplified conditional expressions + + Prefer static local functions Предпочитать статические локальные функции diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.tr.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.tr.xlf index bf044302168..a5a6d51fe56 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.tr.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.tr.xlf @@ -427,6 +427,11 @@ Basit 'using' deyimini tercih et + + Prefer simplified conditional expressions + Prefer simplified conditional expressions + + Prefer static local functions Statik yerel işlevleri tercih et diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hans.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hans.xlf index 9367756b62d..7d674fceca5 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hans.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hans.xlf @@ -427,6 +427,11 @@ 首选简单的 "using" 语句 + + Prefer simplified conditional expressions + Prefer simplified conditional expressions + + Prefer static local functions 首选静态本地函数 diff --git a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hant.xlf b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hant.xlf index 53cbfe94d3c..06f5c04fba5 100644 --- a/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hant.xlf +++ b/src/VisualStudio/Core/Def/xlf/ServicesVSResources.zh-Hant.xlf @@ -427,6 +427,11 @@ 優先使用簡單的 'using' 陳述式 + + Prefer simplified conditional expressions + Prefer simplified conditional expressions + + Prefer static local functions 優先使用靜態區域函式 diff --git a/src/VisualStudio/VisualBasic/Impl/Options/StyleViewModel.vb b/src/VisualStudio/VisualBasic/Impl/Options/StyleViewModel.vb index 3ad3dea02a9..052be54f0b0 100644 --- a/src/VisualStudio/VisualBasic/Impl/Options/StyleViewModel.vb +++ b/src/VisualStudio/VisualBasic/Impl/Options/StyleViewModel.vb @@ -196,6 +196,32 @@ Class Customer End Sub End Class" + Private Shared ReadOnly s_preferSimplifiedConditionalExpressions As String = $" + +Class Customer + Sub M1() +//[ + ' {ServicesVSResources.Prefer_colon} + Dim x = A() AndAlso B() +//] + End Sub + + Sub M2() +//[ + ' {ServicesVSResources.Over_colon} + Dim x = If(A() AndAlso B(), True, False) +//] + End Sub + + Function A() As Boolean + Return True + End Function + + Function B() As Boolean + Return True + End Function +End Class" + Private Shared ReadOnly s_preferExplicitTupleName As String = $" Class Customer Sub M1() @@ -692,6 +718,7 @@ End Class ' expression preferences Me.CodeStyleItems.Add(New BooleanCodeStyleOptionViewModel(CodeStyleOptions.PreferObjectInitializer, ServicesVSResources.Prefer_object_initializer, s_preferObjectInitializer, s_preferObjectInitializer, Me, optionStore, expressionPreferencesGroupTitle)) Me.CodeStyleItems.Add(New BooleanCodeStyleOptionViewModel(CodeStyleOptions.PreferCollectionInitializer, ServicesVSResources.Prefer_collection_initializer, s_preferCollectionInitializer, s_preferCollectionInitializer, Me, optionStore, expressionPreferencesGroupTitle)) + Me.CodeStyleItems.Add(New BooleanCodeStyleOptionViewModel(CodeStyleOptions.PreferSimplifiedConditionalExpression, ServicesVSResources.Prefer_simplified_conditional_expressions, s_preferSimplifiedConditionalExpressions, s_preferSimplifiedConditionalExpressions, Me, optionStore, expressionPreferencesGroupTitle)) Me.CodeStyleItems.Add(New BooleanCodeStyleOptionViewModel(CodeStyleOptions.PreferExplicitTupleNames, ServicesVSResources.Prefer_explicit_tuple_name, s_preferExplicitTupleName, s_preferExplicitTupleName, Me, optionStore, expressionPreferencesGroupTitle)) Me.CodeStyleItems.Add(New BooleanCodeStyleOptionViewModel(CodeStyleOptions.PreferInferredTupleNames, ServicesVSResources.Prefer_inferred_tuple_names, s_preferInferredTupleName, s_preferInferredTupleName, Me, optionStore, expressionPreferencesGroupTitle)) Me.CodeStyleItems.Add(New BooleanCodeStyleOptionViewModel(CodeStyleOptions.PreferInferredAnonymousTypeMemberNames, ServicesVSResources.Prefer_inferred_anonymous_type_member_names, s_preferInferredAnonymousTypeMemberName, s_preferInferredAnonymousTypeMemberName, Me, optionStore, expressionPreferencesGroupTitle)) -- GitLab