我记得在 IntelliJ 或 Eclipse 中看到了在保存文件时重新格式化(清理)文件的设置。我如何找到它(在设置中没有找到它)
这个解决方案对我来说效果更好:
制作一个宏(我使用了 Organize Imports、Format Code、Save All)给它分配一个按键(我覆盖了 Ctrl+S)
注意:对于有组织的导入,您必须在第一次选中“不再显示此消息”框,但之后它会按预期工作。
IntelliJ 10.0 的分步说明:
Code -> “Optimize Imports...”,如果出现对话框,勾选“Do not show this message again.”复选框,然后点击“Run”。工具->“开始宏录制”代码->“优化导入...”代码->“重新格式化代码...”文件->“保存所有”工具->“停止宏录制”命名宏(类似于“格式化保存”)在文件 -> 设置 -> 键盘映射中,选择位于“主菜单 -> 工具 -> “格式化保存”的宏单击“添加键盘快捷键”,然后执行所需的击键。如果选择 Ctrl+S像我一样,它会询问您如何处理以前的 Ctrl+S 快捷键。删除它。如果需要,您可以随时重新分配它。享受!
对于 IntelliJ 11,替换
步骤 2. 使用:编辑 -> 宏 -> “开始宏录制” 步骤 6. 使用:编辑 -> 宏 -> “停止宏录制”
其他一切都保持不变。
智能 12
8. Preferences 包含 Keymap 设置。使用输入字段过滤内容,如屏幕截图所示。
https://i.stack.imgur.com/VCNah.png
我建议save actions plugin。它还支持优化导入和重新排列代码。
与 eclipse formatter plugin 结合使用效果很好。
搜索并激活插件:
https://i.stack.imgur.com/OxcsB.png
配置它:
https://i.stack.imgur.com/Hbcx8.png
编辑:似乎最新版本的 Intellij 保存操作插件是由自动 Intellij 保存触发的。当它仍然在编辑时,这可能会很烦人。
该插件的这个 github issue 提示了一些可能的解决方案:
https://github.com/dubreuia/intellij-plugin-save-actions/issues/63
我实际上尝试将重新格式化分配给 Ctrl+S 并且效果很好 - 现在自动完成保存。
Compatibility This plugin works with Java 6+ and Intellij IDEA Community Edition after 131 (around version 13).
我不知道 IntelliJ Android Studio 基于哪个版本。你能检查一下吗?
以下是尼尔更新的答案。
IntelliJ 13 步骤:
代码 -> 重新格式化代码编辑 -> 宏 -> 开始宏录制代码 -> 重新格式化代码文件 -> 保存所有编辑 -> 宏 -> 停止宏录制 命名宏(类似于“格式化保存”)文件 -> 设置 ->键盘映射 右键单击宏。添加键盘快捷键。将键盘快捷键设置为 Control + S。IntelliJ 将通知您热键冲突。选择“删除”以删除其他分配。
我将其设置为在办理登机手续时自动清理,这通常对我来说已经足够了。如果某些东西太难看,我会点击快捷键(Ctrl-Alt-L,Return)。而且我看到他们可以选择自动格式化粘贴的代码,尽管我从未使用过。
如果您有 InteliJ Idea Community 2018.2 及更高版本,步骤如下:
在顶部菜单中单击:编辑 > 宏 > 开始宏录制(您将在屏幕右下角看到一个窗口,确认正在录制宏) 在顶部菜单中单击:代码 > 重新格式化代码(您将看到在右下角被选中的选项)在顶部菜单中单击:代码>优化导入(您将在右下角看到被选中的选项)在顶部菜单中单击:文件>全部保存在顶部您单击的菜单:编辑 > 宏 > 停止宏录制 您将宏命名为:“格式化代码,组织导入,保存” 在顶部菜单中您的时钟:文件 > 设置。在设置窗口中单击 Keymap 在右侧的搜索框中搜索“保存”。您将找到全部保存 (Ctrl+S)。右键单击它并选择“删除 Ctrl+S” 从框中删除搜索文本,按全部折叠按钮(左上角的第二个按钮)转到宏,按箭头以展开宏,找到您保存的宏并右键单击它。选择添加键盘快捷键,然后按 Ctrl+S 即可。
重新启动您的 IDE 并尝试一下。
我知道你要说什么,我之前的人也写过同样的东西。但是我对这篇文章上面的步骤感到困惑,我想为拥有最新版本 IDE 的人写一个愚蠢的版本。
Ctrl + Alt + L 是格式文件(包括下面两个)
Ctrl + Alt + O 是优化导入
Ctrl + Alt + 我将修复特定行的缩进
在提交工作之前,我通常会运行几次 Ctrl + Alt + L。我宁愿它按照我的命令进行清理/重新格式化,而不是自动进行。
Ctrl + Alt + L
通常是锁定会话。您需要重新映射其中一个功能。
https://i.stack.imgur.com/HjuGD.png
麾!在 IDEA 2021.2 中最后有“文件->设置->工具->保存操作”,您可以在其中选择“重新格式化代码”、“优化导入”、“重新排列代码”、“运行代码清理”、“运行 eslint --fix" 等。
我最终将 Reformat code...
操作重新绑定到 Ctrl-S,替换了 Save All
的默认绑定。
一开始可能听起来很疯狂,但 IntelliJ 似乎节省了几乎所有操作:运行测试、构建项目,甚至在关闭编辑器选项卡时也是如此。我有一个经常按 Ctrl-S 的习惯,所以这对我来说实际上效果很好。它肯定比用于重新格式化的默认绑定更容易键入。
IntellIJ 14 && 15:当您在提交更改对话框中签入代码时,勾选重新格式化代码复选框,然后 IntelliJ 将重新格式化您签入的所有代码。
https://i.stack.imgur.com/f1nSf.png
来源:www.udemy.com/intellij-idea-secrets-double-your-coding-speed-in-2-hours
对于 PyCharm/IntelliJ IDEA:
安装黑色。
$ pip install black
找到您的黑色安装文件夹。
在 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 -> 首选项 -> 工具 -> 外部工具
在 Windows / Linux / BSD 上:文件 -> 设置 -> 工具 -> 外部工具
单击 + 图标以添加具有以下值的新外部工具:
Name: Black
Description: Black is the uncompromising Python code formatter.
Program: <install_location_from_step_2>
Arguments: "$FilePath$"
通过选择工具 -> 外部工具 -> 黑色来格式化当前打开的文件。
或者,您可以通过导航到首选项或设置 -> 键盘映射 -> 外部工具 -> 外部工具 - 黑色来设置键盘快捷键。
(可选)在每个文件保存时运行 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 中有类似的东西,但我找不到。保存时发生的唯一清理是删除行尾的空白。我以为我必须在某一时刻指定该行为,但此时我没有看到任何相关的内容。
如果是关于 Prettier,只需使用 File Watcher :
参考 => 工具 => 文件观察器 => 单击 + 添加新观察器 => 更漂亮
https://prettier.io/docs/en/webstorm.html#running-prettier-on-save-using-file-watcher
从版本 2020.1 开始,您可以直接在 Prettier 插件的 Preferences 中激活 Run on save for files:
https://i.stack.imgur.com/Hhx58.png
File | Settings | Tools | Actions on Save
中的内置功能