Clang格式打破了Objective-C字符串文字尽管设置了高惩罚

时间:2015-04-22 13:29:13

标签: clang-format

我想防止clang-format在我的Objective-C代码中自动破坏字符串文字。

在我的.clang格式文件中,我将惩罚设置为一个非常高的数字:

PenaltyBreakString: 2147483647

调用clang-format -i folder/**/*.m仍会打破字符串:

#define DISPO_NO_DATA_EASYSCOTT NSLocalizedStringWithDefaultValue(@"DISPO_NO_DATA_EASYSCOTT", nil, [NSBundle mainBundle], @"Bislang hast du noch keine Dispo für diesen Drehtag hochgeladen.\nBitte logge dich dafür online auf my.easyscott.com ein und lade die Dispo im Bereich „Import / Export“ hoch", @"Anzeige in der Dispo, wenn eine Serververbindung besteht, jedoch auf dem Server kein Dokument hinterlegt ist (für easySCOTT). \n erzeugt einen Zeilenumbruch");

#define DISPO_NO_DATA_EASYSCOTT                                                                   \
  NSLocalizedStringWithDefaultValue(@"DISPO_NO_DATA_EASYSCOTT", nil, [NSBundle mainBundle],       \
                                    @"Bislang hast du noch keine Dispo für diesen Drehtag "      \
                                    @"hochgeladen.\nBitte logge dich dafür online auf "          \
                                    @"my.easyscott.com ein und lade die Dispo im Bereich "        \
                                    @"„Import / Export“ hoch",                                   \
                                    @"Anzeige in der Dispo, wenn eine Serververbindung besteht, " \
                                    @"jedoch auf dem Server kein Dokument hinterlegt ist (für "  \
                                    @"easySCOTT). \n erzeugt einen Zeilenumbruch");

预期:

#define DISPO_NO_DATA_EASYSCOTT    \
  NSLocalizedStringWithDefaultValue(@"DISPO_NO_DATA_EASYSCOTT", nil, [NSBundle mainBundle],  \
                                    @"Bislang hast du noch keine Dispo für diesen Drehtag hochgeladen.\nBitte logge dich dafür online auf my.easyscott.com ein und lade die Dispo im Bereich „Import / Export“ hoch", \
                                    @"Anzeige in der Dispo, wenn eine Serververbindung besteht, jedoch auf dem Server kein Dokument hinterlegt ist (für easySCOTT). \n erzeugt einen Zeilenumbruch");
clang-format --version                                                                                                                                                                                   
clang-format version 3.7.0 (tags/google/testing/2015-04-02)

通过自制软件安装在mac上

1 个答案:

答案 0 :(得分:0)

  1. 尝试较小的值documentation mentions D:\>set var=123 D:\>set var=456 & echo %var% 123 D:\>set var=789 & echo %var% 456 的{​​{1}}参数为PenaltyBreakString,但它并不表示其大小。

  2. 您可以标记要忽略的行,并根据需要对其进行格式化,而不必将大的任意值放入unsigned文件中。

  3. e.g。

    .clang-formt