如何在左键双击语句后在右键菜单中显示 Go To Declaration?
How to have Go To Declaration in right-click menu after left double-clicking on a statement?
如何将右键单击菜单配置为在以下两种情况下以相同的方式具有 Go To
>
Declaration or Usages
选项?
使用简单的代码示例:
def a_func():
pass
def b_func():
a_func()
案例一:
如果我们右键单击 .py
源文件中已声明对象的 a statement,则 Go To
>
Declaration or Usages
选项在菜单。如截图所示:
案例二:
但是,如果我们首先左键双击声明,第二右键单击声明,Go To
>
Declaration or Usages
选项在菜单中不可用。如截图所示:
键盘快捷键 Ctrl + B 在这两种情况下都有效,但是当只使用鼠标时,我希望在右键单击时使用相同的选项,无论我之前是否左键双击过 或没有。
我试图寻找一种方法来做到这一点,显然配置在 Settings
>
Menus and Toolbars
>
Edit Popup Menu
,但我不能'不明白 EditorPopupMenu
需要更改什么以及如何更改?
这发生在我身上 PyCharm (2020.3)。您可以将单个 go to declaration
等操作添加到菜单,但不能添加整个 Go To
菜单本身。
这是由于 <install path>\JetBrains\Pycharm Community Edition 2020.3\lib\resources.jar
中文件的 class 属性造成的。在 idea/LangActions.xml
下的那个罐子里是 EditorPopUpMenu.GoTo
的组定义。 class 属性 class="com.intellij.ide.actions.EditorPopupNoSelectionGroup"
可防止在选择文本时显示 Go To
菜单。
可以使用 7zip 等实用工具解压 jar,删除 LangActions.xml
中的 class="com.intellij.ide.actions.EditorPopupNoSelectionGroup"
属性,将新的 resources.jar
替换为安装路径中的旧属性,并且菜单应该出现在两种情况下。这是一个非常肮脏的 hack,但我已经确认它有效。
如何将右键单击菜单配置为在以下两种情况下以相同的方式具有 Go To
>
Declaration or Usages
选项?
使用简单的代码示例:
def a_func():
pass
def b_func():
a_func()
案例一:
如果我们右键单击 .py
源文件中已声明对象的 a statement,则 Go To
>
Declaration or Usages
选项在菜单。如截图所示:
案例二:
但是,如果我们首先左键双击声明,第二右键单击声明,Go To
>
Declaration or Usages
选项在菜单中不可用。如截图所示:
键盘快捷键 Ctrl + B 在这两种情况下都有效,但是当只使用鼠标时,我希望在右键单击时使用相同的选项,无论我之前是否左键双击过 或没有。
我试图寻找一种方法来做到这一点,显然配置在 Settings
>
Menus and Toolbars
>
Edit Popup Menu
,但我不能'不明白 EditorPopupMenu
需要更改什么以及如何更改?
这发生在我身上 PyCharm (2020.3)。您可以将单个 go to declaration
等操作添加到菜单,但不能添加整个 Go To
菜单本身。
这是由于 <install path>\JetBrains\Pycharm Community Edition 2020.3\lib\resources.jar
中文件的 class 属性造成的。在 idea/LangActions.xml
下的那个罐子里是 EditorPopUpMenu.GoTo
的组定义。 class 属性 class="com.intellij.ide.actions.EditorPopupNoSelectionGroup"
可防止在选择文本时显示 Go To
菜单。
可以使用 7zip 等实用工具解压 jar,删除 LangActions.xml
中的 class="com.intellij.ide.actions.EditorPopupNoSelectionGroup"
属性,将新的 resources.jar
替换为安装路径中的旧属性,并且菜单应该出现在两种情况下。这是一个非常肮脏的 hack,但我已经确认它有效。