Intereting Posts
Будет ли создание шаблона шаблона шаблона ссылочной причины неопределенным поведением? «Нестандартный синтаксис; использовать ‘&’ для создания указателя на элемент “ошибка vs2015 Почему не могут нестатические члены данных быть constexpr? Условия, при которых компилятор не будет определять implicits (конструктор, деструктор, конструктор копирования, назначение копии) odeint сбрасывает объект во время итерации GCC принимает `constexpr struct {} s;`, но Clang отклоняет его. Кто прав? Чтение и чтение файлов Unicode на C ++? Преобразование формата FreeImage FIBITMAP в Matrix OpenCV барахло осталось в буфере cin Подclass: кнопка в пользовательском classе с использованием SetWindowSubclass Кросс-платформенный способ преобразования UTF8 в std :: wstring Справка по настройке Vim для C ++ Как работает эта часть кода на C ++? Преобразование двоичной строки в десятичную Импорт файлов png в Visual Studio Редактор ресурсов C ++

Как я могу отступать на C ++ pragma, используя clang-format?

Я использую vim-autoformat , который использует clang-format качестве внешнего форматирования.

Кажется, что clang-format не будет отступать от C ++ #pragma . Например:

 #include  #include  int main() { #pragma omp parallel for for (int i = 0; i < 10; ++i) { puts("demo"); } return 0; } 

Я хотел бы, чтобы он был отформатирован:

 #include  #include  int main() { #pragma omp parallel for for (int i = 0; i < 10; ++i) { puts("demo"); } return 0; } 

Я проверил clangformat , но не нашел, какой вариант я мог бы использовать.

    Было уже поздно, но это решение, которое вы ищете. Он форматирует прагму вместе с блоком кода.

    https://github.com/MedicineYeh/p-clang-format

    Основная концепция заключается в замене строки так, что форматирующий использует «правильные» правила для этих прагм. Мотивационный пример следующий.

     # Replace "#pragma omp" by "//#pragma omp" sed -i 's/#pragma omp/\/\/#pragma omp/g' ./main.c # Do format clang-format ./main.c # Replace "// *#pragma omp" by "#pragma omp" sed -i 's/\/\/ *#pragma omp/#pragma omp/g' ./main.c