Intellij 是否会自动更新 类 您在调试模式下所做的更改?

Does Intellij automatically update classes you've made changes to while in Debug mode?

我知道对于 css、html 和 gsp 文件,您只需刷新浏览器即可查看更新后的更改,而无需重建应用程序。如果您在调试模式下单步执行代码,并对 groovy 或 class 文件进行更改,是否必须重新构建应用程序才能看到更改?

IntelliJ 不会自动更新您的 运行 应用程序中的 类。您需要手动编译它们(这不会是一个完整的项目重建 - IntelliJ 将逐步构建项目并仅编译更改的 类 和依赖于它们的代码),然后 IntelliJ 将让您重新加载更改(如果 Java 热交换不支持您所做的更改,可能会失败)。

请注意,某些 Web 框架可能能够自动重新加载已更改的 类,而与您是否 运行 您的代码是否来自 IntelliJ 无关。

假设您在断点处停止,并且想要编辑您所在方法的源代码。进行编辑,保存,然后 run > Reload Changed Classes。然后,在调试器控件中,Drop Frame。如果不删除框架,您将不会执行新重新编译的方法体。

默认情况下,这 2 个命令没有键绑定,但您可以通过设置中的 KeyMap 创建它们 (ctrl + alt + s)。更好的是,您可以制作一个 macro 来为您执行这两个命令。

我希望它更容易和自动,就像在 eclipse 中一样,但是哦,好吧。