How to make IntelliJ IDEA insert a new line at every end of file?

功夫 熊猫 / 2024-07-19 / 原文

 

https://stackoverflow.com/questions/16761227/how-to-make-intellij-idea-insert-a-new-line-at-every-end-of-file

How to make IntelliJ IDEA insert a new line at every end of file?

Ask Question
Asked 11 years, 1 month ago
Modified 2 months ago
Viewed 138k times
431

How do I make IntelliJ IDEA insert a new line at every end of file, so that GitHub doesn't complain for example?

Share
Improve this question
 
  •  
    I'm still having this error even after doing the below for Jupyter Notebooks any one know how to fix it? 
    – Melly Beechwood
     CommentedJun 24, 2022 at 21:38

10 Answers

656
 

Change your Editor settings:

Settings → Editor → General → Ensure line feed at file end on save

Share
Improve this answer
 
  • 4
    Is it possible to force only one? I.e. if there is 2 or more it deletes the extra newlines? 
    – Pylinux
     CommentedOct 25, 2014 at 11:28 
  •  
    It adds new line but the message is still there.(I am on Windows and use Checkstyle InteliJ plugin). 
    – Xelian
     CommentedMar 11, 2015 at 10:16
  •  
    @Xelian If the line is there, then there are bugs in the tools that highlight there isn't a new line. 
    – NightRa
     CommentedMar 11, 2015 at 18:56
  • 5
    Since IntelliJ auto-saves, I don't get the new line unless I explicitly save the file. This doesn't quite solve it for me unless I'm missing something. 
    – ShatyUT
     CommentedNov 7, 2016 at 16:50
  • 1
    @AndriyKryvtsun I think this is *nix-specific (like macOS and Linux), not the case in Windows. From Wikipedia: "...newlines either separate lines or that they terminate lines." In *nix system they terminate lines, so it appears to some programs that there is a trailing blank line. 
    – Franklin Yu
     CommentedJan 2, 2017 at 1:57
 
116

For MAC users:

Preferences > Editor > General > Ensure every saved file ends with a line break

Share
Improve this answer
 
  •  
    I want something similar, but for the first-line, is there any way? Currently the IDE does the opposite (and auto deletes empty lines from begin of file). 
    – Top-Master
     CommentedMay 5, 2023 at 17:47 
56

Possible alternative with a number of handy features is EditorConfig

Just submit an .editorconfig file to your repo

[*]
insert_final_newline = true

And it will work natively not only in Idea, but in all major IDEs (some require a plugin).

Now all team members would have same configuration, eol, eof, and no more tabs vs spaces :)

Share
Improve this answer
 
  •  
    In WebStorm this will override the default IDE configuration if plugin enabled. 
    – Tuno
     CommentedMay 18, 2018 at 4:55
  • 5
    Wow! Really like this answer. The new line before EOF is such a small details sometimes is not worth to explain to other people in the team who don't understand and don't care about it. This should be the answer of choice because. Other answers are more likely to be out of date when JetBrains rearrange the UI. This answer is more likely to be valid for good as EditorConfig is enabled by default on Intellij. 
    – L. Holanda
     CommentedJun 15, 2018 at 19:30
  •  
    Note that in Android Studio it'll add a new line when you save any change, not on reformatting 
    – Maragues
     CommentedNov 8, 2018 at 7:35
  •  
    @Maragues autosave for the rescue! 
    – sbedulin
     CommentedNov 8, 2018 at 17:58
  •  
    Great, tested with phpstorm (2019.2.1), after update. 
    – Arenas V.
     CommentedAug 25, 2019 at 16:17
52

IntelliJ IDEA 2016.3

Approach 1

File > Settings... > Editor > General > Ensure line feed at file end on Save

File > Settings

Editor > General > Ensure

Approach 2

Help > Find Action... (Ctrl+Shift+A) > type "Ensure line feed" > switch the toggle to ON (using the mouse click or Enter) for "Other: Ensure line feed at file end on Save" line

Help > Find Action

Ensure line feed

Share
Improve this answer
 
  •  
    still work with Goland 2024.1.1 
    – Anh Nhat Tran
     CommentedJun 19 at 9:13
25

For Mac Users: IntelliJ Idea version 2020.2

