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


当前回答

对于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 14 && 15:当你在提交更改对话框签入代码时,勾选“重新格式化代码”复选框,然后IntellIJ将重新格式化你签入的所有代码。

来源:www.udemy.com/intellij-idea-secrets-double-your-coding-speed-in-2-hours

我建议使用save actions插件。它还支持优化导入和重新排列代码。

可以很好地与eclipse格式化器插件结合使用。

搜索并激活插件:

配置:

编辑:似乎它最近版本的Intellij保存动作插件是由自动Intellij保存触发的。这可能是相当恼人的,当它仍然在编辑。

这个插件的github问题给出了一些可能的解决方案:

https://github.com/dubreuia/intellij-plugin-save-actions/issues/63

我实际上试图将重新格式化分配给Ctrl+S,它工作得很好-保存现在是自动完成的。

对于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

如果你有InteliJ Idea Community 2018.2及以上版本,步骤如下:

In the top menu you click: Edit > Macros > Start Macro Recordings (you'll see a window lower right corner of your screen confirming that macros are being recorded) In the top menu you click: Code > Reformat Code (you'll see the option being selected in the lower right corner) In the top menu you click: Code > Optimize Imports (you'll see the option being selected in the lower right corner) In the top menu you click: File > Save All In the top menu you click: Edit > Macros > Stop Macro Recording You name the macro: "Format Code, Organize Imports, Save" In the top menu you clock: File > Settings. In the settings windows you click Keymap In the search box on the right you search "save". You'll find Save All (Ctrl+S). Right click on it and select "Remove Ctrl+S" Remove your search text from the box, press on the Collapse All button (Second button from the top left) Go to macros, press on the arrow to expand your macros, find your saved macro and right click on it. Select Add Keyboard Shortcut, and press Ctrl+S and okay.

重新启动IDE并尝试它。

我知道你要说什么,在我之前的人也写过同样的东西。但我在使用本文上面的步骤时感到困惑,我想为拥有最新版本IDE的人编写一个简化版本。

以下是尼尔的最新回答。

智能13步:

Code ->重新格式化代码 Edit ->宏->开始宏录制 Code ->重新格式化代码 File ->保存全部 Edit ->宏->停止宏录制 命名宏(类似于“格式化保存”) File -> Settings -> Keymap 右键单击宏。添加键盘快捷键。将键盘快捷键设置为Control + S。 IntelliJ将通知您热键冲突。选择“remove”可删除其他赋值。