Why can't I save files in Sublime Text opened from Visual Studio? - visual-studio

I am using Visual Studio 2012 and Sublime Text 3 in Windows 7.
I set up Sublime Text 3 as an external editor using the steps outlined here.
The file correctly opens to the current line as expected, however if I try to save the file in Sublime Text I get this error:
EDIT: The files are all marked as read-only, although VS opens and saves them without incident. What can I do to remove the read-only flag when editing in ST?

Have you checked the line endings of the files after you edit them in sublime? make sure they are CR+LF
This may help fixing-sublime-text-2-line-endings

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.

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.

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?
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

How to copy line in XAML editor?

In Visual Studio.NET when coding I constantly use (no selection) CTRL-C, CTRL-V to make a quick copy of a line.
Unfortunately this works differently in the XAML editor (it pastes the new line in the middle of the current line).
Does anyone know the hotkey to copy a line in XAML?
If you map the .xaml extension to the standard XML editor this problem will be solved along with others such as the poor performance of the XAML editor.
Tools / Options / Text Editor / File Extension
In the XAML editor in Visual Studio 2010 (and the Visual Studio 11 Developer Preview), copying and pasting a line has the expected behavior:
Invoking a copy when there is no selected text causes the entire current line to be copied.
A subsequent paste when there is no selected text will cause the copied line to be inserted above the current line.

Resources