我记得在IntelliJ或Eclipse中看到每当保存文件时重新格式化(清理)文件的设置。我怎么找到它(在设置中没有找到它)
当前回答
我以为IntelliJ中有类似的东西,但我找不到。保存时发生的唯一清理是删除行尾的空白。我认为我必须在某一时刻指定这种行为,但在这一点上我没有看到任何相关的东西。
其他回答
喜乐!在IDEA 2021.2中,最后有“文件->设置->工具->保存操作”,在这里您可以选择“重新格式化代码”,“优化导入”,“重新排列代码”,“运行代码清理”,“运行eslint—fix”等。
我重新绑定了重新格式化代码…操作到Ctrl-S,取代默认绑定保存全部。
乍听起来可能有些疯狂,但IntelliJ似乎节省了几乎每一个操作:运行测试、构建项目,甚至关闭编辑器选项卡。我有一个经常按Ctrl-S的习惯,所以这实际上对我来说很好。在重新格式化时,输入它当然比默认绑定更容易。
这个解决方案对我来说效果更好:
制作一个宏(我使用了组织导入,格式化代码,保存全部) 给它分配一个击键(我重写了Ctrl+S)
注意:对于有组织的导入,您必须在第一次选中“不再显示此消息”复选框,但在此之后它将按预期工作。
IntelliJ 10.0的步骤:
Code -> "Optimize Imports...", if a dialogue box appears, check the box that says "Do not show this message again.", then click "Run". Tools -> "Start Macro Recording" Code -> "Optimize Imports..." Code -> "Reformat Code..." File -> "Save all" Tools -> "Stop Macro Recording" Name the macro (something like "formatted save") In File -> Settings -> Keymap, select your macro located at "Main Menu -> Tools -> "formatted save" Click "Add Keyboard Shortcut", then perform the keystroke you want. If you choose Ctrl+S like me, it will ask you what to do with the previous Ctrl+S shortcut. Remove it. You can always reassign it later if you want. Enjoy!
对于IntelliJ 11,请替换
步骤2。使用:编辑->宏->“开始宏录制” 步骤6。使用:编辑->宏->“停止宏录制”
其他一切都保持不变。
IntelliJ 12
8. 首选项包含Keymap设置。使用输入字段过滤内容,如截图所示。
从2020.1版本开始,你可以直接在pretty插件的Preferences中激活Run on save for file:
我建议使用save actions插件。它还支持优化导入和重新排列代码。
可以很好地与eclipse格式化器插件结合使用。
搜索并激活插件:
配置:
编辑:似乎它最近版本的Intellij保存动作插件是由自动Intellij保存触发的。这可能是相当恼人的,当它仍然在编辑。
这个插件的github问题给出了一些可能的解决方案:
https://github.com/dubreuia/intellij-plugin-save-actions/issues/63
我实际上试图将重新格式化分配给Ctrl+S,它工作得很好-保存现在是自动完成的。
推荐文章
- 如何查看IntelliJ中的编译错误列表?
- 类未找到:IntelliJ中的空测试套件
- 设置TextView文本从html格式的字符串资源在XML
- Intellij IDEA Java类在保存时不能自动编译
- Android Studio中的。iml文件是什么?
- 为什么IntelliJ 13 IDEA从12版本升级后这么慢?
- intellij是否可以像在Eclipse中那样组织导入?
- 格式化XML字符串以打印友好的XML字符串
- 导入时无法解析符号
- 如何从IntelliJ IDEA搜索中排除文件扩展名?
- IntelliJ IDEA输出窗口切割输出
- 如何让IntelliJ识别常见的Python模块?
- 如何在Intellij生成串行版本UID
- 如何同步项目到GitHub与Android工作室?
- IntelliJ IDEA with Junit 4.7”!!JUnit 3.8或更高版本: