Я активировал автоматическое форматирование кода в Visual Studio 2015 для устаревшего проекта C++.
Проблема в том, что строки кода после определенных вызовов макросов (не закрывающиеся точкой с запятой, поскольку они находятся внутри макроса) всегда имеют отступ. Я ищу параметр в Visual Studio 2015, чтобы предотвратить это, без необходимости устанавливать другое расширение, необходимости изменять само определение макроса или просить всех добавить дополнительную точку с запятой в вызов (что бы это исправить).
Вот минимальный пример того, как выглядит код и вытекающая из него проблема:
#include <iostream>
#ifdef _DEBUG
# define MY_TRACE(X) do { std::cout << X << std::endl; } while (0);
#else
# define MY_TRACE(X) {}
#endif
int main()
{
MY_TRACE( "Hello World!" )
return 0;
}
Итак, у меня есть следующие настройки, которые автоматически делают отступ, например. на <Enter>
или с }
:
И следующие настройки отступа:
Я пробовал все возможные и невозможные комбинации настроек там и в других местах (включая, например, поворот «Вкладки / Отступы / Смарт»). Каждый раз, когда редактор Visual Studio C++ продолжал делать отступ строки после макроса.
Я также не мог ничего найти на SO или в Интернете. Самое близкое, что я получил, но у меня не было ответа или где для другого редактора/языка:
MY_TRACE
не требовать точку с запятой в конце? - person Vittorio Romeo   schedule 31.03.2017;
пустые операторы официально появились в C++11. - person Florian   schedule 31.03.2017