Предотвращение Visual Studio 2008 (C ++) от удаления вкладок отступа в пустых строках - PullRequest
2 голосов
/ 10 ноября 2011

Предположим, я пишу оператор if на C ++ с VS2008.Я нахожусь внутри функции и поэтому с отступом (скажем, вкладка с левого поля).Я набираю , если {, нажимаю клавишу ввода, и теперь у меня две вкладки в поле - я счастлив: -)

Я перемещаю курсор на несколько строк вверх, чтобы что-то скопировать, а затемобратно под , если {.И вот, мой курсор теперь направлен против левого поля, и я потерял свой отступ.Сердитый!>: - (

Я трачу свое время на перепечатывание вкладок, и это сводит меня с ума. Пожалуйста, помогите мне открыть секретную настройку, которая позволяет мне продолжить работу.

Редактировать: Кстати, при разработке на C # я испытываю желаемое поведение. Это просто C ++, который теряет авто-отступ.

Ответы [ 2 ]

2 голосов
/ 10 ноября 2011

Насколько мне известно, в VS2008 нет настроек, чтобы заставить его работать.
В VS2010 он ведет себя так, как вы ожидаете.
Если вы можете, я бы порекомендовал использовать VS2010.Если вы делаете c ++ - cli, вы можете настроить проект на использование .Net 3.5 framework, а затем он будет компилироваться с использованием VS2008.Если вы используете vanilla c ++, вы можете перейти на страницы свойств проекта General и установить Platform Toolset на v90, чтобы он компилировался с использованием VS2008.Конечно, вы можете просто скомпилировать, используя VS2010, если это вариант для вас.

2 голосов
/ 10 ноября 2011

Если вы просматриваете пробелы («Правка»> «Дополнительно»> «Показать пробелы»), вы можете видеть, что при нажатии клавиши ввода вкладки не помещаются в файл до тех пор, пока не будет напечатан какой-либо текст. Когда вы щелкаете, Visual Studio не запоминает, что у вас был отступ.

Возможное решение вашей проблемы - в Инструменты> Параметры> Текстовый редактор> C / C ++> Общие, вы можете поставить галочку «Включить виртуальное пространство». Это позволяет вам поместить курсор в любое место, и после того, как вы наберете символ, он добавляет табуляции / пробелы до курсора.

Опция в C #, которая отсутствует в C ++ - это флажок «Содержимое блока отступа» в «Инструменты»> «Параметры»> «Текстовый редактор»> «C #»> «Форматирование»> «Отступ».

...