When saving a file using Visual Studio Code, a newline is not automatically added to the end of the file, causing all sorts of potential issues.
How does one append a newline automatically in Visual Studio Code?
When saving a file using Visual Studio Code, a newline is not automatically added to the end of the file, causing all sorts of potential issues.
How does one append a newline automatically in Visual Studio Code?
There are two easy methods to make Visual Studio Code insert a new line at the end of files:
Open Visual Studio Code and go to File (Code if using a Mac) -> Preferences -> Settings; you should now be viewing a settings page
Enter 'insert final newline' in to the search bar
Select the checkbox under the heading 'Files: Insert Final Newline' in the 'Workspace Settings' and/or 'User Settings' tab(s) as required
Open Visual Studio Code and go to File (Code if using a Mac) -> Preferences -> Settings; you should now be viewing a settings page
Open the JSON settings page by clicking the {} icon at the top right of the page
Enter 'files.insertFinalNewline' in to the search bar of the JSON settings page
Either
files.insertFinalNewline JSON key and select Trueor
files.insertFinalNewline JSON key, paste it into the right hand side JSON file under the 'User Settings' and/or 'Workspace Settings' tab(s) as required, and set its value to trueIn either your User Settings or Workspace Settings JSON file, you should have a line reading "files.insertFinalNewline": true, within the provided curly braces ({ }). Additionally, in the Settings page, the checkbox under the heading 'Files: Insert Final Newline' will be selected.
Visual Studio Code will now add an empty line to the end of files when being saved, if there isn't already one.
I have placed a screen capture below showing how to make Visual Studio Code insert a newline at the end of files. This will also serve as a useful place to link to in code reviews when saying "You need to do this and resubmit".
While editing PHP files, something was deleting the newline at the end of the file. In my case it turned out to be the HTML format (html.format.endWithNewline), I believe because of the Emmet extension. (see attached images)