Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Insert blank lines before/after single-line fields, fixes #433 #594

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions CodeMaid/Logic/Cleaning/InsertBlankLinePaddingLogic.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,9 @@ internal bool ShouldBePrecededByBlankLine(BaseCodeItem codeItem)
return Settings.Default.Cleaning_InsertBlankLinePaddingBeforeEvents;

case KindCodeItem.Field:
return codeItem.IsMultiLine && Settings.Default.Cleaning_InsertBlankLinePaddingBeforeFieldsMultiLine;
return codeItem.IsMultiLine
? Settings.Default.Cleaning_InsertBlankLinePaddingBeforeFieldsMultiLine
: Settings.Default.Cleaning_InsertBlankLinePaddingBeforeFieldsSingleLine;

case KindCodeItem.Interface:
return Settings.Default.Cleaning_InsertBlankLinePaddingBeforeInterfaces;
Expand Down Expand Up @@ -138,7 +140,9 @@ internal bool ShouldBeFollowedByBlankLine(BaseCodeItem codeItem)
return Settings.Default.Cleaning_InsertBlankLinePaddingAfterEvents;

case KindCodeItem.Field:
return codeItem.IsMultiLine && Settings.Default.Cleaning_InsertBlankLinePaddingAfterFieldsMultiLine;
return codeItem.IsMultiLine
? Settings.Default.Cleaning_InsertBlankLinePaddingAfterFieldsMultiLine
: Settings.Default.Cleaning_InsertBlankLinePaddingAfterFieldsSingleLine;

case KindCodeItem.Interface:
return Settings.Default.Cleaning_InsertBlankLinePaddingAfterInterfaces;
Expand Down
24 changes: 24 additions & 0 deletions CodeMaid/Properties/Settings.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions CodeMaid/Properties/Settings.settings
Original file line number Diff line number Diff line change
Expand Up @@ -558,5 +558,11 @@
<string>ReSharper enable </string>
&lt;/ArrayOfString&gt;</Value>
</Setting>
<Setting Name="Cleaning_InsertBlankLinePaddingBeforeFieldsSingleLine" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="Cleaning_InsertBlankLinePaddingAfterFieldsSingleLine" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
</Settings>
</SettingsFile>
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
<ToggleButton Content="enumerations" IsChecked="{Binding InsertBlankLinePaddingBeforeEnumerations}" />
<ToggleButton Content="events" IsChecked="{Binding InsertBlankLinePaddingBeforeEvents}" />
<ToggleButton Content="multi-line fields" IsChecked="{Binding InsertBlankLinePaddingBeforeFieldsMultiLine}" />
<ToggleButton Content="single-line fields" IsChecked="{Binding InsertBlankLinePaddingBeforeFieldsSingleLine}" />
<ToggleButton Content="interfaces" IsChecked="{Binding InsertBlankLinePaddingBeforeInterfaces}" />
<ToggleButton Content="methods" IsChecked="{Binding InsertBlankLinePaddingBeforeMethods}" />
<ToggleButton Content="multi-line properties" IsChecked="{Binding InsertBlankLinePaddingBeforePropertiesMultiLine}" />
Expand All @@ -42,6 +43,7 @@
<ToggleButton Content="enumerations" IsChecked="{Binding InsertBlankLinePaddingAfterEnumerations}" />
<ToggleButton Content="events" IsChecked="{Binding InsertBlankLinePaddingAfterEvents}" />
<ToggleButton Content="multi-line fields" IsChecked="{Binding InsertBlankLinePaddingAfterFieldsMultiLine}" />
<ToggleButton Content="single-line fields" IsChecked="{Binding InsertBlankLinePaddingAfterFieldsSingleLine}" />
<ToggleButton Content="interfaces" IsChecked="{Binding InsertBlankLinePaddingAfterInterfaces}" />
<ToggleButton Content="methods" IsChecked="{Binding InsertBlankLinePaddingAfterMethods}" />
<ToggleButton Content="multi-line properties" IsChecked="{Binding InsertBlankLinePaddingAfterPropertiesMultiLine}" />
Expand Down
20 changes: 20 additions & 0 deletions CodeMaid/UI/Dialogs/Options/Cleaning/CleaningInsertViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ public CleaningInsertViewModel(CodeMaidPackage package, Settings activeSettings)
new SettingToOptionMapping<bool, bool>(x => ActiveSettings.Cleaning_InsertBlankLinePaddingAfterEnumerations, x => InsertBlankLinePaddingAfterEnumerations),
new SettingToOptionMapping<bool, bool>(x => ActiveSettings.Cleaning_InsertBlankLinePaddingAfterEvents, x => InsertBlankLinePaddingAfterEvents),
new SettingToOptionMapping<bool, bool>(x => ActiveSettings.Cleaning_InsertBlankLinePaddingAfterFieldsMultiLine, x => InsertBlankLinePaddingAfterFieldsMultiLine),
new SettingToOptionMapping<bool, bool>(x => ActiveSettings.Cleaning_InsertBlankLinePaddingAfterFieldsSingleLine, x => InsertBlankLinePaddingAfterFieldsSingleLine),
new SettingToOptionMapping<bool, bool>(x => ActiveSettings.Cleaning_InsertBlankLinePaddingAfterInterfaces, x => InsertBlankLinePaddingAfterInterfaces),
new SettingToOptionMapping<bool, bool>(x => ActiveSettings.Cleaning_InsertBlankLinePaddingAfterMethods, x => InsertBlankLinePaddingAfterMethods),
new SettingToOptionMapping<bool, bool>(x => ActiveSettings.Cleaning_InsertBlankLinePaddingAfterNamespaces, x => InsertBlankLinePaddingAfterNamespaces),
Expand All @@ -40,6 +41,7 @@ public CleaningInsertViewModel(CodeMaidPackage package, Settings activeSettings)
new SettingToOptionMapping<bool, bool>(x => ActiveSettings.Cleaning_InsertBlankLinePaddingBeforeEnumerations, x => InsertBlankLinePaddingBeforeEnumerations),
new SettingToOptionMapping<bool, bool>(x => ActiveSettings.Cleaning_InsertBlankLinePaddingBeforeEvents, x => InsertBlankLinePaddingBeforeEvents),
new SettingToOptionMapping<bool, bool>(x => ActiveSettings.Cleaning_InsertBlankLinePaddingBeforeFieldsMultiLine, x => InsertBlankLinePaddingBeforeFieldsMultiLine),
new SettingToOptionMapping<bool, bool>(x => ActiveSettings.Cleaning_InsertBlankLinePaddingBeforeFieldsSingleLine, x => InsertBlankLinePaddingBeforeFieldsSingleLine),
new SettingToOptionMapping<bool, bool>(x => ActiveSettings.Cleaning_InsertBlankLinePaddingBeforeInterfaces, x => InsertBlankLinePaddingBeforeInterfaces),
new SettingToOptionMapping<bool, bool>(x => ActiveSettings.Cleaning_InsertBlankLinePaddingBeforeMethods, x => InsertBlankLinePaddingBeforeMethods),
new SettingToOptionMapping<bool, bool>(x => ActiveSettings.Cleaning_InsertBlankLinePaddingBeforeNamespaces, x => InsertBlankLinePaddingBeforeNamespaces),
Expand Down Expand Up @@ -131,6 +133,15 @@ public bool InsertBlankLinePaddingAfterFieldsMultiLine
set { SetPropertyValue(value); }
}

