Idea intellij 插件无法在 android studio 1.5.1 中运行
Idea intellij plugin not working in android studio 1.5.1
我正在为 android studio 开发一个测试插件,当使用 "install plugin from disk" 添加时,我的插件在 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>
此问题是由于对添加到主菜单的操作组使用自定义组 class 引起的。这在某些版本的 IntelliJ IDEA/Android Studio 中不受支持。
正如其他答案已经指出的那样,问题是由对操作组使用自定义组 class 引起的。
您什么时候可能需要自定义操作组?
只有当您有一些自定义逻辑来控制您的操作组的行为时,才需要自定义操作组,例如应该在编辑器中的某些选择或鼠标悬停时启用该组,或者如果您想动态添加动作到组等
如果分组的目的是对预定义的操作进行分组并将其显示在特定位置,那么默认操作组就是您所需要的
它可以通过以下几行轻松完成
<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>
请注意,组标签中的 class 属性已删除。现在 IDE 将其组视为默认操作组。
我正在为 android studio 开发一个测试插件,当使用 "install plugin from disk" 添加时,我的插件在 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>
此问题是由于对添加到主菜单的操作组使用自定义组 class 引起的。这在某些版本的 IntelliJ IDEA/Android Studio 中不受支持。
正如其他答案已经指出的那样,问题是由对操作组使用自定义组 class 引起的。
您什么时候可能需要自定义操作组?
只有当您有一些自定义逻辑来控制您的操作组的行为时,才需要自定义操作组,例如应该在编辑器中的某些选择或鼠标悬停时启用该组,或者如果您想动态添加动作到组等
如果分组的目的是对预定义的操作进行分组并将其显示在特定位置,那么默认操作组就是您所需要的 它可以通过以下几行轻松完成
<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>
请注意,组标签中的 class 属性已删除。现在 IDE 将其组视为默认操作组。