我记得在IntelliJ或Eclipse中看到每当保存文件时重新格式化(清理)文件的设置。我怎么找到它(在设置中没有找到它)


当前回答

我重新绑定了重新格式化代码…操作到Ctrl-S,取代默认绑定保存全部。

乍听起来可能有些疯狂,但IntelliJ似乎节省了几乎每一个操作:运行测试、构建项目,甚至关闭编辑器选项卡。我有一个经常按Ctrl-S的习惯,所以这实际上对我来说很好。在重新格式化时,输入它当然比默认绑定更容易。

其他回答

喜乐!在IDEA 2021.2中,最后有“文件->设置->工具->保存操作”,在这里您可以选择“重新格式化代码”,“优化导入”,“重新排列代码”,“运行代码清理”,“运行eslint—fix”等。

我把它设置为签到时自动清理,这对我来说通常已经足够好了。如果有些东西太难看,我就按快捷键(Ctrl-Alt-L,返回)。我看到他们有一个自动格式化粘贴代码的选项,尽管我从来没用过。

对于PyCharm/IntelliJ IDEA:

安装黑色。

$ PIP安装黑色

找到您的黑色安装文件夹。

在macOS / Linux / BSD上:

$ which black
/usr/local/bin/black  # possible location

在Windows上:

$ where black
%LocalAppData%\Programs\Python\Python36-32\Scripts\black.exe  # possible location

请注意,如果您使用的是由PyCharm检测到的虚拟环境,这是一个不必要的步骤。在这种情况下,黑色的路径是$PyInterpreterDirectory$/black。

打开PyCharm/IntelliJ IDEA中的外部工具

macOS系统:PyCharm -> Preferences -> Tools -> External Tools

Windows / Linux / BSD: File -> Settings -> Tools -> External Tools

点击+图标添加一个新的外部工具,值如下:

Name: Black
Description: Black is the uncompromising Python code formatter.
Program: <install_location_from_step_2>
Arguments: "$FilePath$"

选择“工具->外部工具->黑色”,格式化当前打开的文件。

或者,您可以通过导航到首选项或设置-> Keymap ->外部工具->外部工具-黑色来设置键盘快捷键。

可选地,在每个文件保存时运行Black:

确保你已经安装了File Watchers插件。

转到首选项或设置->工具->文件监视器,然后单击+添加一个新的监视器:

Name: Black
File type: Python
Scope: Project Files
Program: <install_location_from_step_2>
Arguments: $FilePath$
Output paths to refresh: $FilePath$
Working directory: $ProjectFileDir$

取消“高级选项”中的“自动保存编辑过的文件以触发监控器”

要使用Black格式化Python文件,我遵循了以下指南,其中也使用了File Watcher: https://black.readthedocs.io/en/stable/editor_integration.html

我以为IntelliJ中有类似的东西,但我找不到。保存时发生的唯一清理是删除行尾的空白。我认为我必须在某一时刻指定这种行为,但在这一点上我没有看到任何相关的东西。

Ctrl + Alt + L是格式文件(包括下面两个)

Ctrl + Alt + O是优化导入

Ctrl + Alt +我将在特定的行上修复缩进

在提交工作之前,我通常会运行几次Ctrl + Alt + L。我宁愿它做清理/重新格式化在我的命令,而不是自动。