Я часто нахожусь в ситуациях, когда я хотел бы сделать отступы директивам препроцессора, как остальная часть кода (например, #if
с отступом как if
). Это кажется законным, его здравый смысл, что это иногда хорошо, но Visual не сделает это легко.
Есть ли способ, чтобы редактор Visual C ++ 2010 не вставлял код слева при каждом невинном нажатии #
? И чтобы не нарушать отступ директив препроцессора с помощью авто-отступа (CTRL + K, CTRL + F)? Или, что еще лучше, обрабатывать директивы препроцессора, как и все остальное?
Мой подход заключается в том, чтобы сохранить #
в первом столбце и отступа для следующего слова, как в:
#ifdef FIRST
# include "first.h"#else
# include "second.h"#endif
В настройках Visual Studio 2010 (Сервис-> Параметры)
Перейти к текстовому редактору -> C / C ++ -> Вкладки
Под отступом выберите Блок вместо умного.
Это предотвратит принудительное нажатие клавиши # в начале строки, однако, если вы нажмете Ctrl + K Ctrl + F, все равно будет применено интеллектуальное форматирование и удалены вкладки.
Редактировать: Это также отключит автоматический отступ / удаление отступов в других местах. Осторожно.
В какой-то момент visualstudio (проверено в vs2015) приобрел параметры> текстовый редактор> c / c ++> форматирование> отступ> положение директив препроцессора. Выберите «оставить отступ». Образец не выглядит точно так, как вы хотите, но он работает, просто попробуйте.
Обходной путь: Когда вы впервые вводите #
и Visual Studio удаляет отступ, нажмите Ctrl+Z отменить автоматическое форматирование.