Отступы директив препроцессора в Visual C ++ 2010

Я часто нахожусь в ситуациях, когда я хотел бы сделать отступы директивам препроцессора, как остальная часть кода (например, #if с отступом как if). Это кажется законным, его здравый смысл, что это иногда хорошо, но Visual не сделает это легко.

Есть ли способ, чтобы редактор Visual C ++ 2010 не вставлял код слева при каждом невинном нажатии #? И чтобы не нарушать отступ директив препроцессора с помощью авто-отступа (CTRL + K, CTRL + F)? Или, что еще лучше, обрабатывать директивы препроцессора, как и все остальное?

19

Решение

Мой подход заключается в том, чтобы сохранить # в первом столбце и отступа для следующего слова, как в:

#ifdef FIRST
#  include "first.h"#else
#  include "second.h"#endif
13

Другие решения

В настройках Visual Studio 2010 (Сервис-> Параметры)

Перейти к текстовому редактору -> C / C ++ -> Вкладки

Под отступом выберите Блок вместо умного.

Это предотвратит принудительное нажатие клавиши # в начале строки, однако, если вы нажмете Ctrl + K Ctrl + F, все равно будет применено интеллектуальное форматирование и удалены вкладки.

Редактировать: Это также отключит автоматический отступ / удаление отступов в других местах. Осторожно.

10

В какой-то момент visualstudio (проверено в vs2015) приобрел параметры> текстовый редактор> c / c ++> форматирование> отступ> положение директив препроцессора. Выберите «оставить отступ». Образец не выглядит точно так, как вы хотите, но он работает, просто попробуйте.

8

Обходной путь: Когда вы впервые вводите # и Visual Studio удаляет отступ, нажмите Ctrl+Z отменить автоматическое форматирование.

3
По вопросам рекламы [email protected]