Author Topic: [RESOLVED] Source Formatter + Indent Options Woes  (Read 6849 times)

Offline AiuaX

  • Single posting newcomer
  • *
  • Posts: 2
[RESOLVED] Source Formatter + Indent Options Woes
« on: April 26, 2012, 03:45:58 am »
Though I hope I'm simply overlooking something simple (and please forgive me if I am), I can't help but be stumped by the behavior I'm seeing.

The behavior I'm expecting while writing c++ code in the C::B editor (v 10.05, 32-bit windows 7) is:
  • Moving to a new line within a block of code (i.e. hitting enter) will indent to the same level as the previous line
  • Opening an if/then, switch/case, for block will produce a properly indented block of code (for some definition of properly indented)

The behavior I'm seeing is: When writing c++ code, no indentation is applied to the following structures:
  • classes
  • methods/functions
  • if/else, switch/case, for blocks
  • anything else

My settings are thus (I'll also include screenshots displaying what I see):
  • Auto indent is checked
  • Smart indent is checked
  • Brace completion is checked
  • Source formatter plugin is enabled and set to default (Allman (ANSI))

Disabling the source formatter plugin or resetting C::B preferences does not change the behavior.

Am I simply missing a setting somewhere? I could have sworn this used to work. Am I simply crazy?

[attachment deleted by admin]
« Last Edit: April 27, 2012, 04:14:03 am by AiuaX »

Offline Alpha

  • Developer
  • Lives here!
  • *****
  • Posts: 1513
Re: Source Formatter + Indent Options Woes
« Reply #1 on: April 27, 2012, 03:38:10 am »
Disabling the source formatter plugin [...]
This plugin is (I think) unrelated to your problem as it is for on-demand formatting of pre-existing code (Right-click->Format use AStyle).

I am not sure what the problem is, but can you try the following?
  • Switch "End-of-line mode" from your current "CR" to "CR LF" (as should be Windows default).
  • Move/delete Code::Blocks' profile (located in %AppData%\CodeBlocks) so that Code::Blocks will regenerate a clean one.
  • If you are feeling adventurous, you could try a nightly (however, your version of Code::Blocks should work).

Offline AiuaX

  • Single posting newcomer
  • *
  • Posts: 2
Re: Source Formatter + Indent Options Woes
« Reply #2 on: April 27, 2012, 04:13:25 am »
Fascinating!  Switching to CR+LF did indeed restore things to normal.  I think this must have (maybe, possibly, in theory) happened after bringing a version control system into the equation (configured to auto-convert line-endings on checkout to be platform-specific); or maybe I accidentally rolled my mouse wheel over that Settings field - who knows!

Thank you for the suggestion, Alpha!
« Last Edit: April 27, 2012, 04:15:24 am by AiuaX »

Offline Alpha

  • Developer
  • Lives here!
  • *****
  • Posts: 1513
Re: [RESOLVED] Source Formatter + Indent Options Woes
« Reply #3 on: April 27, 2012, 11:57:22 pm »
Patch #3282 submitted to fix this bug.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: [RESOLVED] Source Formatter + Indent Options Woes
« Reply #4 on: April 28, 2012, 01:47:02 am »
What bug? This looked like a misconfiguration?
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline Alpha

  • Developer
  • Lives here!
  • *****
  • Posts: 1513
Re: [RESOLVED] Source Formatter + Indent Options Woes
« Reply #5 on: April 28, 2012, 02:13:30 am »
To reproduce, Settings->Editor... switch "End-of-line mode" to "CR".  Now try typing:
Code
if(true)
{

Normally, this would trigger brace completion such that it becomes (the pipe is the position of the cursor):
Code
if(true)
{
    |
}

However, in "CR" mode, it does not indent:
Code
if(true)
{
|
}