Как отключить автоматическое форматирование пробелов в Visual Studio 2015?
Мне очень нравится новый Visual Studio 2015, но автоформатирование немного слишком велико для меня. Особенно мне нравится управлять пробелами:
public class TipStats
{
public int Points { get; set; }
public int Position { get; set; }
public decimal Percentage { get; set; }
}
Я вижу только три параметра автоформата в моих настройках, и я все их отключил - все еще Visual Studio автоматически форматирует мои пробелы.
![введите описание изображения здесь]()
Существуют ли какие-либо другие скрытые настройки, которые мне нужно знать для отключения всех автоматических форматирования пробелов?
Обновление
Как примечания @Saragis Игнорирование пробелов в заявлениях объявлений иногда работает для этого конкретного примера, но все же там все виды автоформатов работают против того, что я хочу.
Большинство параметров, по-видимому, определяют только , как, который вы хотите использовать для автоформатирования. Я ищу параметр, который определяет , если вы хотите автоформатировать.
PS: У меня возникают только проблемы с автоформатированием. Я все еще использую CTRL + K, F для частичного форматирования моего кода в настоящее время.
Обновление - добавлен запрос функции на UserVoice
http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/9795837-add-an-ignore-space-for-all-format-options
Ответы
Ответ 1
Я понял, что неправильно понял вопрос в своем первоначальном ответе, поэтому добавил частичный ответ, отключающий автоформатирование для пробелов.
Если вы выберите ignore white space
для всех вариантов, где он предлагается, он не будет переформатировать пробел в этих областях кода.
![введите описание изображения здесь]()
Эти снимки экрана взяты из VS2015 Enterprise.
Я начинаю с самого начала помогать всем, кто приземляется здесь.
Перейдите в Инструменты → Параметры.
![введите описание изображения здесь]()
Прокрутите вниз до текстового редактора. Стоит щелкнуть по всем общим вкладкам. И вкладки "Все языки". Есть некоторые общие параметры форматирования, которые можно установить, например, обертки строк.
![введите описание изображения здесь]()
Затем перейдите на языки, которые вы хотите настроить (я покажу С#), и нажмите на форматирование. Там вы найдете варианты, я расширил интервал в соответствии с названием вашего вопроса.
![введите описание изображения здесь]()
Затем вы можете просмотреть каждую из этих вкладок, чтобы настроить формат для каждого языка.
![введите описание изображения здесь]()
edit- поскольку вопрос действительно изменился
Чтобы уменьшить инциденты автоформатирования, снимите флажки с таких параметров:
![введите описание изображения здесь]()
Единственный способ управлять автоформатированием - играть с этими настройками.
Вы также можете использовать регулярное выражение с поиском и заменой для удаления места из файлов, но делайте это осторожно.
Помимо этих советов, чтобы настроить автоматическое форматирование, уменьшить VS-процесс автоформатирования и вручную автоформатировать, что все, что я могу придумать.
Существует также следующее:
В разделе Правка → Дополнительно → Удалить горизонтальное белое пространство
![введите описание изображения здесь]()
Ответ 2
Вам придется привыкнуть к тому, как в редакторе работает автоформат. Вы начинаете машину, которая воспринимает код очень буквально. Он работает, как компилятор, делает то, что вы сказали, а не то, что вы имели в виду.
И единственный вариант, который у вас есть сейчас, чтобы заставить его не вмешиваться в ваш интервал, - это текстовый редактоp > С# > Форматирование > Интервал > Игнорировать пробелы в предложении объявлений. Других вариантов "игнорировать" нет. И нет волшебного символа или побега, который говорит ему игнорировать конкретное утверждение.
Что отлично подходит для отсканированного фрагмента. Вы не привели пример того, где вы хотите, чтобы он вел себя по-другому, но если это не декларация, вы узнаете, что происходит. Команда С# IDE всегда очень заинтересована в конкретных и практических предложениях по улучшению работы редактора. Сначала вам нужно подумать об одном. Тяжелый акцент на конкретном и практическом, то, что требует "искусственного интеллекта" или изменения языка, вряд ли будет летать. Результат должен быть достаточно предсказуемым и не может стоить много циклов процессора. Вы можете опубликовать свое предложение на сайте connect.microsoft.com или (возможно, лучше) в github для проекта Roslyn.