Пакетная нормализация окончаний строк в Visual Studio - PullRequest
10 голосов
/ 20 февраля 2012

Когда вы открываете файл со смешанными окончаниями строк, Visual Studio предложит вам его нормализовать.Есть ли способ нормализовать все файлы в текущем решении?

Связанные посты, которые не отвечают на мой вопрос:

Ответы [ 4 ]

6 голосов
/ 10 ноября 2016

Как указала желтая кровь в ответе Аарона Ф., если вы замените \n (LF) на \r\n (CRLF), у вас будет плохое время, поскольку он будет добавлять CR перед каждым LF, даже если у которого уже был один.

Однако то, что вы хотите, может быть достигнуто с помощью регулярных выражений с помощью любого текстового редактора, который поддерживает пакетную замену в файлах (например, Notepad ++ или Visual Replace в файлах Visual Studio).

Например, чтобы заменить LF на CRLF, обязательно активируйте опцию регулярного выражения, а затем замените все вхождения

(?<!\r)\n

с

\r\n

\r - возврат каретки (CR), \n - перевод строки (LF). Шаблон (?<!\r)\n будет соответствовать любому переводу строки, предыдущий символ которого не является возвратом каретки, без захвата (то есть замены) этого предыдущего символа.

Другой способ гораздо проще: просто замените \r\n на \n.

Как всегда, сделайте резервную копию ваших файлов и обязательно протестируйте работу с одним файлом перед обработкой всего решения.

Я бы добавил это как комментарий к ответу Аарона Ф., но моя репутация недостаточно высока:)

6 голосов
/ 13 ноября 2012

Вы можете создать bat-файл, который рекурсивно нормализует все файлы.

  1. Загрузить инструмент командной строки Tofrodos .
  2. Создать бат-файл в корневашего каталога решений со следующим содержимым:

для / R %% i в (* .cs) do "C: \ Prgs \ Tofrodos \ todos.exe" -p "%% i "

Обратите внимание, что необходимо обновить путь к файлу до todos.exe и, возможно, фильтра * .cs .

Затем запустите файл bat и дождитесь его завершения.

2 голосов
/ 20 февраля 2012

Visual Studio не имеет механизма нормализации концов строк для всего решения.Эта функция по существу ограничена проверкой правильности файла при открытии и изменении в этой точке.

Нормализация концов строк - это API, предоставляемый Visual Studio в IEditorOperations::NormalizeLineEndings.Следовательно, можно написать плагин / скрипт, который выполняет действия с элементами в решении.

1 голос
/ 19 августа 2015

Я только что использовал Notepad ++ функцию поиска и замены:

  1. Настройка NotePad ++ для отображения окончаний строк, вид-> показать символы -> показать все символы
  2. Открыть диалог поиска в файлах
  3. установить, найти что \ r \ n (или \ n) в зависимости от того, какое покрытие вы делаете
  4. установить заменить на \ n (или \ r \ n)
  5. Укажите каталог на папку вашего решения

Вы должны сделать резервную копию или зафиксировать любые изменения перед тем, как сделать это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...