Могут ли Uncrustify и/или Universal Indent GUI разделять строковые литералы?

Я использую графический интерфейс Universal Indent и Uncrustify для своего проекта C++. Ширина кода установлена ​​на 80 символов, а формат кода почти удовлетворительный. Кажется, это нормально работает для обычного кода, но строковые литералы не разбиваются, и я бы хотел, чтобы это тоже произошло.

В следующем примере показано, как я пытаюсь добиться...

Оригинал:

Logger myLog;
myLog << "Long log message which exceeds line width." << std::endmsg;

Украшено (align_left_shift=true):

Logger myLog;
myLog << 
"Long log message which exceeds line width." 
      << std::endmsg;

Предпочтительно:

Logger myLog;
myLog << "Long log message which exceeds "
         "line width." 
      << std::endmsg;
// or
myLog << "Long log message which exceeds "
         "line width." << std::endmsg;

Возможно ли это с упомянутыми вспомогательными инструментами?

Заранее спасибо ...


person janr    schedule 31.10.2012    source источник


Ответы (1)


person    schedule
comment
вы испортили мой ответ, за что я очень благодарен... ... вам нужно поставить \ в конце строки со строковой константой (так же, как вы делаете определение MACRO на нескольких строках) - person Pandan; 31.10.2012
comment
Я думаю, вы не поняли мою проблему. Uncrustify — это средство для улучшения кода, и я ищу параметр, который мог бы достичь вышеупомянутого формата. Кроме того, ваше изменение кода вообще не компилируется! - person janr; 31.10.2012
comment
Нет, вам не нужно помещать продолжение строки между строковыми константами. компилятор с радостью объединит их для вас. - person WhozCraig; 31.10.2012
comment
Я вернул ответ к его исходной версии, за исключением того, что я кодифицировал его, чтобы он отображался как исходный код на веб-странице. Нарушение, произошедшее при редактировании @PhonicUK, произошло не по их вине; это была ошибка в редакторе переполнения стека, которая вставляла <br>s. Однако людям следует быть более осторожными при редактировании контента других людей. Такие вещи здесь не типичны. Извинения. - person Dan Moulding; 31.10.2012