Конфигурирайте Visual Studio да използва UNIX окончания на редове

Бихме искали да използваме Visual Studio 2005 за работа върху локално копие на SVN хранилище. Това локално копие е проверено от Mac OS X (и актуализации и ангажименти ще се правят само под Mac OS X, така че няма проблем), и като следствие краищата на редовете са в UNIX стил.

Страхуваме се, че Visual Studio ще въведе краища на редове в стил Windows. Възможно ли е да принудите Visual Studio да използва UNIX окончания на редове?


person moala    schedule 27.09.2010    source източник


Отговори (9)


Предупреждение: Това решение вече не работи за Visual Studio 2017 и по-нови версии. Вместо това са необходими и двата отговора от jcox и Munther Jaber. Обединих ги в един отговор.

Както OP гласи Файл › Разширени опции за запазване, изберете Unix Line Endings.

Това ще засегне само новите файлове, които се създават. Коригирането на всички, които са били създадени преди това, може да се извърши файл по файл или можете да потърсите инструменти, които ще коригират групово.

person Zero    schedule 16.05.2012
comment
Файл › Разширени опции за запазване не са намерени на VS2010 express, някакви алтернативи? - person xiao 啸; 28.06.2013
comment
Това изглежда го променя само за текущия отворен файл, нали? - person Albert; 15.03.2014
comment
Това ще промени настройките по подразбиране за новосъздадени файлове. Той няма да модифицира вече създадени файлове, които имат последователни окончания на редове. По подразбиране Visual Studio ще ви предупреди, когато отворите файл със смесени окончания на редове и ще ви подкани да изберете последователен край на реда. - person Zero; 16.03.2014
comment
@xiao啸 опитайте да настроите средата си на обща msdn.microsoft.com/en- us/library/dd409797.aspx - person GibboK; 04.03.2015
comment
Имайте предвид, че ако не виждате тази опция, трябва да импортирате настройките на средата (Инструменти - › Настройки за импортиране и експортиране) Настройките на C# проработиха за мен. - person Kildareflare; 24.12.2015
comment
Това не е мащабируем подход, човек не просто всеки ден използва 300 изходни файла с разширени опции за запазване. Изненадващо е, че MS проектира Visual Studio по този начин. - person CoffeDeveloper; 15.11.2016
comment
@GameDeveloper според предишния ми коментар промяната на настройката ще се прилага за всички нови файлове, създадени в Visual Studio. За групова промяна на съществуващи файлове е необходим различен инструмент - много VCS имат автоматизирани скриптове за проверка или промяна на изходните файлове при регистрация. - person Zero; 02.05.2017
comment
@GameDeveloper Изобщо не съм изненадан. MS няма дори класическия улей (80 знака) за разработка, трябва да инсталирате свой собствен плъгин, а не CTRL-щракване, за да покажете всички употреби на нещо, запазването в специално кодиране е глупост от нормална човешка гледна точка , и имам много безсмислени неща като това за MS. Това е напълно контрапродуктивно. Трябва да използвам този редактор за Unity и след като използвах PyCharm и PhpStorm, се чувствам сякаш се връщам в праисторическата епоха. - person Olivier Pons; 04.11.2017
comment
@CoffeDeveloper Това се отнася до конфигуриране на начина, по който се създават нови файлове - така че трябва да се прави само веднъж, а не веднъж на файл или веднъж на ден. - person Zero; 18.03.2020
comment
Този отговор е напълно остарял. Аз съм член на StackOverflow от 10 години и не съм сигурен какво трябва да правим. Гласуването против отговора не изглежда ... правилно .. защото премахва кармата за веднъж валиден отговор. - person Theodore R. Smith; 26.07.2020

Ето някои налични опции за Visual Studio Community 2017

  1. „Файл > Разширени опции за запазване“ е премахнат от Microsoft поради „необичайна употреба“. Каквото и да значи това. https://developercommunity.visualstudio.com/content/problem/8290/file-advanced-save-options-option-is-missed.html Можете да го добавите обратно, като отидете на „Инструменти>Персонализиране“, след това в раздела „Команди“, изберете падащо меню до „Лента с менюта“, изберете „Файл“, след това „Добавяне на команда“>Файл>Разширени опции за запазване...". След това можете да го пренаредите в менюто за файлове, като използвате „преместване надолу".

Не знам дали след това ще трябва да зададете разширените опции за запазване за всеки един файл, но това може да предотврати проблема, който имах, когато моето Visual Studio непрекъснато добавяше CL RF окончания на редове в моите файлове, които бяха равномерно LF.

  1. Но направих още една крачка напред и добавих разширение, наречено „Обединител на краища на редове“, като отидох на „Инструменти>Разширения и актуализации>Онлайн“ и след това потърсих „крайове на редове“ в лентата за търсене вдясно. Ще използвам това, за да принудя автоматично всички мои скриптове да записват с еднакви завършвания на редове по мой избор, но вие можете да направите повече с него. https://marketplace.visualstudio.com/items?itemName=JakubBielawa.LineEndingsUnifier

  2. strip'em е друго решение, което прави нещо подобно на Line Endings Unifier. http://www.grebulon.com/software/stripem.php

