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


当前回答

以下是尼尔的最新回答。

智能13步:

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

其他回答

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

以下是尼尔的最新回答。

智能13步:

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

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

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

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

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

搜索并激活插件:

配置:

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

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

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

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

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