Configure Visual Studio to use UNIX line endings - visual-studio

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?

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.

Here are some options available for Visual Studio Community 2017
"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.
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
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.

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!

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

"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

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"

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

The LF is clickable and you choose either LF or CRLF.

It is possible to force line endings in Visual Studio 2017 for Mac
Go to Tools > Add Custom Tool....
In the dialog box that appears scroll the left menu down to the Text Editor section and select General.
In the first option, Line ending conversion, change Leave line endings as is to Always convert line endings.

In the latest version on Windows you go to
File > Preferences > Settings > Text Editor > Files > Eol

Related

How to stop Visual Studio from putting extra newline at the end of a file on save

I'm using Visual Studio 2019, and when I save a file (a cs file for example) VS will put an extra newline at the of the file.
I need to stop this behavior, but what I have searched on the internet so far, was about visual studio code or editors other than Visual Studio.
What is the philosophy of putting an extra newline at the end of file?
According to this link, I need to make Advanced Save Options menu visible, and then click it and change line endings dropdown value from Current Settings to Windows (CR LF).

Double Line space in Visual Studio

I have a weird line spacing issue in Visual Studio (irrespective of VS version. I have tried VS2010 and VS2013). The code files in one particular solution open with an "Inconsistent Line Endings" warning and no matter what option I choose in that dialog, the code file opens with double line space between every line of code. The same code file when opened in Notepad shows up fine. Please see the attached screenshots.
I have tried many of the solutions that google could throw at me and none have worked so far :-(
Notepad Screenshot:
VS Screenshot:
UPDATE: Wordpad screenshot
What could be the issue here?
I had trouble with this in VS2013.
After changing the inconsistent line endings to Windows CR LF, VisualStudio inserted CR LF CR LF everywhere, resulting in double spacing. This became clear to me when I opened the file in Notepad++ and selected 'show all characters'.
I replaced all \n\r\n\r with \n\r, once, in Notepad++. This seemed to fix things.

MSVC 2012 - Shortcut to duplicate line

What is the key for duplicating a line in Microsoft Visual Studio 2012?
(in Notepad++ it is ctrl+D )
Check this extension:
Duplicate Selection extension : http://visualstudiogallery.msdn.microsoft.com/830a6482-3b8f-41a8-97b5-b9c581e5ad8b
Duplicate the line without touching the clipboard (as Notepad++ does).
Just to make it absolutely clear
ctrl-C at the start of a line copies the whole line without your needing to select it
source Shortcut for duplicating a line of code in Visual Studio 11
Here's a list of keyboard shortcuts, but don't see a duplicate on it. Ctrl+C/Ctrl+V may be your best bet or see if there's something you can define under Tools>Options>Keyboard.

How to get gvim to play nicely with Visual Studio 2010?

On my last job, they used Visual Studio 2005 (and occasionally Visual Studio 97), and for command line convenience I used vim for editing things like Mercurial version control configuration files like hgrc and .hgignore
However my coworkers soon began to complain that vim would change the encoding of the files, and would cause a message to popup in Visual Studio telling them about the encoding difference.
After that I stopped using vim and just ended up editing the files in Visual Studio.
Are there any changes to vim's configuration I can make so that this does not occur?
I'd use notepad to edit my files but it always puts that pesky .txt extension on the ends of my files.
I'm also aware of solutions like Notepad++, but I just wondered if there was a solution for this in vim.
If it is because their VS files are being saved as UTF-8 by default and your vim is doing ISO-8859-1 or ASCII, try changing your file encoding:
" Encoding displayed
:set encoding=utf-8
" Encoding written to file.
:set fileencoding=utf-8
For new files
:set ff=dos
In the standard setup, vim will preserve the line-ending style of an already existing file.
Another option might be to use ViEmu, which is a plugin that provides vi emulation within Visual Studio. Please note that it is not a free plugin, but to me it's worth paying for.
VSVim is a free extension for VS2010 that provides a fair bit of vim functionality built right in the IDE.
ViEmu is a much more complete implementation that's not free but is worth the money.

Change EOL Character in Visual Studio

I’m sorry if this is a trivial question for you.
Is there any way to change the End of Line Character (EOL) character in Visual Studio 2010? I want to change it from Windows (‘\r\n’) format to UNIX (‘\n’) format.
Thanks
File / Save As ...
Save with Encoding... (press the arrow next to the Save button to see this option)
Choose appropriate EOL character from the Line endings drop-down list
Click somewhere in the code page. Go to File -> Advanced Save Options -> use the Line Endings Drop box to select the line ending you want on ALL of your output files (when using \n for EOL). This solution is written for Visual Studio 2008.
For doing this globally, Strip'em is an add-in for Visual Studio that will automatically convert the line-ending when saving a file. Works for VS 2008/2010/2012.

Resources