【问题标题】:Idea intellij plugin not working in android studio 1.5.1Idea intellij 插件在 android studio 1.5.1 中不起作用
【发布时间】:2016-01-18 12:54:38
【问题描述】:

我正在为 android studio 开发一个测试插件,当使用“从磁盘安装插件”添加时,我的插件在 Android studio 1.5 中工作(创建的操作是可见的)。但相同的 jar 文件在 Android Studio 1.5.1 中不起作用。 下面是 plugin.xml 文件。请帮忙。

<idea-plugin version="2">
<id>com.test.android.studio.plugin</id>
<name>test Android Studio Plugin</name>
<version>1.0</version>
<vendor email="test@test.com" url="http://www.test.com">test test Services Pvt. Ltd.</vendor>

<description>
Android Studio plugin to integrate test SDK
</description>

<change-notes>
 Release 0.0.1: Initial release.
</change-notes>

<!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/build_number_ranges.html for description -->
<idea-version since-build="131"/>

<!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.html
     on how to target different products -->
<!-- uncomment to enable plugin in all products-->
<depends>com.intellij.modules.lang</depends>

<extensions defaultExtensionNs="com.intellij">
    <!-- Add your extensions here -->
</extensions>

<actions>
    <!-- Add your actions here -->
    <group id="Test" class="org.test.plugin.actions.TestMainActionGroup" text="Test" description="Main Test invocation Action"
           popup="true">
        <add-to-group group-id="MainMenu" anchor="last"/>

        <action id="testMode" class="org.Test.plugin.actions.TestModeAction" text="Test Mode" description="Test mode action">
            <keyboard-shortcut keymap="$default" first-keystroke="ctrl k"/>
        </action>
        <action id="invocationCode" class="org.Test.plugin.actions.InvocationCodeAction" text="Invocation Code"
                description="Test mode action">
        </action>
        <action id="onlineDoc" class="org.Test.plugin.actions.OnlineDocAction" text="Online Documentation"
                description="Test mode action">
        </action>
        <action id="aboutUs" class="org.Test.plugin.actions.AboutUsAction" text="About Us" description="Test mode action">
        </action>
    </group>

</actions>

【问题讨论】:

  • 为什么要为要添加到主菜单的操作组使用自定义类?
  • @yole 因为我希望我的菜单显示在帮助菜单的右侧。这在 Android Studio 1.5 中按预期完美运行。我还将我的操作添加到文件菜单等,一切都在 Android Studio 1.5 中运行。但我的插件在 android studio 1.5.1 中不起作用
  • 对组使用自定义类与显示菜单的位置无关。
  • @yole 哦,太好了。我尝试删除该类,它仍然按预期工作。
  • @yole ,太棒了。删除自定义组类后,新组出现在 Android Studio 1.5.1 中。但它不包含我添加的任何操作。

标签: android-studio intellij-idea intellij-plugin


【解决方案1】:

正如另一个答案已经指出的那样,问题是由对操作组使用自定义组类引起的。

您何时可能需要自定义操作组?

只有当您有一些自定义逻辑来控制您的一组操作的行为时,才需要自定义操作组,例如应该在编辑器中的某些选择或鼠标悬停时启用该组,或者如果您想要向组等动态添加操作。

如果组的目的是对预定义的操作进行分组并将其显示在特定位置,则默认操作组就是您所需要的全部 并且可以通过以下几行轻松完成

 <group id="Test" text="Test" description="Main Test invocation Action"
       popup="true">
    <add-to-group group-id="MainMenu" anchor="last"/>
    <!--List of predefined actions here  -->
</group>

请注意,组标签中的类属性已被删除。现在 IDE 将其组视为默认操作组。

【讨论】:

    【解决方案2】:

    问题是由于您添加到主菜单的操作组使用了自定义组类。这在某些版本的 IntelliJ IDEA/Android Studio 中不受支持。

    【讨论】:

    • 它按你说的工作。但该组的任何操作均不可见
    猜你喜欢
    • 2012-11-26
    • 2011-06-30
    • 2021-10-09
    • 1970-01-01
    • 2021-01-28
    • 2015-10-16
    • 1970-01-01
    • 1970-01-01
    • 2018-06-18
    相关资源
    最近更新 更多