ChatGPT解决这个技术问题 Extra ChatGPT

Automatically add newline on save in PyCharm?

PyCharm 5 complains of a missing newline at the end of the file:

https://i.stack.imgur.com/G2cjA.png

How do I tell PyCharm to add the newline (if missing) automatically whenever I save a file?


d
dcoles

This can be enabled in the Editor > General settings:

From the File menu open the Settings and select Editor > General. Under the Other section in the right-hand pane, check the Ensure an empty line at the end of a file on Save setting.

https://i.stack.imgur.com/5tAO1.png


Is there a reason why this isn't enabled by default in PyCharm?
Sublime Text works this way too. My guess is the authors made the decision that surprising users who are unaware of the need for the trailing newline was worse than creating extra work for folks who want that behavior enabled in their editor.
Hmm I don't have an "Other" section in PyCharm Community Edition 2016.3. Will upgrade to the 2017 version and see if it has it.
"Other" is not a selection in the navigation tree, but rather a section divider in the right-hand pane of Editor > General.
In Pycharm 2020.1.3 the setting is now "Ensure an empty line at the end of a file on Save".
I
Isan Hawke

Newer PyCharm I believe (2020+):

https://i.stack.imgur.com/0SJKc.png


K
Kurt Bourbaki

PyCharm 2021.1

You can now find this setting here:

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


This is the answer in 2021.
A
Alex Panov

What I usually do is I create a macro to do three things:

Reformat code

Organise imports

Save all files

This will, indeed, add a newline at the end of each file. Then I rebind the Save all shortcut (Cmd+S on Mac) to this macro.

You can read more about macros here. I also recommend using Navigate to Action to find actions you forget the hotkeys for.


r
radtek

Here is how I found it in PyCharm Community Edition 2017.5. You can go to Preferences... and do a search for ensure line feed. Under Editor/General the Other option may not be visible as can be seen here:

Other is not visible

But if you do a search, it finds it:

Search finds this option

Hope it helps. Cheers!


Y
YosemiteWarrior05

This should be a default feature but if it is not enabled:

go to settings > Editor > General

then you will see a checkbox option to select...