2012-01-29 4 views
4

Общепринятая практика для перемещения скобки функции к следующей строке. Как применить это в методе класса с астилем (кодовый декодер)?Как форматировать открывающиеся фигурные скобки в методах C++ с астилем?

пример:

// this is an initial C++ code 
class Class 
{ 
public: 
    static int foo(bool x) { 
     if (x) { 
      return 42; 
     } else { 
      return 0; 
     } 
    } 
}; 

модифицированная версия должна быть:

class Class 
{ 
public: 
    static int foo(bool x) 
    { // this brace in next line 
     if (x) { 
      return 42; 
     } else { 
      return 0; 
     } 
    } 
}; 

Все мои попытки работают только для глобальных функций.

+0

Скорее всего, это связано с этой проблемой: http://sourceforge.net/tracker/index.php?func=detail&aid=3259702&group_id=2319&atid=102319 – DRH

ответ

1

Опция класса --style=kr/-A3 и --style=linux/-A8 также применяется к методам класса.

Из документов:

Кронштейны сломаны из определений пространства имен, классов и функций. Скобки привязаны к операторам внутри функции.

+2

Оба они этого не делают. – Kokos

+0

Вы также используете опцию '--indent-classes'? – gioele

+0

'- переключатель -indent-classes' только увеличивают уровень отступа (для модификаторов доступа тоже (_public: _ в примере)) – Kokos

0

Это действительно зависит от предпочтений и предпочтений его команды. Большинство IDE следуют скобкам, которые вы указали в первом примере. Они также используют цветные наполнители, чтобы указать начальную скобу и конечную скобу. Если вы нанесете указатель мыши на конечную фигуру, она также покрасит ее начальную фигуру.

+0

Я хотел бы снизить ваш ответ, потому что вам кажется, что вы не читали вопрос. Он не просил мнения о форматировании. Но, поскольку вы новичок, вы пойдете невредимым - на данный момент :-) – hirschhornsalz

0

Я могу подтвердить, что --style=ansi делает это в текущих выпусках AStyle (v2.03 здесь).