/// <summary>
/// Gets or sets the flag indicating if blank line padding should be added after single-line fields.
/// </summary>
public bool InsertBlankLinePaddingAfterFieldsSingleLine
{
get { return GetPropertyValue<bool>(); }
set { SetPropertyValue(value); }
}

/// <summary>
/// Gets or sets the flag indicating if blank line padding should be added after interfaces.
/// </summary>
Expand Down Expand Up @@ -267,6 +278,15 @@ public bool InsertBlankLinePaddingBeforeFieldsMultiLine
set { SetPropertyValue(value); }
}

/// <summary>
/// Gets or sets the flag indicating if blank line padding should be added before single-line fields.
/// </summary>
public bool InsertBlankLinePaddingBeforeFieldsSingleLine
{
get { return GetPropertyValue<bool>(); }
set { SetPropertyValue(value); }
}

/// <summary>
/// Gets or sets the flag indicating if blank line padding should be added before interfaces.
/// </summary>
Expand Down
8 changes: 8 additions & 0 deletions CodeMaid/app.config
Original file line number Diff line number Diff line change
Expand Up @@ -613,6 +613,14 @@
</ArrayOfString>
</value>
</setting>
<setting name="Cleaning_InsertBlankLinePaddingBeforeFieldsSingleLine"
serializeAs="String">
<value>False</value>
</setting>
<setting name="Cleaning_InsertBlankLinePaddingAfterFieldsSingleLine"
serializeAs="String">
<value>False</value>
</setting>
</SteveCadwallader.CodeMaid.Properties.Settings>
</userSettings>
<startup>
Expand Down