Option1:

IntelliJ Idea -> Preferences -> General -> Ensure an empty line at the end of a file on save enter image description here

Option2:

⬆️ + ⌘ + A or Or just click on Help from menu bar -> Find Action and then type Ensu and choose Ensure an empty line at the end of a file on save enter image description here

Share
Improve this answer
 
  • 8
    In current version (2021.1) it is called "Ensure every saved file ends with a line break" 
    – Sled
     CommentedJun 8, 2021 at 15:27
  •  
    I was wondering about that. To me a "line break" did not necessarily equate to an extra line at the end of the file. 
    – Jeff Wright
     CommentedOct 15, 2021 at 15:57
  • 2
    did not work for me - even though the option is checked, no new line gets inserted on save 
    – Jonathan R
     CommentedMar 27, 2022 at 21:13
6

General -> Save Files For IntelliJ IDEA 2020.

Check the Bottom Right Corner: screenshot

Share
Improve this answer
 
6

In latest versions of IntelliJ, the setting has been renamed to 'Ensure an empty line at the end of a file on save', and it has been moved under Setting>Editor>General>Save Files

enter image description here

This should have been a comment, but I wanted to add the screenshot as well so wrote as an answer.

Share
Improve this answer
 
5

As Rider (IDEA's cousin for .NET) is driving me crazy, this might be helpful for those writing C# as Ensure line feed at file end on Save alone won't work. It needs

File → Settings → Editor → Code Style → C# → Line Breaks and Wrapping → Line feed at end of file.

I don't remember changing it and I haven't imported any settings for sure, so I guess it's by default disabled.

Rider settings

Share
Improve this answer
 
  • 1
    Thank you! I thought I was going crazy trying to get this to work right. 
    – Quentin Skousen
     CommentedMar 24, 2022 at 22:17
4

With the Intellij version 2022.3.1

Preferences (cmd + ,) > Editor > General > Ensure every saved file ends with a line break

Check, apply, and click ok

intellij

Share
Improve this answer
 
1

With the IntelliJ Idea version 2020.3: Go to File > Sttings > Editor > General > On Save

And then select/deselect "Ensure every saved file ends with a line break"

enter image description here

Share
Improve this answer
 

==========================

==========================

 

https://intellij-support.jetbrains.com/hc/en-us/community/posts/207071445-On-save-new-line-added-to-end-of-file-How-stop-this

 

On save new line added to end of file. How stop this? 

Followed by 14 people
 

I did a search in the forum for this but did not get any results back.  I looked in settings but there are so many I am not sure where to look.

When I save a file, PhpStorm adds a new line to the end of the file.  How do I stop this from happening?

Thanks.

9
18 comments
Avatar
Terry Crim
Created April 05, 2011 10:55
 

Let me add that if there is already a blank line at the end of the file it does not keep adding new lines.  If there is NO blank line then when I save the file a new blank line is added.  I actually want some files to have no blank line at the end.

Thanks.

0
Avatar
Andriy Bazanov
Created April 05, 2011 11:19
 

Hi there,

Some tip first: If you do not know if some configuration option is available and where it located in Settings window, then use Search box in Settings window (the very first thing on left top corner) -- extremely helpful feature in such situations. If found nothing -- try to use another spelling/naming (sometimes the option can be named differently to what particular person may expect).

Back to your issue -- untick the following option: File | Settings | Editor --> Ensure blank line before end of file on Save
Try searching for "blank line" on Settings screen and see how it works.

14
Avatar
Dragos Rusu
Created June 28, 2016 15:02
 

You either enable it or disable it, it still adds that line on Windows 7 / Windows 10 and Ubuntu 14 machines. Why is that??

2
Avatar
Andriy Bazanov
Created June 28, 2016 15:46
 

@Dragos Rosu

Works just fine here. Don't know other options that could do such thing (unless some another tool/plugin does it).

The only thing I can think of ... 1) do you have .editorconfig files in this project?.. and 2) Do you have EditorConfig Support plugin installed? Settings from such file will override similar option from IDE Settings/Preferences (the nature of such files).

10
Avatar
Dragos Rusu
Created June 29, 2016 00:29
 

That was it, thank you kindly @Andriy Bazanov!

