Browse Source

Fix #1685: Add "Always show enum values" setting.

pull/1707/head
Siegfried Pammer 6 years ago
parent
commit
51b48b9332
  1. 2
      ICSharpCode.Decompiler/CSharp/CSharpDecompiler.cs
  2. 20
      ICSharpCode.Decompiler/DecompilerSettings.cs
  3. 9
      ILSpy/Properties/Resources.Designer.cs
  4. 3
      ILSpy/Properties/Resources.resx

2
ICSharpCode.Decompiler/CSharp/CSharpDecompiler.cs

@ -1164,6 +1164,8 @@ namespace ICSharpCode.Decompiler.CSharp @@ -1164,6 +1164,8 @@ namespace ICSharpCode.Decompiler.CSharp
EnumValueDisplayMode DetectBestEnumValueDisplayMode(ITypeDefinition typeDef, PEFile module)
{
if (settings.AlwaysShowEnumMemberValues)
return EnumValueDisplayMode.All;
if (typeDef.HasAttribute(KnownAttribute.Flags, inherit: false))
return EnumValueDisplayMode.All;
bool first = true;

20
ICSharpCode.Decompiler/DecompilerSettings.cs

@ -537,6 +537,26 @@ namespace ICSharpCode.Decompiler @@ -537,6 +537,26 @@ namespace ICSharpCode.Decompiler
}
}
bool alwaysShowEnumMemberValues = false;
/// <summary>
/// Gets/Sets whether to always show enum member values.
/// true: <c>enum Kind { A = 0, B = 1, C = 5 }</c>
/// false: <c>enum Kind { A, B, C = 5 }</c>
/// default: false
/// </summary>
[Category("Other")]
[Description("DecompilerSettings.AlwaysShowEnumMemberValues")]
public bool AlwaysShowEnumMemberValues {
get { return alwaysShowEnumMemberValues; }
set {
if (alwaysShowEnumMemberValues != value) {
alwaysShowEnumMemberValues = value;
OnPropertyChanged();
}
}
}
bool useDebugSymbols = true;
/// <summary>

9
ILSpy/Properties/Resources.Designer.cs generated

@ -511,6 +511,15 @@ namespace ICSharpCode.ILSpy.Properties { @@ -511,6 +511,15 @@ namespace ICSharpCode.ILSpy.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to Always show enum member values.
/// </summary>
public static string DecompilerSettings_AlwaysShowEnumMemberValues {
get {
return ResourceManager.GetString("DecompilerSettings.AlwaysShowEnumMemberValues", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Always use braces.
/// </summary>

3
ILSpy/Properties/Resources.resx

@ -754,4 +754,7 @@ Are you sure you want to continue?</value> @@ -754,4 +754,7 @@ Are you sure you want to continue?</value>
<data name="DecompilerSettings.RemoveDeadStores" xml:space="preserve">
<value>Remove dead stores (use with caution!)</value>
</data>
<data name="DecompilerSettings.AlwaysShowEnumMemberValues" xml:space="preserve">
<value>Always show enum member values</value>
</data>
</root>
Loading…
Cancel
Save