Bug 14780 - No way to specify how #region or #if are formatted
Summary: No way to specify how #region or #if are formatted
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: C# Binding ()
Version: 4.0.12
Hardware: PC Mac OS
: --- normal
Target Milestone: master
Assignee: Mike Krüger
Depends on:
Reported: 2013-09-16 12:35 UTC by Curtis Wensley
Modified: 2014-03-28 10:02 UTC (History)
2 users (show)

Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

Description Curtis Wensley 2013-09-16 12:35:34 UTC
When including #regions or #if in your code, there is no way to specify how much space comes before and/or after with code formatting.

In older monodevelop, it would by default add a single line before and after (which was acceptable).

Current Xamarin Studio removes all blank lines before and after, so it looks like this:

public string SomeProperty { get; set; }
#region Events
public event EventHandler<EventArgs> MyEvent;
public MyClass() {}

For #if's, it gets more bizarre and has a bug, where it continually adds more space before the #endif:

public string SomeProperty { get; set; }
public event EventHandler<EventArgs> MyEvent;
                                                 <--- new line keeps getting added here each time you format your code
public MyClass() {}

There doesn't seem to be a way to configure the spacing that is desired before/after.  Ideally this should be configurable in the code formatting preferences, but at the very least make it add a newline before and after each by default.
Comment 1 Mike Krüger 2013-09-17 01:08:00 UTC
Should be fixed in newer versions
Comment 2 Shruti 2014-03-28 10:02:56 UTC
I have verified this fix. My observation regarding verification is mentioned below
Case 1.
I have checked #region before/after space.I also changed the count of region blank line. After doing format document, It is giving space before/after region as per define in Code Formatting > C# Source Code > Edit > Blank Lines > Around region and after region.

Cast 2.
I have checked format document of #if. I also checked the indentation of pre processor directives with checked/unchecked. I did not get new line when format the code.

Please visit Screencast regarding same to verify :

Environment Info:
=== Xamarin Studio ===

Version 4.2.4 (build 266)
Installation UUID: ce3f5199-e126-42fd-bc8a-6a96370af9ab
 Mono 3.2.6 ((no/9b58377)
 GTK+ 2.24.23 (Raleigh theme)

 Package version: 302060000

=== Xamarin.Android ===

Version: 4.13.0 (Trial Edition)
Android SDK: /Users/mac109/Desktop/android-sdk-macosx
 Supported Android versions:
  2.2   (API level 8)
  2.3   (API level 10)
  3.1   (API level 12)
  4.0   (API level 14)
  4.0.3 (API level 15)
  4.1   (API level 16)
  4.2   (API level 17)
  4.4   (API level 19)
Java SDK: /usr
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)

=== Apple Developer Tools ===

Xcode 5.0 (3332.22)
Build 5A1412

=== Xamarin.iOS ===

Version: (Trial Edition)
Hash: 58c3efa
Build date: 2014-10-03 18:02:26-0400

=== Xamarin.Mac ===

Xamarin.Mac: Not Installed

=== Build Information ===

Release ID: 402040266
Git revision: 57fa6b7639703775ae1d5c46536e42ab424cb177
Build date: 2014-03-20 12:34:27-04
Xamarin addins: eee141c29724a19529e77b8e743086d95b29f5ba

=== Operating System ===

Mac OS X 10.9.2
Darwin mac109s-Mac-mini.local 13.1.0 Darwin Kernel Version 13.1.0
    Thu Jan 16 19:40:37 PST 2014
    root:xnu-2422.90.20~2/RELEASE_X86_64 x86_64