Bug 7710 - Indentation level account for all
Summary: Indentation level account for all
Status: RESOLVED FIXED
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: Text Editor ()
Version: Trunk
Hardware: PC Linux
: Low normal
Target Milestone: ---
Assignee: Mike Krüger
URL:
Depends on:
Blocks:
 
Reported: 2012-10-07 11:01 UTC by Peter Hultqvist
Modified: 2013-09-04 07:08 UTC (History)
1 user (show)

Tags:
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:
Status:
RESOLVED FIXED

Description Peter Hultqvist 2012-10-07 11:01:50 UTC
This is a low priority but FYI:

The automatic indentation in the editor accounts for all brackets regardless of the #if directives and flags set.

	#if !DEBUG
		{
	#else
			{
	#endif
				<--Cursor
			}

The above was typed from top to bottom allowing the automatic indentation to apply.
This error/offset in the indentation applies the the rest of the document, I had to go up several methods to find the cause of the cursor ending up on the wrong level.

The expected behavior would be for the second bracket to end up at the same level as the first. The cursor and third bracket should both be one level to the left.


	#if !DEBUG
		{
	#else
		{
	#endif
			<--Cursor
		}

The workaround is to always match the brackets within all directives.
Comment 1 Mike Krüger 2012-10-08 03:53:30 UTC
It's caused by the indentation engine :/ 

We'll replace it with the formatting engine in a future release - but I think that won't be in the next couple of months.
Comment 2 Mike Krüger 2013-09-04 07:08:45 UTC
fixed with the new indentation engine.