I was hating Webstorm for a while now for this "hidden bug". Someone commited some editor configuration in our repository and that broke it up.

 

Thank you kindly!

2
Avatar
Дмитрий Кондауров
Created October 14, 2018 11:24
 

In PHP Storm 2018.2.5 

File | Settings | Editor | General --> Other ---> Ensure line feed at file end on Save 

17
Avatar
Fredrik Wollsén
Created January 20, 2019 03:36
 

Note that the Editorconfig plugin may override this setting if you .editorconfig file has:

insert_final_newline = true
10
Avatar
Williamss
Created September 09, 2019 10:33
 

https://intellij-support.jetbrains.com/hc/en-us/community/posts/207071445/comments/207471069

 

FYI i tried finding this with the search bar in preferences and couldn't find it, that's why I came here. I searched newline, \n, and end of file. I didn't think about searching 'trailing space' or 'blank space'. Might be nice to be able to find it with 'newline' or 'end of file' as search params. would have saved me the search. Thanks for helping me find it though!

1
Avatar
Bram Grootjen
Created October 07, 2020 05:02
 

There is an entire section about new lines in php, this one is missing. 

The setting is unsearchable. In general phpstorm settings are hard to work with..

0
Avatar
Mcriverag
Created July 11, 2021 23:31
 

i tried the same thing, the only thing that really work was edit the .editorconfig file changing the key insert_final_newline to false 

0
Avatar
Andriy Bazanov
Created July 12, 2021 02:42
 

@Mcriverag

the only thing that really work was edit the .editorconfig file changing the key insert_final_newline to false 

So you had it set to TRUE before? In such case it's expected behaviour: settings from .editorconfig file will take over the IDE own settings (the whole nature of such file).

So you either:

  • edit your .editorconfig file as per your needs (the best option as this will work in another IDE/editor as well + settings are part of the project files so another person will have easier time configuring his editor)
  • remove .editorconfig file so only IDE settings are in action
  • disable EditorConfig support in the IDE

 

0
Avatar
Ba Grootjen
Created July 16, 2021 04:02
 

They messed with this again and it is still not searchable (not even if you search for the exact text).

1
Avatar
Eugene Morozov
Created July 16, 2021 04:10
 

Ba Grootjen, the settings entries' names are not indexed as they are but rather by keywords, a query like "save file line break" finds the settings item.

2
Avatar
Jeffrey Harris
Created August 20, 2021 08:20
 

If you want your files to be actual files according to POSIX standards, they need a line ending at the end of the file.

https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206

3.206 Line

A sequence of zero or more non- <newline> characters plus a terminating <newline> character.

Note, however, that a single newline at the end of the file makes Storm make it look like there is a blank line at the end of the file. Use a hex editor to confirm that there is only a single newline at the end of the file. Maybe a better solution would be a gutter icon or a visual endOfFileNewLine character

0
Avatar
Sam Galbraith
Created August 09, 2022 18:42
 

This bug is STILL present in Windows. I had both unchecked 'Remove trailing blank lines at the end of saved files' and 'Ensure every saved file ends wit ha line break'. I'm using git-secret and it keeps adding newlines to the end of my secrets which makes them invalid.

0
Avatar
Andriy Bazanov
Created August 10, 2022 01:59
 

@Sam Galbraith

This bug is STILL present in Windows.

A bug? Unlikely TBH.

 

Do you have .editorconfig in your project (or a folders above it)? Settings from here will override the IDE settings (the nature of such files).

If you have it and it has a rule for new lines at the end of the file then just add a rule to not to add it for your git-secret files.

0
Avatar
Guido Gloor
Created March 03, 2023 08:45
 

It's definitely not a bug if a newline is added a the end of files.

Text files only follow the POSIX standard for text files if their very last character before the EOF is an EOL (normally newline) character. Files that do not follow that standard simply are not actually POSIX standard text files.

However, I have to re-enable "follow the standard ffs" setting whenever I reinstall a JetBrains IDE, because of threads like this one.

1
Avatar
Francesco Montanari
Created April 30, 2024 08:12
 

I agree the option should be enabled by default, even if you don't care about POSIX, do it to avoid this error ⛔ on github:

0