为什么 IntelliJ IDEA 在我打开 Spring 配置文件并下拉选择配置文件时会打开一条消息?如果我选择关闭链接,为什么它不再出现?
2 回答
当您在配置文件弹出窗口上单击“关闭”时,它会更改设置并禁用所有弹簧上下文的面板。(所以你不只是为那个文件和那个查看关闭它。恕我直言,“关闭”是一个有点误导性的名字。我认为“关闭”链接应该重命名为“禁用”。)你可以通过重新打开它: 文件 > 设置 > [IDE 设置] > 编辑器 > 外观 > “显示 Spring Profiles 面板”(靠近底部)
编辑
UI 中的这个怪癖已经让我烦恼了一段时间。回答你的问题让我花了一分钟打开可用性问题报告/功能请求来更改它。请为它投票。
编辑 2 在您的评论中回答您的后续问题...
该设置仅适用于 IDE,在您运行或测试代码时不会产生任何影响。相反,它不会从您的代码中获取任何设置。它基本上设置了您、IDEA 和 IDEA 的检查“看到”的内容。它使得只有选定配置文件中的 bean 在 IDE 中处于“活动状态”。这样,您可以在编辑代码和配置时在配置文件之间切换,并获得该配置文件的有效表示。
例如,看看下面的屏幕截图。(您可能必须在单独的浏览器选项卡中打开它才能查看详细信息。)其中我有“开发”配置文件处于活动状态。通过这样做,我得到以下好处:
- IDEA 强调它无法解析我试图引用的 bean,我错误地只在(非活动)“prod”配置文件中定义了该 bean。(或者错误可能是 bean 在每个配置文件中具有不同的名称。)
- 当我触发代码完成以引用另一个 bean 时,IDEA 只向我显示可用的 bean,包括活动配置文件中的那些。请注意,它不会向我显示“beanDefOnlyInProdProfile”bean,因为它处于非活动配置文件中。
在 Java 类中的代码完成也是如此。请注意,下面的两个代码完成只显示了活动配置文件中的 bean:
单击底部工具栏上的“事件日志”按钮。它将弹出一个窗口,其中包含来自 IntelliJ 的先前消息。其中将包含您看到的 spring 消息,以及“配置”链接。单击它,您将能够选择您的个人资料。