форматирование определения структуры / макроса класса - PullRequest
0 голосов
/ 22 мая 2019

В настоящее время мы используем Microsoft.VisualStudio.TestTools.CppUnitTestFramework , который определяет тестовые классы с помощью макроса, например:

TEST_CLASS(Class1)
{    
public:    
    TEST_METHOD(Method1)
    {
        Logger::WriteMessage("In Method1");
        Assert::AreEqual(0, 0);
    }   
};

Мне трудно заставить clang-формат «понять», что TEST_CLASS является определением структуры / класса. После нескольких попыток наилучшее решение, которое я получил на данный момент, состоит в том, чтобы определить два новых макроса для переноса класса:

#define START_TEST(className) TEST_CLASS(className){
#define END_TEST };

и определите их как начало / конец блока:

MacroBlockBegin: ^START_TEST.*$
MacroBlockEnd: ^END_TEST.*$

Мне интересно, есть ли лучшее решение, которое не предполагает добавления большего количества макросов ...

...