Не съм сигурен как се различават или какви са предимствата/недостатъците на двете. Използвам основно Line Endings Unifier само защото беше в Visual Studio Marketplace. Мисля, че съм използвал всички тези методи в миналото, но паметта ми е неясна.

person FragmentalStew    schedule 15.11.2017
comment
От юли 2018 г. има друга опция - Изберете Файл -› Запиши като, след което в диалоговия прозорец за запазване бутонът за запазване има падащо меню за запазване с кодиране. Можете да зададете края на редовете там. - person Sudsy; 11.07.2018
comment
@Sudsy Тествах това и потвърждавам, че работи в общността на визуалното студио 2017 версия 15.7.4 Според Zero, когато използвате разширени опции за запазване, промяната на настройката ще се прилага за всички нови файлове, създадени в Visual Studio. Чудя се дали това е вярно и за този метод. - person FragmentalStew; 13.07.2018

VS2017 поддържа .editorconfig файлове, които могат да бъдат проверени в заедно с вашия проект. Това е съответната команда за задаване на окончания на редове в Unix:

end_of_line = lf
person jcox    schedule 28.06.2018
comment
За мен това работи само за нови файлове. Включих го в отговора си. stackoverflow.com/questions/3802406/ - person Theodore R. Smith; 27.07.2020
comment
Уау, това е диво. Всеки ден научавате нещо ново. - person Thick_propheT; 24.04.2021

Така че намерих този проблем и отговорите за много объркващи, особено след като разработвам предимно в Linux и PhpStorm и просто никога не съм имал тези проблеми.

Открих, че за Visual Studio 2019 само решението на Munther Jaber работи, когато се комбинира с промените .editorconfig на @jcox за нови файлове.

Въпреки това, тъй като не съм запознат със самото Visual Studio, ми отне МНОГО ВРЕМЕ, за да разбера къде е полето за край на реда...

ТАКА че направих видео как да конфигурирам това. https://youtu.be/YfN3igHXTPo

Актуализация: Научих как да правя анимирани GIF файлове чрез FFMPEG, за да мога да вградя видеоклипа тук! въведете описание на изображението тук

person Theodore R. Smith    schedule 27.07.2020
comment
Не виждам долните десни бутони в тази лента, как ги активирате? - person Oneiros; 16.10.2020
comment
Уверете се, че използвате Visual Studio, а НЕ Visual Studio Code. Това е основна точка на объркване както във въпросите, така и в отговорите... - person Theodore R. Smith; 17.05.2021

„Файл > Разширени опции за запазване“, изберете Unix Line Endings работи на базата на файл.

Като алтернатива можете да използвате добавката Strip'em за Visual Studio

Тази добавка преобразува текстовия формат на файл, когато той е записан във Visual Studio.

Повече информация тук: http://www.grebulon.com/software/stripem.php

person GibboK    schedule 04.03.2015

Има някои VS разширения, които са полезни за решаването на този проблем. Ще препоръчам Линията за изрязване завършва при запазване. Това разширение е безплатно и с отворен код. Има подобни разширения, които може да работят за вас, просто отидете на ИНСТРУМЕНТИ | Разширения и актуализации и търсете онлайн за „край на линия“

person kamayd    schedule 15.04.2015
comment
По-ценни за мен от отговорите, които се отнасят до Advanced Save Options, въпреки че реших да използвам различно разширение (Line Endings Unifier). - person Trevor; 13.10.2015

въведете описание на изображението тук LF може да се кликне и вие избирате LF или CRLF.

person Munther Jaber    schedule 15.08.2018
comment
Доста сигурен съм, че кодът на Visual Studio, а не Visual Studio. - person jcox; 14.09.2018
comment
За тези, които използват VS 2019 (не съм сигурен за по-старите версии) има опция точно като тази в долния десен ъгъл на текстовия редактор, което е по-лесно, отколкото използването на разширени опции за запазване. - person David DiGioia; 18.12.2019
comment
Ето едно видео за всички, които бяха толкова объркани като мен: stackoverflow.com/questions/3802406/ - person Theodore R. Smith; 27.07.2020

За Visual Studio 2019 за Mac

Отидете на Project> Solution Options> Source Code> Code Formatting> Text File В падащото поле Line Terminations изберете Unix/Mac.

Изображение

person Carlos Maemo    schedule 04.06.2020

Възможно е принудително завършване на редове в Visual Studio 2017 за Mac

  1. Отидете на Инструменти > Добавяне на персонализиран инструмент....
  2. В диалоговия прозорец, който се появява, превъртете менюто отляво надолу до секцията Текстов редактор и изберете Общи.
  3. В първата опция, Преобразуване на край на ред, променете Leave line endings as is на Always convert line endings.

екранна снимка на диалогов прозорец

person ow3n    schedule 21.12.2018