gpt4 book ai didi

java - IntelliJ "navigate declaration"可以配置为支持拆分编辑器吗

转载 作者:搜寻专家 更新时间:2023-11-01 03:52:29 25 4
gpt4 key购买 nike

我一直在 IntelliJ IDEA 中使用“Navigate-Declaration”。我想将其配置为在使用拆分编辑器时表现略有不同。

基本用例很简单:

  1. 开始使用 IntelliJ IDEA,只打开一个类,将其命名为“A 级”。 A 类引用了 B 类。
  2. 使用“Navigate->Declaration”导航到 ClassB。 IntelliJ 将为 ClassB 打开一个新选项卡,并在编辑器窗口中显示该类。 ClassA 在编辑器中不再可见。
  3. 使用“导航->返回”。 ClassA 选项卡现在在一个编辑器窗口中再次可见。使用键盘快捷键,这是一种非常快速的代码导航方式。

然而,当使用分割窗口时,事情表现得很奇怪:

  1. 在编辑器窗口中打开几个类文件。
  2. 拆分窗口(工具 -> 编辑器选项卡 -> 垂直拆分)。
  3. 在左侧选项卡组中,导航到一个有趣的代码部分,即我们想暂时引用的部分。
  4. 在右侧选项卡组中,将光标定位在被引用的类上,然后选择“导航”->“声明”。

如果此类已在左侧选项卡组中打开,IntelliJ 将在左侧编辑器中将该选项卡移到前面,替换我选择要查看的一个类。但是,如果该类尚未在任何选项卡组中打开,IntelliJ 将在右侧选项卡组中打开文件。这与不使用拆分编辑器时发生的情况基本相同。

更糟糕的是,“Navigate->Back”操作现在确实会导航回到右侧的原始类,但不会更改左侧的任何内容,即我打算暂时引用的那个类不可见。

因此“Navigate->Open Declaration”操作的行为取决于 IntelliJ 本身的状态,而不是我的意图。我不希望 intelliJ 任意决定在哪个拆分窗口中显示文件。我宁愿它只打开光标当前所在的选项卡组中的声明。

真正好的是像“导航->在当前选项卡组中打开声明”这样的操作。这存在吗?可以为此创建一个插件吗?

最佳答案

我有同样的问题,但我有一个适用于我的大多数情况的解决方法:

在 Settings > Editor > General > Editor Tabs 中,在 Closing Policy 下,我将选项卡限制设置为 1。这会强制每个拆分只有一个选项卡,这可以防止在导航到符号时打开另一个拆分中的隐藏选项卡在里面。当你去声明时,如果目标文件在一个拆分中,它会去那里,如果它不存在,它将替换你拆分中的选项卡。这适用于大多数情况,如果您不希望 intellij 更改您在拆分中查看的文件部分,它可能会变得更棘手,但对于大多数情况来说它是有效的。

(此外,我通常不使用选项卡来记住哪些文件,我通常使用“最近的文件”窗口来导航)。

关于java - IntelliJ "navigate declaration"可以配置为支持拆分编辑器吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21863134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com