1

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

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

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 上

4

1 回答 1

0
  1. 尝试一个更小的值……文档中提到PenaltyBreakString了is的参数,unsigned但没有指出它的大小。

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

例如

// clang-format off
...your code...
// clang-format on
于 2015-04-23T05:13:15.093 回答