Остановить Visual Studio от смешивания строк в файлах

При открытии текстового файла в Visual Studio 2010 он будет писать мои изменения с помощью CRLF вместо формата окончания строки исходного файла. Как я могу остановить VS от этого? Любой наполовину достойный редактор должен иметь эту возможность.

Что еще хуже, так как VS написал файл с частями в CRLF, тогда (при открытии файла снова) появится диалоговое окно с просьбой преобразовать конец строки файла.

Ответ 1

Попробуйте эту надстройку: Strip'em

Ответ 2

В меню "Файл" выберите "Дополнительные параметры сохранения", вы можете управлять им там.

Изменить: Здесь в документации вы должны сначала открыть файл.

Ответ 3

В Visual Studio 2015 проверьте настройки:

Инструменты > Параметры > Средa > Документы > Проверить согласованные окончания строк при загрузке

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

Ответ 4

С VS2010 + есть плагин-решение: Endination Endifier.

С установленным плагином вы можете щелкнуть файлы и папки правой кнопкой мыши в проводнике решений и вызвать пункт меню Unify Line Endings in this file

Конфигурация для этого доступна через

Инструменты → Параметры → Уничтожитель строк.

Список добавленных файлов по умолчанию, который включен, довольно узкий:

 .cpp; .c; .h; .hpp; .cs; .js; .vb; .txt;

Возможно, вы хотите использовать что-то вроде:

 .cpp; .c; .h; .hpp; .cs; .js; .vb; .txt; .scss; .coffee; .ts; .jsx; .markdown; .config

Ответ 5

см. http://editorconfig.org и https://docs.microsoft.com/en-us/visualstudio/ide/create-portable-custom-editor-options?view=vs-2017

  1. Если он не существует, добавьте новый файл с именем .editorconfig для вашего проекта.

  2. манипулировать конфигурацией редактора, чтобы использовать ваше предпочтительное поведение.

Я предпочитаю пробелы над вкладками и CRLF для всех файлов кода.
Вот мой .editorconfig

# http://editorconfig.org
root = true

[*]
indent_style = space
indent_size = 4
end_of_line = crlf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

[*.tmpl.html]
indent_size = 4

[*.scss]
indent_size = 2