【问题标题】:How to have Go To Declaration in right-click menu after left double-clicking on a statement?左键双击语句后如何在右键菜单中有Go To Declaration?
【发布时间】:2021-01-22 03:21:56
【问题描述】:

如何在下面显示的两种情况下以相同的方式将右键单击菜单配置为具有Go To > Declaration or Usages 选项?

使用一个简单的代码示例:

def a_func():
    pass

def b_func():
    a_func()

案例 1:

如果我们右键单击.py 源文件中声明对象的a statement,则菜单中的Go To > Declaration or Usages 选项可用。如截图所示:

案例 2:

但是,如果我们首先左键双击声明,第二右键单击声明,Go To>Declaration or Usages选项为在菜单中不可用。如截图所示:

键盘快捷键 Ctrl + B 在这两种情况下都有效,但是当只使用鼠标时,无论我之前是否左键双击,我都希望在右键单击时使用相同的选项。

我试图寻找一种方法来做到这一点,显然配置在Settings>Menus and Toolbars>Edit Popup Menu,但我不明白EditorPopupMenu需要更改什么以及如何更改?

【问题讨论】:

    标签: pycharm contextmenu


    【解决方案1】:

    这在 PyCharm (2020.3) 中发生在我身上。您可以将单个 go to declaration 等操作添加到菜单中,但不能添加整个 Go To 菜单本身。

    这是由于<install path>\JetBrains\Pycharm Community Edition 2020.3\lib\resources.jar 中的文件中的类属性造成的。在idea/LangActions.xml 下的那个jar 里面是EditorPopUpMenu.GoTo 的组定义。类属性 class="com.intellij.ide.actions.EditorPopupNoSelectionGroup" 可防止在选择文本时出现 Go To 菜单。

    可以使用 7zip 之类的实用程序解压缩 jar,删除 LangActions.xml 中的 class="com.intellij.ide.actions.EditorPopupNoSelectionGroup" 属性,用安装路径中的旧 resources.jar 替换新的 resources.jar,菜单应该出现在两种上下文中.这是一个非常肮脏的 hack,但我已经确认它有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-03
      • 2019-05-03
      • 2012-11-06
      • 1970-01-01
      • 2022-12-17
      • 1970-01-01
      • 2016-12-31
      相关资源
      最近更新 更多