Почему в окне кода C # Visual Studio 2010 постоянно появляются смешанные табуляции и пробелы?

88

Я только что работал над файлом C # (Global.asax.cs) в веб-приложении в течение последнего часа или около того, и мне было показано приглашение «табулировать» или что-то еще около четырех раз. Каждый раз, когда я выбираю табуляцию и сохраняю файлы, но позже в какой-то, казалось бы, случайный момент, я снова получаю запрос.

Я использую ReSharper, но этого не происходит, когда я кодирую дома, также используя ReSharper. Только на работе.

ПрофК
источник
3
Настроен ли параметр отступа табуляции таким образом, что пробелы действительно могут быть полностью преобразованы в табуляции?
пользователь
Я также получил это в одном из моих файлов. Сегодня я получаю это один-два раза в час. Еще до того, как файл был добавлен в систему контроля версий.
sindre j
12
@LostHobbit Это важно, потому что надоедливые диалоги постоянно появляются и прерывают мой поток.
ProfK

Ответы:

146

Вы используете расширение Productivity Power Tools VS 2010? Если да, перейдите Tools-> Options-> и выберите Productivity Power Tools. Здесь вы можете отключить опцию Fix Mixed Tabs. Это отключит это предупреждение.

Электроинструменты для Visual Studio 2010

Power Tools для Visual Studio 2012

Электроинструменты для Visual Studio 2013

Power Tools для Visual Studio 2015

Джастин Сарасено
источник
20
Я бы предпочел оставить предупреждение и вместо этого избавиться от смешанных вкладок и пробелов.
ProfK
2
@ProfK будет ли случайная точка, в которой вам снова будет предложено, также случиться после того, как кто-то другой внесет изменения в этот файл (если вы используете систему управления версиями)? Возможно, у вас и у кого-то еще есть пробелы табуляции, определенные по-разному в VS.
Джастин Сарасено,
7
Трудно понять, насколько это продуктивно. Отключите вкладки с помощью Инструменты + Параметры, Текстовый редактор. Они использовались в прошлом веке для сохранения байтов.
Hans Passant
6
@Hans, продуктивность использования вкладок тут вообще не актуальна.
ProfK
35
Продуктивность вкладок хорошо обсуждалась, и вкладки имеют больше достоинств, чем просто размер данных. Вкладки имеют настраиваемую ширину для людей с разными настройками отступа, работающих над одним проектом. Если бы все настроили свой VS на использование разного количества пробелов вместо вкладок, код превратился бы в беспорядок, но если каждый использует вкладки и настраивает ширину вкладок в соответствии со своими визуальными предпочтениями, тогда код остается чистым, и каждый получает свой торт и тоже ест его. Опять же, в чем преимущество использования пробелов?
TheXenocide
61

Смешанные табуляции и пробелы могут быть получены из настроек текстового редактора Visual Studio. Вы можете решить, хотите ли вы, чтобы Visual Studio вставляла здесь пробелы или табуляции:

Инструменты / Параметры / -> Текстовый редактор / Все языки / Вкладки, выберите опцию «Сохранить вкладки».

Фриск
источник
6
Это действительно правильный ответ на заданный вопрос и результат, которого хотел достичь @ProfK.
Reality Extractor
11

Выберите опцию «Untabify», поскольку VS по умолчанию использует пробелы, а не табуляции. Если вы выберете «Tabify» в следующий раз, когда добавите строку, VS будет использовать пробелы, и вы будете видеть подсказку снова и снова.

pbb
источник
9

Resharperиспользует отдельные настройки табуляции / пространства для визуальной студии. В Resharperпараметрах отметьте «Общий стиль форматирования -> Как выровнять, когда вкладки используются для отступов». Этот параметр используется, когдаresharper форматировании кода (например, при рефакторинге и т. Д.) И по умолчанию имеет значение «Пользовательские пространства».

Также в " меню Правка -> Дополнительно » есть опция «Просмотр пробелов» (Ctrl + E, S), которая может быть полезна!

Тириноарим
источник
Хороший вариант (View Whitespace)! +1
Игнасио Солер Гарсия