ChatGPT解决这个技术问题 Extra ChatGPT

Intellij IDEA中如何扩展折叠包链?

如果中间包为空,Intellij IDEA 会自动将包链接在一起。总的来说,这是一个不错的功能。但是,有时您不希望将它们链接起来,尤其是当您正在为新项目创建新的包结构时。我可能遇到了为某个包禁用此功能的设置,但我现在在哪里找不到它。那么,有谁知道如何控制这个功能?非常感谢。

顺便说一句,如果您需要澄清,我所说的包链接的意思如下。假设你有这个包结构:

$ tree com
com
└── company
    └── project
        └── some
            └── feature

由于中间文件夹内真的没有其他东西,Intellij IDEA 会自动显示它

com.company.project.some.feature

在项目资源管理器中,看起来包被链接在一起。

下面的答案是真正的答案,但我想我会加入我最近学到的一件事。如果您已经折叠了包结构,如果您添加了一个具有相同根名称空间的新包,那么 intellij 将足够聪明地扩展内容。即,如果我有 com.foo.devshorts.model,然后我添加 com.foo.devshorts.controllers,它将展开 com.foo.devshorts
@devshorts 这实际上是我问的一个重要原因。在您的示例中,如果我想在创建 com.foo.devshorts.model 之后创建 controllers,则必须在 controller 前加上 com.foo.devshorts,这很烦人。
是的,我也有同样的感觉。虽然我已经按照我建议的方式去做了,因为我更喜欢压缩包。
JBT & @devshorts 一个更简单的方法——如果你想保持紧凑的包视图——是使用导航栏(Alt+Home)。打开它,箭头(和向下)到所需的父包,然后创建一个新的子包(或前缀类)。另一个伪解决方法,因为删除比键入更容易,是将光标放在项目视图中的长包(示例中为 com.foo.devshorts.model)上并执行“复制参考”(Ctrl+Alt+Shift+ C,菜单编辑>复制参考,或右键单击上下文菜单)。然后,当您创建包时,粘贴您复制的包并根据需要删除。

P
Petrus Theron

取消选中 Project View settings 下拉菜单下的“Hide Empty Middle Packages”:

https://i.stack.imgur.com/nwmFm.png


作为更新,此选项现在似乎被命名为 Hide Empty Middle Packages
在 IntelliJ Ultimate 版本 14.1.4 中。它仍然是下拉工具菜单中的“Compact ...”(单击项目资源管理器菜单栏中的小齿轮向下箭头)
我认为应该添加到该菜单,您右键单击“项目”顶部栏(屏幕截图中的左上角)。
Compact Middle Packages 在 Idea Ultimate 2018.02
Compact Middle Packages 仍然是 IntelliJ Idea Ultimate 2020.3.3 中的名称
K
Khojiakbar

作为如何在中间包中创建另一个文件的另一种解决方案:

https://i.stack.imgur.com/xSYhJ.png


S
Sonners

或者您可以右键单击左侧项目选项卡并选择“紧凑中间包”


S
Shreyash Choudhary

只需简单地取消选中 flatten modules,在 PACKAGE 下拉菜单上右键单击 flatten package。


J
Júlia Polbach

正如@Shreyash Choudhary 所说,在 v. 2021.3.2 中取消选中项目设置中的 Flatten Package 对我有用。

IntelliJ example