moala
moala

Reputation: 5334

Configure Visual Studio to use UNIX line endings

We would like to use Visual Studio 2005 to work on a local copy of an SVN repository. This local copy has been checked out by Mac OS X (and updates and commits will only be made under Mac OS X, so no problem there), and as a consequence the line endings are UNIX-style.

We fear that Visual Studio will introduce Windows-style line endings. Is it possible to force Visual Studio to use UNIX line endings?

Upvotes: 108

Views: 140090

Answers (10)

lufc
lufc

Reputation: 2040

In the latest version on Windows you go to

File > Preferences > Settings > Text Editor > Files > Eol

Upvotes: 0

Theodore R. Smith
Theodore R. Smith

Reputation: 23231

So I found this problem and the answers very confusing, especially since I primarily develop in Linux and PhpStorm and simply never have these issues.

I found that for Visual Studio 2019, only Munther Jaber's solution worked when combined with @jcox's .editorconfig changes for new files.

However, being unfamiliar with Visual Studio itself, it took me a LONG TIME to find out where the line ending box is...

SO I made a video of how to configure this. https://youtu.be/YfN3igHXTPo

Update: I learned how to make animated GIFs via FFMPEG just so I could embed the video here! enter image description here

Upvotes: 67

Zero
Zero

Reputation: 12099

Warning: This solution no longer works for Visual Studio 2017 and later. Instead, both of the answers by jcox and Munther Jaber are needed. I have combined them into one answer.

As OP states "File > Advanced Save Options", select Unix Line Endings.

This will only affect new files that are created. Fixing any that were previously created can be done file-by-file or you can search for tools that will fix on-bulk.

Upvotes: 56

Carlos Maemo
Carlos Maemo

Reputation: 101

For Visual Studio 2019 for Mac

Go to Project> Solution Options> Source Code> Code Formatting> Text File In the Line Terminations drop box select Unix/Mac.

Image

Upvotes: 5

ow3n
ow3n

Reputation: 6587

It is possible to force line endings in Visual Studio 2017 for Mac

  1. Go to Tools > Add Custom Tool....
  2. In the dialog box that appears scroll the left menu down to the Text Editor section and select General.
  3. In the first option, Line ending conversion, change Leave line endings as is to Always convert line endings.

screenshot of dialog

Upvotes: 2

Munther Jaber
Munther Jaber

Reputation: 954

enter image description here The LF is clickable and you choose either LF or CRLF.

Upvotes: 4

jcox
jcox

Reputation: 959

VS2017 supports .editorconfig files, which can be checked in along with your project. This is the relevant command for setting Unix line endings:

end_of_line = lf

Upvotes: 37

FragmentalStew
FragmentalStew

Reputation: 779

Here are some options available for Visual Studio Community 2017

  1. "File > Advanced Save Options" has been removed by microsoft due to "uncommon use". Whatever that means. https://developercommunity.visualstudio.com/content/problem/8290/file-advanced-save-options-option-is-missed.html You can add it back by going to "Tools>Customize", then "Commands" tab, select the drop down next to "Menu Bar" select "File" then "Add Command">File>Advanced Save Options..". You can then reorder it in the file menu by using "move down".

I don't know if you will have to then set the advanced save options for each and every file, but it might prevent the issue I was having where my Visual Studio kept adding CL RF line endings into my files that were uniformly LF.

  1. But I took it one step further and I added an extension called "Line Endings Unifier" by going to "Tools>Extensions and Updates>Online" and then searching for "line endings" in the search bar to the right. I will use this to automatically force all of my scripts to save with uniform line endings of my choice, but you can do more with it. https://marketplace.visualstudio.com/items?itemName=JakubBielawa.LineEndingsUnifier

  2. strip'em is another solution that does something similar to Line Endings Unifier. http://www.grebulon.com/software/stripem.php

I am not sure how they differ or the advantages/disadvantages of either. I'm mainly using Line Endings Unifier just because it was in the Visual Studio Marketplace. I think I've used all of these methods in the past, but my memory is fuzzy.

Upvotes: 57

kamayd
kamayd

Reputation: 440

There are some VS extension that are useful to solve this problem I will recommend Trim line ends on save. This extension is free and open source. There are similar extensions that may work for you, just go to TOOLS | Extensions and Updates and search online for "line end"

Upvotes: 6

GibboK
GibboK

Reputation: 73908

"File > Advanced Save Options", select Unix Line Endings works per file based.

Alternatively You can use Strip'em Add-in for Visual Studio

This Add-in converts the text format of a file when it is saved in Visual Studio.

More info here: http://www.grebulon.com/software/stripem.php

Upvotes: 10

Related Questions