Merge branch 'IJSDK-424'

This commit is contained in:
JohnHake 2020-03-18 23:22:24 -07:00
commit cd8c680d53
54 changed files with 82 additions and 199 deletions

View File

@ -65,4 +65,4 @@ PsiClass containingClass = containingMethod.getContainingClass();
``` ```
To see how the navigation works in practice, please refer to the To see how the navigation works in practice, please refer to the
[code sample](https://github.com/JetBrains/intellij-sdk-docs/blob/master/code_samples/psi_demo/src/main/java/org/jetbrains/sdk/psi/PsiNavigationDemoAction.java). [code sample](https://github.com/JetBrains/intellij-sdk-docs/blob/master/code_samples/psi_demo/src/main/java/org/intellij/sdk/psi/PsiNavigationDemoAction.java).

View File

@ -51,7 +51,7 @@ Continuing from the example [above](#determining-a-jetbrains-runtime-version), t
When adding system property `idea.auto.reload.plugins` in the [run configuration](getting_started/running_and_debugging_a_plugin.md) (DevKit-based) or [**runIde**](/tutorials/build_system/prerequisites.md#running-a-simple-gradle-based-intellij-platform-plugin) task (Gradle-based), dynamic plugins are reloaded automatically when their JARs are modified. When adding system property `idea.auto.reload.plugins` in the [run configuration](getting_started/running_and_debugging_a_plugin.md) (DevKit-based) or [**runIde**](/tutorials/build_system/prerequisites.md#running-a-simple-gradle-based-intellij-platform-plugin) task (Gradle-based), dynamic plugins are reloaded automatically when their JARs are modified.
This allows a much faster development cycle by avoiding a full restart of the development instance after code changes. This allows a much faster development cycle by avoiding a full restart of the development instance after code changes.
For [Gradle-based plugins](/tutorials/build_system/prerequisites.md) using `gradle-intellij-plugin` v0.4.17 or later, this property is set automatically. For [Gradle-based plugins](/tutorials/build_system/prerequisites.md) using `gradle-intellij-plugin` 0.4.17 or later, this property is set automatically.
## The Development Instance Sandbox Directory ## The Development Instance Sandbox Directory

View File

@ -5,6 +5,6 @@ package icons;
import com.intellij.openapi.util.IconLoader; import com.intellij.openapi.util.IconLoader;
import javax.swing.*; import javax.swing.*;
public class ActionBasicsIcons { public class SdkIcons {
public static final Icon Sdk_default_icon = IconLoader.getIcon("/icons/sdk_16.svg"); public static final Icon Sdk_default_icon = IconLoader.getIcon("/icons/sdk_16.svg");
} }

View File

@ -6,7 +6,7 @@ import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.DefaultActionGroup; import com.intellij.openapi.actionSystem.DefaultActionGroup;
import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.Editor;
import icons.ActionBasicsIcons; import icons.SdkIcons;
/** /**
* Creates an action group to contain menu actions. See plugin.xml declarations. * Creates an action group to contain menu actions. See plugin.xml declarations.
@ -26,6 +26,6 @@ public class CustomDefaultActionGroup extends DefaultActionGroup {
Editor editor = event.getData(CommonDataKeys.EDITOR); Editor editor = event.getData(CommonDataKeys.EDITOR);
event.getPresentation().setEnabled(editor != null); event.getPresentation().setEnabled(editor != null);
// Take this opportunity to set an icon for the menu entry. // Take this opportunity to set an icon for the menu entry.
event.getPresentation().setIcon(ActionBasicsIcons.Sdk_default_icon); event.getPresentation().setIcon(SdkIcons.Sdk_default_icon);
} }
} }

View File

@ -5,7 +5,7 @@ package org.intellij.sdk.action;
import com.intellij.openapi.actionSystem.ActionGroup; import com.intellij.openapi.actionSystem.ActionGroup;
import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.AnActionEvent;
import icons.ActionBasicsIcons; import icons.SdkIcons;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**
@ -32,7 +32,7 @@ public class DynamicActionGroup extends ActionGroup {
return new AnAction[]{ return new AnAction[]{
new PopupDialogAction("Action Added at Runtime", new PopupDialogAction("Action Added at Runtime",
"Dynamic Action Demo", "Dynamic Action Demo",
ActionBasicsIcons.Sdk_default_icon) SdkIcons.Sdk_default_icon)
}; };
} }

View File

@ -35,7 +35,7 @@
for information about the elements and attributes used for actions and groups. --> for information about the elements and attributes used for actions and groups. -->
<!-- The <action> element adds a static menu item in first position of the Tools menu that shows PopupDialogAction. --> <!-- The <action> element adds a static menu item in first position of the Tools menu that shows PopupDialogAction. -->
<action id="org.intellij.sdk.action.PopupDialogAction" class="org.intellij.sdk.action.PopupDialogAction" <action id="org.intellij.sdk.action.PopupDialogAction" class="org.intellij.sdk.action.PopupDialogAction"
text="Action Basics Plugin: Pop Dialog Action" description="SDK action example" icon="ActionBasicsIcons.Sdk_default_icon"> text="Action Basics Plugin: Pop Dialog Action" description="SDK action example" icon="SdkIcons.Sdk_default_icon">
<override-text place="MainMenu" text="Pop Dialog Action"/> <override-text place="MainMenu" text="Pop Dialog Action"/>
<keyboard-shortcut first-keystroke="control alt A" second-keystroke="C" keymap="$default"/> <keyboard-shortcut first-keystroke="control alt A" second-keystroke="C" keymap="$default"/>
<mouse-shortcut keystroke="control button3 doubleClick" keymap="$default"/> <mouse-shortcut keystroke="control button3 doubleClick" keymap="$default"/>
@ -46,24 +46,24 @@
IntelliJ Platform framework. (Note the lack of a group "class" attribute.) GroupedActions gets inserted after PopupDialogAction IntelliJ Platform framework. (Note the lack of a group "class" attribute.) GroupedActions gets inserted after PopupDialogAction
in the Tools menu. Because the group's implementation is default, it cannot impose enable/disable conditions. Instead it in the Tools menu. Because the group's implementation is default, it cannot impose enable/disable conditions. Instead it
must rely on the conditions imposed by the parent menu where it is inserted. It declares one action in the group. --> must rely on the conditions imposed by the parent menu where it is inserted. It declares one action in the group. -->
<group id="org.intellij.sdk.action.GroupedActions" text="Static Grouped Actions" popup="true" icon="ActionBasicsIcons.Sdk_default_icon"> <group id="org.intellij.sdk.action.GroupedActions" text="Static Grouped Actions" popup="true" icon="SdkIcons.Sdk_default_icon">
<add-to-group group-id="ToolsMenu" anchor="after" relative-to-action="org.intellij.sdk.action.PopupDialogAction"/> <add-to-group group-id="ToolsMenu" anchor="after" relative-to-action="org.intellij.sdk.action.PopupDialogAction"/>
<action class="org.intellij.sdk.action.PopupDialogAction" id="org.intellij.sdk.action.GroupPopDialogAction" <action class="org.intellij.sdk.action.PopupDialogAction" id="org.intellij.sdk.action.GroupPopDialogAction"
text="A Group Action" description="SDK static grouped action example" icon="ActionBasicsIcons.Sdk_default_icon"> text="A Group Action" description="SDK static grouped action example" icon="SdkIcons.Sdk_default_icon">
</action> </action>
</group> </group>
<!-- CustomDefaultActionGroup demonstrates declaring an action group based on a ActionGroup class supplied by this plugin. <!-- CustomDefaultActionGroup demonstrates declaring an action group based on a ActionGroup class supplied by this plugin.
This group is to be inserted atop the Editor Popup Menu. It declares one action in the group. --> This group is to be inserted atop the Editor Popup Menu. It declares one action in the group. -->
<group id="org.intellij.sdk.action.CustomDefaultActionGroup" class="org.intellij.sdk.action.CustomDefaultActionGroup" popup="true" <group id="org.intellij.sdk.action.CustomDefaultActionGroup" class="org.intellij.sdk.action.CustomDefaultActionGroup" popup="true"
text="Popup Grouped Actions" description="Custom defaultActionGroup demo" icon="ActionBasicsIcons.Sdk_default_icon"> text="Popup Grouped Actions" description="Custom defaultActionGroup demo" icon="SdkIcons.Sdk_default_icon">
<add-to-group group-id="EditorPopupMenu" anchor="first"/> <add-to-group group-id="EditorPopupMenu" anchor="first"/>
<action class="org.intellij.sdk.action.PopupDialogAction" id="org.intellij.sdk.action.CustomGroupedAction" <action class="org.intellij.sdk.action.PopupDialogAction" id="org.intellij.sdk.action.CustomGroupedAction"
text="A Popup Action" description="SDK popup grouped action example" icon="ActionBasicsIcons.Sdk_default_icon"/> text="A Popup Action" description="SDK popup grouped action example" icon="SdkIcons.Sdk_default_icon"/>
</group> </group>
<!-- DynamicActionGroup demonstrates declaring an action group without a static action declaration. <!-- DynamicActionGroup demonstrates declaring an action group without a static action declaration.
An action is added to the group programmatically in the DynamicActionGroup implementation. --> An action is added to the group programmatically in the DynamicActionGroup implementation. -->
<group id="org.intellij.sdk.action.DynamicActionGroup" class="org.intellij.sdk.action.DynamicActionGroup" popup="true" <group id="org.intellij.sdk.action.DynamicActionGroup" class="org.intellij.sdk.action.DynamicActionGroup" popup="true"
text="Dynamically Grouped Actions" description="SDK dynamically grouped action example" icon="ActionBasicsIcons.Sdk_default_icon"> text="Dynamically Grouped Actions" description="SDK dynamically grouped action example" icon="SdkIcons.Sdk_default_icon">
<add-to-group group-id="ToolsMenu" anchor="after" relative-to-action="org.intellij.sdk.action.GroupedActions"/> <add-to-group group-id="ToolsMenu" anchor="after" relative-to-action="org.intellij.sdk.action.GroupedActions"/>
</group> </group>
</actions> </actions>

View File

@ -27,9 +27,8 @@ dependencies {
// See https://github.com/JetBrains/gradle-intellij-plugin/ // See https://github.com/JetBrains/gradle-intellij-plugin/
intellij { intellij {
version '2019.3.3' version '2019.3.3'
type 'IC'
plugins 'java' plugins 'java'
updateSinceUntilBuild = false sameSinceUntilBuild = true
} }
patchPluginXml { patchPluginXml {

View File

@ -8,12 +8,6 @@
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: Comparing References Inspection Sample</name> <name>SDK: Comparing References Inspection Sample</name>
<!-- The version of this plugin -->
<version>2.0.0</version>
<!-- Compatible with the following versions of IntelliJ Platform -->
<idea-version since-build="193.3"/>
<!-- Evaluates java PSI --> <!-- Evaluates java PSI -->
<depends>com.intellij.modules.java</depends> <depends>com.intellij.modules.java</depends>

View File

@ -28,7 +28,7 @@ test {
intellij { intellij {
version '2019.3.3' version '2019.3.3'
plugins 'java' plugins 'java'
updateSinceUntilBuild = false sameSinceUntilBuild = true
} }
patchPluginXml { patchPluginXml {

View File

@ -8,12 +8,6 @@
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: Conditional Operator Converter</name> <name>SDK: Conditional Operator Converter</name>
<!-- The version of this plugin -->
<version>2.0.0</version>
<!-- Compatible with the following versions of IntelliJ Platform -->
<idea-version since-build="191"/>
<!-- Product and plugin compatibility requirements --> <!-- Product and plugin compatibility requirements -->
<depends>com.intellij.modules.java</depends> <depends>com.intellij.modules.java</depends>
<depends>com.intellij.modules.platform</depends> <depends>com.intellij.modules.platform</depends>

View File

@ -17,7 +17,7 @@ repositories {
// See https://github.com/JetBrains/gradle-intellij-plugin/ // See https://github.com/JetBrains/gradle-intellij-plugin/
intellij { intellij {
version '2019.3.3' version '2019.3.3'
updateSinceUntilBuild = false sameSinceUntilBuild = true
} }
patchPluginXml { patchPluginXml {
version = project.version version = project.version

View File

@ -6,6 +6,6 @@ import com.intellij.openapi.util.IconLoader;
import javax.swing.*; import javax.swing.*;
public class EditorBasicsIcons { public class SdkIcons {
public static final Icon Sdk_default_icon = IconLoader.getIcon("/icons/sdk_16.svg"); public static final Icon Sdk_default_icon = IconLoader.getIcon("/icons/sdk_16.svg");
} }

View File

@ -8,12 +8,6 @@
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: Editor Sample Project</name> <name>SDK: Editor Sample Project</name>
<!-- The version of this plugin -->
<version>2.0.0</version>
<!-- Compatible with the following versions of IntelliJ Platform -->
<idea-version since-build="191"/>
<!-- Product and plugin compatibility requirements --> <!-- Product and plugin compatibility requirements -->
<depends>com.intellij.modules.platform</depends> <depends>com.intellij.modules.platform</depends>
@ -40,14 +34,14 @@
class="org.intellij.sdk.editor.EditorIllustrationAction" class="org.intellij.sdk.editor.EditorIllustrationAction"
text="Editor Replace Text" text="Editor Replace Text"
description="Replaces selected text with 'Replacement'." description="Replaces selected text with 'Replacement'."
icon="EditorBasicsIcons.Sdk_default_icon"> icon="SdkIcons.Sdk_default_icon">
<add-to-group group-id="EditorPopupMenu" anchor="first"/> <add-to-group group-id="EditorPopupMenu" anchor="first"/>
</action> </action>
<action id="EditorBasics.EditorHandlerIllustration" <action id="EditorBasics.EditorHandlerIllustration"
class="org.intellij.sdk.editor.EditorHandlerIllustration" class="org.intellij.sdk.editor.EditorHandlerIllustration"
text="Editor Add Caret" text="Editor Add Caret"
description="Adds a second caret below the existing one." description="Adds a second caret below the existing one."
icon="EditorBasicsIcons.Sdk_default_icon"> icon="SdkIcons.Sdk_default_icon">
<add-to-group group-id="EditorPopupMenu" anchor="first"/> <add-to-group group-id="EditorPopupMenu" anchor="first"/>
</action> </action>
<!-- Place this entry first in the popup menu; it's always enabled if a project and editor are open --> <!-- Place this entry first in the popup menu; it's always enabled if a project and editor are open -->
@ -55,7 +49,7 @@
class="org.intellij.sdk.editor.EditorAreaIllustration" class="org.intellij.sdk.editor.EditorAreaIllustration"
text="Caret Position" text="Caret Position"
description="Reports information about the caret position." description="Reports information about the caret position."
icon="EditorBasicsIcons.Sdk_default_icon"> icon="SdkIcons.Sdk_default_icon">
<keyboard-shortcut keymap="$default" first-keystroke="control alt G"/> <keyboard-shortcut keymap="$default" first-keystroke="control alt G"/>
<add-to-group group-id="EditorPopupMenu" anchor="first"/> <add-to-group group-id="EditorPopupMenu" anchor="first"/>
</action> </action>

View File

@ -17,8 +17,7 @@ repositories {
// See https://github.com/JetBrains/gradle-intellij-plugin/ // See https://github.com/JetBrains/gradle-intellij-plugin/
intellij { intellij {
version '2019.3.3' version '2019.3.3'
updateSinceUntilBuild = false sameSinceUntilBuild = true
} }
patchPluginXml { patchPluginXml {
version = project.version version = project.version

View File

@ -8,12 +8,6 @@
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: Facet Basics</name> <name>SDK: Facet Basics</name>
<!-- The version of this plugin -->
<version>2.1</version>
<!-- Compatible with the following versions of IntelliJ Platform -->
<idea-version since-build="191"/>
<!-- Product and plugin compatibility requirements --> <!-- Product and plugin compatibility requirements -->
<depends>com.intellij.modules.lang</depends> <depends>com.intellij.modules.lang</depends>

View File

@ -17,8 +17,8 @@ repositories {
// See https://github.com/JetBrains/gradle-intellij-plugin/ // See https://github.com/JetBrains/gradle-intellij-plugin/
intellij { intellij {
version '2019.3.3' version '2019.3.3'
updateSinceUntilBuild = false
plugins 'java' plugins 'java'
sameSinceUntilBuild = true
} }
patchPluginXml { patchPluginXml {

View File

@ -8,12 +8,6 @@
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: Framework Sample Project</name> <name>SDK: Framework Sample Project</name>
<!-- The version of this plugin -->
<version>2.0.0</version>
<!-- Compatible with the following versions of IntelliJ Platform -->
<idea-version since-build="191"/>
<!-- Product and plugin compatibility requirements --> <!-- Product and plugin compatibility requirements -->
<depends>com.intellij.modules.java</depends> <depends>com.intellij.modules.java</depends>

View File

@ -17,7 +17,7 @@ repositories {
// See https://github.com/JetBrains/gradle-intellij-plugin/ // See https://github.com/JetBrains/gradle-intellij-plugin/
intellij { intellij {
version '2019.3.3' version '2019.3.3'
updateSinceUntilBuild = false sameSinceUntilBuild = true
} }
patchPluginXml { patchPluginXml {

View File

@ -8,12 +8,6 @@
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: Inspection Sample Project</name> <name>SDK: Inspection Sample Project</name>
<!-- The version of this plugin -->
<version>2.0.0</version>
<!-- Compatible with the following versions of IntelliJ Platform -->
<idea-version since-build="191"/>
<!-- Product and plugin compatibility requirements - this inspects text, which is part of the lang module --> <!-- Product and plugin compatibility requirements - this inspects text, which is part of the lang module -->
<depends>com.intellij.modules.lang</depends> <depends>com.intellij.modules.lang</depends>

View File

@ -26,7 +26,7 @@ sourceSets {
// See https://github.com/JetBrains/gradle-intellij-plugin/ // See https://github.com/JetBrains/gradle-intellij-plugin/
intellij { intellij {
version '2019.3.3' version '2019.3.3'
updateSinceUntilBuild = false sameSinceUntilBuild = true
} }
compileKotlin { compileKotlin {
kotlinOptions.jvmTarget = "1.8" kotlinOptions.jvmTarget = "1.8"

View File

@ -8,12 +8,6 @@
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: Kotlin Demo</name> <name>SDK: Kotlin Demo</name>
<!-- The version of this plugin -->
<version>2.0.0</version>
<!-- Minimum and maximum build numbers of IDEA compatible with the plugin. -->
<idea-version since-build="191.0"/>
<!-- Indicate this plugin can be loaded in all IntelliJ Platform-based products. --> <!-- Indicate this plugin can be loaded in all IntelliJ Platform-based products. -->
<depends>com.intellij.modules.platform</depends> <depends>com.intellij.modules.platform</depends>

View File

@ -8,13 +8,6 @@
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: Live Templates Sample Project</name> <name>SDK: Live Templates Sample Project</name>
<!-- The version of this plugin -->
<version>2.0.0</version>
<!-- Compatible with the following versions of IntelliJ Platform:
version 2018.3 (build #183) and newer. -->
<idea-version since-build="191"/>
<!-- Product and plugin compatibility requirements --> <!-- Product and plugin compatibility requirements -->
<depends>com.intellij.modules.lang</depends> <depends>com.intellij.modules.lang</depends>

View File

@ -17,6 +17,7 @@ repositories {
// See https://github.com/JetBrains/gradle-intellij-plugin/ // See https://github.com/JetBrains/gradle-intellij-plugin/
intellij { intellij {
version '2019.3.3' version '2019.3.3'
sameSinceUntilBuild = true
} }
patchPluginXml { patchPluginXml {
version = project.version version = project.version

View File

@ -8,11 +8,6 @@
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: Maximum Open Projects Sample</name> <name>SDK: Maximum Open Projects Sample</name>
<!-- The version of this plugin is set by build.gradle -->
<!-- The idea-version of this plugin is overwritten by build.gradle -->
<idea-version since-build="193"/>
<!-- Product and plugin compatibility requirements --> <!-- Product and plugin compatibility requirements -->
<depends>com.intellij.modules.platform</depends> <depends>com.intellij.modules.platform</depends>

View File

@ -1,8 +1,8 @@
// Copyright 2000-2020 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. // Copyright 2000-2020 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins { plugins {
id 'java' id 'java'
id 'org.jetbrains.intellij' version '0.4.16' id 'org.jetbrains.intellij' version '0.4.16'
} }
group 'org.intellij.sdk' group 'org.intellij.sdk'
@ -11,15 +11,15 @@ version '2.0.0'
sourceCompatibility = 1.8 sourceCompatibility = 1.8
repositories { repositories {
mavenCentral() mavenCentral()
} }
// See https://github.com/JetBrains/gradle-intellij-plugin/ // See https://github.com/JetBrains/gradle-intellij-plugin/
intellij { intellij {
version '2019.3.3' version '2019.3.3'
updateSinceUntilBuild = false sameSinceUntilBuild = true
} }
patchPluginXml { patchPluginXml {
version = project.version version = project.version
} }

View File

@ -8,12 +8,6 @@
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: Module Type Sample Project</name> <name>SDK: Module Type Sample Project</name>
<!-- The version of this plugin -->
<version>2.0.0</version>
<!-- Compatible with the following versions of IntelliJ Platform -->
<idea-version since-build="191"/>
<!-- Product and plugin compatibility requirements --> <!-- Product and plugin compatibility requirements -->
<depends>com.intellij.modules.platform</depends> <depends>com.intellij.modules.platform</depends>

View File

@ -18,7 +18,7 @@ repositories {
intellij { intellij {
version '2019.3.3' version '2019.3.3'
type 'PY' type 'PY'
updateSinceUntilBuild = false sameSinceUntilBuild = true
} }
patchPluginXml { patchPluginXml {

View File

@ -1,6 +1,6 @@
// Copyright 2000-2020 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. // Copyright 2000-2020 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.sdk.pycharm; package org.intellij.sdk.pycharm;
import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.AnActionEvent;

View File

@ -3,17 +3,11 @@
<idea-plugin> <idea-plugin>
<!-- Unique id for this plugin. Must stay constant for the life of the plugin. --> <!-- Unique id for this plugin. Must stay constant for the life of the plugin. -->
<id>com.intellij.sdk.pycharm</id> <id>org.intellij.sdk.pycharm</id>
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: PyCharm Sample Project</name> <name>SDK: PyCharm Sample Project</name>
<!-- The version of this plugin -->
<version>0.1.0</version>
<!-- Must match the target PyCharm build -->
<idea-version since-build="192.4"/>
<!-- Requires the python plugin to run --> <!-- Requires the python plugin to run -->
<depends>com.intellij.modules.python</depends> <depends>com.intellij.modules.python</depends>
@ -34,10 +28,10 @@
<actions> <actions>
<!-- Define a new menu group as a last entry in the main menu --> <!-- Define a new menu group as a last entry in the main menu -->
<group id="com.intellij.sdk.pycharm.NewGroupedActions" text="SDK: Plugin" popup="true"> <group id="org.intellij.sdk.pycharm.NewGroupedActions" text="SDK: Plugin" popup="true">
<add-to-group group-id="MainMenu" anchor="last"/> <add-to-group group-id="MainMenu" anchor="last"/>
<!-- Add a single action to the new group --> <!-- Add a single action to the new group -->
<action id="com.intellij.sdk.pycharm.PopupDialogAction" class="com.intellij.sdk.pycharm.PopupDialogAction" <action id="org.intellij.sdk.pycharm.PopupDialogAction" class="org.intellij.sdk.pycharm.PopupDialogAction"
text="Pop a Dialog" description="SDK PyCharm basics example" icon="SdkIcons.Sdk_default_icon"> text="Pop a Dialog" description="SDK PyCharm basics example" icon="SdkIcons.Sdk_default_icon">
</action> </action>
</group> </group>

View File

@ -1,8 +1,8 @@
// Copyright 2000-2020 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. // Copyright 2000-2020 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins { plugins {
id 'java' id 'java'
id 'org.jetbrains.intellij' version '0.4.16' id 'org.jetbrains.intellij' version '0.4.16'
} }
group 'org.intellij.sdk.' group 'org.intellij.sdk.'
@ -11,16 +11,16 @@ version '2.0.0'
sourceCompatibility = 1.8 sourceCompatibility = 1.8
repositories { repositories {
mavenCentral() mavenCentral()
} }
// See https://github.com/JetBrains/gradle-intellij-plugin/ // See https://github.com/JetBrains/gradle-intellij-plugin/
intellij { intellij {
version '2019.3.3' version '2019.3.3'
plugins 'java' plugins 'java'
updateSinceUntilBuild = false sameSinceUntilBuild = true
} }
patchPluginXml { patchPluginXml {
version = project.version version = project.version
} }

View File

@ -3,17 +3,11 @@
<idea-plugin> <idea-plugin>
<!-- Unique id for this plugin. Must stay constant for the life of the plugin. --> <!-- Unique id for this plugin. Must stay constant for the life of the plugin. -->
<id>org.intellij.sdk.projectModel</id> <id>org.intellij.sdk.project.model</id>
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: Project Model Sample Project</name> <name>SDK: Project Model Sample Project</name>
<!-- The version of this plugin -->
<version>2.0.0</version>
<!-- Compatible with the following versions of IntelliJ Platform -->
<idea-version since-build="191"/>
<!-- Product and plugin compatibility requirements --> <!-- Product and plugin compatibility requirements -->
<depends>com.intellij.modules.java</depends> <depends>com.intellij.modules.java</depends>

View File

@ -1,8 +1,8 @@
// Copyright 2000-2020 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. // Copyright 2000-2020 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins { plugins {
id 'java' id 'java'
id 'org.jetbrains.intellij' version '0.4.16' id 'org.jetbrains.intellij' version '0.4.16'
} }
group 'org.intellij.sdk' group 'org.intellij.sdk'
@ -11,15 +11,15 @@ version '2.0.0'
sourceCompatibility = 1.8 sourceCompatibility = 1.8
repositories { repositories {
mavenCentral() mavenCentral()
} }
// See https://github.com/JetBrains/gradle-intellij-plugin/ // See https://github.com/JetBrains/gradle-intellij-plugin/
intellij { intellij {
version '2019.3.3' version '2019.3.3'
updateSinceUntilBuild = false sameSinceUntilBuild = true
} }
patchPluginXml { patchPluginXml {
version = project.version version = project.version
} }

View File

@ -3,17 +3,11 @@
<idea-plugin> <idea-plugin>
<!-- Unique id for this plugin. Must stay constant for the life of the plugin. --> <!-- Unique id for this plugin. Must stay constant for the life of the plugin. -->
<id>org.jetbrains.plugins.sample.ProjectViewPane</id> <id>org.intellij.sdk.view.pane</id>
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: Project View Pane Demo</name> <name>SDK: Project View Pane Demo</name>
<!-- The version of this plugin -->
<version>2.0.0</version>
<!-- Compatible with the following versions of IntelliJ Platform -->
<idea-version since-build="191"/>
<!-- Product and plugin compatibility requirements --> <!-- Product and plugin compatibility requirements -->
<depends>com.intellij.modules.platform</depends> <depends>com.intellij.modules.platform</depends>

View File

@ -1,8 +1,8 @@
// Copyright 2000-2020 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. // Copyright 2000-2020 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins { plugins {
id 'java' id 'java'
id 'org.jetbrains.intellij' version '0.4.16' id 'org.jetbrains.intellij' version '0.4.16'
} }
group 'org.intellij.sdk' group 'org.intellij.sdk'
@ -11,15 +11,15 @@ version '2.0.0'
sourceCompatibility = 1.8 sourceCompatibility = 1.8
repositories { repositories {
mavenCentral() mavenCentral()
} }
// See https://github.com/JetBrains/gradle-intellij-plugin/ // See https://github.com/JetBrains/gradle-intellij-plugin/
intellij { intellij {
version '2019.3.3' version '2019.3.3'
updateSinceUntilBuild = false sameSinceUntilBuild = true
} }
patchPluginXml { patchPluginXml {
version = project.version version = project.version
} }

View File

@ -3,17 +3,11 @@
<idea-plugin> <idea-plugin>
<!-- Unique id for this plugin. Must stay constant for the life of the plugin. --> <!-- Unique id for this plugin. Must stay constant for the life of the plugin. -->
<id>org.jetbrains.tutorials.ProjectWizard</id> <id>org.intellij.sdk.project.wizard</id>
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: Project Wizard Demo</name> <name>SDK: Project Wizard Demo</name>
<!-- The version of this plugin -->
<version>2.0.0</version>
<!-- Compatible with the following versions of IntelliJ Platform -->
<idea-version since-build="191"/>
<!-- Product and plugin compatibility requirements --> <!-- Product and plugin compatibility requirements -->
<depends>com.intellij.modules.platform</depends> <depends>com.intellij.modules.platform</depends>

View File

@ -18,7 +18,7 @@ repositories {
intellij { intellij {
version '2019.3.3' version '2019.3.3'
plugins 'java' plugins 'java'
updateSinceUntilBuild = false sameSinceUntilBuild = true
} }
patchPluginXml { patchPluginXml {

View File

@ -3,17 +3,11 @@
<idea-plugin> <idea-plugin>
<!-- Unique id for this plugin. Must stay constant for the life of the plugin. --> <!-- Unique id for this plugin. Must stay constant for the life of the plugin. -->
<id>org.jetbrains.sdk.psi</id> <id>org.intellij.sdk.psi</id>
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: PSI Demo</name> <name>SDK: PSI Demo</name>
<!-- The version of this plugin -->
<version>2.0.0</version>
<!-- Compatible with the following versions of IntelliJ Platform -->
<idea-version since-build="191"/>
<!-- Product and plugin compatibility requirements --> <!-- Product and plugin compatibility requirements -->
<depends>com.intellij.modules.java</depends> <depends>com.intellij.modules.java</depends>

View File

@ -17,7 +17,7 @@ repositories {
// See https://github.com/JetBrains/gradle-intellij-plugin/ // See https://github.com/JetBrains/gradle-intellij-plugin/
intellij { intellij {
version '2019.3.3' version '2019.3.3'
updateSinceUntilBuild = false sameSinceUntilBuild = true
} }
patchPluginXml { patchPluginXml {

View File

@ -8,12 +8,6 @@
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: Run Configuration Demo</name> <name>SDK: Run Configuration Demo</name>
<!-- The version of this plugin -->
<version>2.0.0</version>
<!-- Compatible with the following versions of IntelliJ Platform -->
<idea-version since-build="193.1159"/>
<!-- Product and plugin compatibility requirements --> <!-- Product and plugin compatibility requirements -->
<depends>com.intellij.modules.platform</depends> <depends>com.intellij.modules.platform</depends>

View File

@ -32,7 +32,7 @@ dependencies {
intellij { intellij {
version '2019.3.3' version '2019.3.3'
plugins 'java' plugins 'java'
updateSinceUntilBuild = false sameSinceUntilBuild = true
} }
patchPluginXml { patchPluginXml {

View File

@ -8,14 +8,6 @@
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: Simple Language Sample Project</name> <name>SDK: Simple Language Sample Project</name>
<!-- The version of this plugin -->
<version>2.0.0</version>
<!-- Compatible with the following versions of IntelliJ Platform
At least 2019.2 is required. Otherwise, FileTypeFactory must be registered as an extension.
See the extensions section below. -->
<idea-version since-build="192.2"/>
<!-- Product and plugin compatibility requirements --> <!-- Product and plugin compatibility requirements -->
<depends>com.intellij.modules.platform</depends> <depends>com.intellij.modules.platform</depends>
<depends>com.intellij.modules.java</depends> <depends>com.intellij.modules.java</depends>

View File

@ -3,7 +3,7 @@
<idea-plugin> <idea-plugin>
<!-- Unique id for this plugin. Must stay constant for the life of the plugin. --> <!-- Unique id for this plugin. Must stay constant for the life of the plugin. -->
<id>org.intellij.sdk..themeBasics</id> <id>org.intellij.sdk.themeBasics</id>
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: Theme Basics</name> <name>SDK: Theme Basics</name>

View File

@ -17,7 +17,7 @@ repositories {
// See https://github.com/JetBrains/gradle-intellij-plugin/ // See https://github.com/JetBrains/gradle-intellij-plugin/
intellij { intellij {
version '2019.3.3' version '2019.3.3'
updateSinceUntilBuild = false sameSinceUntilBuild = true
} }
patchPluginXml { patchPluginXml {

View File

@ -8,12 +8,6 @@
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: Tool Window Sample Project</name> <name>SDK: Tool Window Sample Project</name>
<!-- The version of this plugin -->
<version>2.0.0</version>
<!-- Compatible with the following versions of IntelliJ Platform -->
<idea-version since-build="193.3"/>
<!-- Indicate this plugin can be loaded in all IntelliJ Platform-based products. --> <!-- Indicate this plugin can be loaded in all IntelliJ Platform-based products. -->
<depends>com.intellij.modules.platform</depends> <depends>com.intellij.modules.platform</depends>

View File

@ -17,7 +17,7 @@ repositories {
// See https://github.com/JetBrains/gradle-intellij-plugin/ // See https://github.com/JetBrains/gradle-intellij-plugin/
intellij { intellij {
version '2019.3.3' version '2019.3.3'
updateSinceUntilBuild = false sameSinceUntilBuild = true
} }
patchPluginXml { patchPluginXml {

View File

@ -8,12 +8,6 @@
<!-- Text to display as name on Preferences/Settings | Plugin page --> <!-- Text to display as name on Preferences/Settings | Plugin page -->
<name>SDK: Tree Structure Provider Sample Project</name> <name>SDK: Tree Structure Provider Sample Project</name>
<!-- The version of this plugin -->
<version>2.0.0</version>
<!-- Compatible with the following versions of IntelliJ Platform -->
<idea-version since-build="193.3"/>
<!-- Indicate this plugin can be loaded in all IntelliJ Platform-based products. --> <!-- Indicate this plugin can be loaded in all IntelliJ Platform-based products. -->
<depends>com.intellij.modules.platform</depends> <depends>com.intellij.modules.platform</depends>

View File

@ -31,7 +31,7 @@ The IntelliJ Platform is Open Source, under the [Apache license](upsource:///LIC
While this guide refers to the IntelliJ Platform as a separate entity, there is no "IntelliJ Platform" GitHub repo. Instead, the platform is considered to be an almost complete overlap with the IntelliJ IDEA Community Edition, which is a free and Open Source version of IntelliJ IDEA Ultimate (the GitHub repo linked above is the [JetBrains/intellij-community](https://github.com/JetBrains/intellij-community) repo). While this guide refers to the IntelliJ Platform as a separate entity, there is no "IntelliJ Platform" GitHub repo. Instead, the platform is considered to be an almost complete overlap with the IntelliJ IDEA Community Edition, which is a free and Open Source version of IntelliJ IDEA Ultimate (the GitHub repo linked above is the [JetBrains/intellij-community](https://github.com/JetBrains/intellij-community) repo).
The version of the IntelliJ Platform is defined by the version of the corresponding release of IntelliJ IDEA Community Edition. The version of the IntelliJ Platform is defined by the version of the corresponding release of IntelliJ IDEA Community Edition.
For example, to build a plugin against IntelliJ IDEA (v2019.1.1,) build #191.6707.61, means specifying the same build number tag to get the correct Intellij Platform files from the `intellij-community` repo. For example, to build a plugin against IntelliJ IDEA (2019.1.1,) build #191.6707.61, means specifying the same build number tag to get the correct Intellij Platform files from the `intellij-community` repo.
See the [build number ranges](/basics/getting_started/build_number_ranges.md) page for more information about build numbers corresponding to version numbering. See the [build number ranges](/basics/getting_started/build_number_ranges.md) page for more information about build numbers corresponding to version numbering.
Typically, an IDE that is based on the IntelliJ Platform will include the `intellij-community` repo as a Git submodule and provide configuration to describe which plugins from the `intellij-community`, and which custom plugins will make up the product. This is how the IDEA Ultimate team work, and they contribute code to both the custom plugins and the IntelliJ Platform itself. Typically, an IDE that is based on the IntelliJ Platform will include the `intellij-community` repo as a Git submodule and provide configuration to describe which plugins from the `intellij-community`, and which custom plugins will make up the product. This is how the IDEA Ultimate team work, and they contribute code to both the custom plugins and the IntelliJ Platform itself.

View File

@ -45,14 +45,14 @@ The snippet below is an example of configuring the Setup and Running DSLs in a `
```groovy ```groovy
intellij { intellij {
// Define IntelliJ Platform against which to build the plugin project. // Define IntelliJ Platform against which to build the plugin project.
version '191.8026.42' // Same IntelliJ IDEA version (2019.1.4) as target v3.5 Android Studio version '191.8026.42' // Same IntelliJ IDEA version (2019.1.4) as target 3.5 Android Studio
type 'IC' // Use IntelliJ IDEA CE because it's the basis of the IntelliJ Platform type 'IC' // Use IntelliJ IDEA CE because it's the basis of the IntelliJ Platform
// Require the Android plugin, Gradle will match the plugin version to intellij.version // Require the Android plugin, Gradle will match the plugin version to intellij.version
plugins 'android' plugins 'android'
} }
runIde { runIde {
// Absolute path to installed target v3.5 Android Studio to use as IDE Development Instance // Absolute path to installed target 3.5 Android Studio to use as IDE Development Instance
// The "Contents" directory is macOS specific. // The "Contents" directory is macOS specific.
ideDirectory '/Applications/Android Studio.app/Contents' ideDirectory '/Applications/Android Studio.app/Contents'
} }

View File

@ -20,7 +20,7 @@ The table below summarizes the `gradle-intellij-plugin` attributes to set in the
| [`intellij.version`](https://github.com/JetBrains/gradle-intellij-plugin/blob/master/README.md#intellij-platform-properties) | `2019.3` Set to the same version as the DataGrip target version, as set by `runIde.ideDirectory` | | [`intellij.version`](https://github.com/JetBrains/gradle-intellij-plugin/blob/master/README.md#intellij-platform-properties) | `2019.3` Set to the same version as the DataGrip target version, as set by `runIde.ideDirectory` |
| [`intellij.plugins`](https://github.com/JetBrains/gradle-intellij-plugin/blob/master/README.md#intellij-platform-properties) | `plugins 'DatabaseTools'` Dependency on the bundled `DatabaseTools` plugin. | | [`intellij.plugins`](https://github.com/JetBrains/gradle-intellij-plugin/blob/master/README.md#intellij-platform-properties) | `plugins 'DatabaseTools'` Dependency on the bundled `DatabaseTools` plugin. |
| [`runIde.ideDirectory`](https://github.com/JetBrains/gradle-intellij-plugin/blob/master/README.md#running-dsl) | Path to locally installed target version of DataGrip. For example, for macOS:<br>`/Users/<user name>/Library/Application Support/JetBrains/Toolbox/apps/datagrip/ch-0/193.5233.139/DataGrip.app/Contents` | | [`runIde.ideDirectory`](https://github.com/JetBrains/gradle-intellij-plugin/blob/master/README.md#running-dsl) | Path to locally installed target version of DataGrip. For example, for macOS:<br>`/Users/<user name>/Library/Application Support/JetBrains/Toolbox/apps/datagrip/ch-0/193.5233.139/DataGrip.app/Contents` |
| [`runIde.jvmArgs`](https://github.com/JetBrains/gradle-intellij-plugin/blob/master/README.md#running-dsl) | `jvmArgs '-Didea.platform.prefix=DataGrip'`<br>Only required for `gradle-intellij-plugin` v0.4.16 or earlier. | | [`runIde.jvmArgs`](https://github.com/JetBrains/gradle-intellij-plugin/blob/master/README.md#running-dsl) | `jvmArgs '-Didea.platform.prefix=DataGrip'`<br>Only required for `gradle-intellij-plugin` 0.4.16 or earlier. |
The additional attribute `runIde.jvmArgs` is required for versions of the `gradle-intellij-plugin` 0.4.16 and earlier. The additional attribute `runIde.jvmArgs` is required for versions of the `gradle-intellij-plugin` 0.4.16 and earlier.
This attribute declares that Gradle should use the DataGrip platform to run/debug plugins in a development instance. This attribute declares that Gradle should use the DataGrip platform to run/debug plugins in a development instance.

View File

@ -79,7 +79,7 @@ If the product version isn't clear on the _About_ screen, consult the individual
The [Other IntelliJ IDEA Versions](https://www.jetbrains.com/idea/download/other.html) page is a way to find build numbers for every product version. The [Other IntelliJ IDEA Versions](https://www.jetbrains.com/idea/download/other.html) page is a way to find build numbers for every product version.
Additional ways include hovering over the version number for a product in ToolBox, or examining the _About_ screen for IntelliJ IDEA Community. Additional ways include hovering over the version number for a product in ToolBox, or examining the _About_ screen for IntelliJ IDEA Community.
In this example, IntelliJ IDEA Community Edition (which defines the IntelliJ Platform) for v2019.2.4 is build number `192.7142.36`. In this example, IntelliJ IDEA Community Edition (which defines the IntelliJ Platform) for 2019.2.4 is build number `192.7142.36`.
Although the FIX versions are different, this is not uncommon between products, and the builds are still compatible. Although the FIX versions are different, this is not uncommon between products, and the builds are still compatible.
The BRANCH and BUILD numbers match, therefore in this PhpStorm example: The BRANCH and BUILD numbers match, therefore in this PhpStorm example:
* The _targetIDE_ is PhpStorm, build `192.7142.41`, * The _targetIDE_ is PhpStorm, build `192.7142.41`,

View File

@ -28,7 +28,7 @@ No `compact` attribute is specified, which means this group will support submenu
See [Registering Actions in plugin.xml](/basics/action_system.md#registering-actions-in-pluginxml) for more information about these attributes. See [Registering Actions in plugin.xml](/basics/action_system.md#registering-actions-in-pluginxml) for more information about these attributes.
```xml ```xml
<group id="org.intellij.sdk.action.GroupedActions" text="Static Grouped Actions" popup="true" icon="ActionBasicsIcons.Sdk_default_icon"> <group id="org.intellij.sdk.action.GroupedActions" text="Static Grouped Actions" popup="true" icon="SdkIcons.Sdk_default_icon">
</group> </group>
``` ```
@ -39,7 +39,7 @@ Rather `PopupDialogAction` is defined in the same [plugin.xml](https://github.co
This group is placed after the single entry for the action `PopupDialogAction`, as defined in the tutorial [Creating Actions](working_with_custom_actions.md#registering-an-action-with-the-new-action-form). This group is placed after the single entry for the action `PopupDialogAction`, as defined in the tutorial [Creating Actions](working_with_custom_actions.md#registering-an-action-with-the-new-action-form).
```xml ```xml
<group id="org.intellij.sdk.action.GroupedActions" text="Static Grouped Actions" popup="true" icon="ActionBasicsIcons.Sdk_default_icon"> <group id="org.intellij.sdk.action.GroupedActions" text="Static Grouped Actions" popup="true" icon="SdkIcons.Sdk_default_icon">
<add-to-group group-id="ToolsMenu" anchor="after" relative-to-action="org.intellij.sdk.action.PopupDialogAction"/> <add-to-group group-id="ToolsMenu" anchor="after" relative-to-action="org.intellij.sdk.action.PopupDialogAction"/>
</group> </group>
``` ```
@ -52,10 +52,10 @@ A unique `id` supports reuse of action classes in more than one menu or group.
The action in this group will display the menu text "A Group Action". The action in this group will display the menu text "A Group Action".
```xml ```xml
<group id="org.intellij.sdk.action.GroupedActions" text="Static Grouped Actions" popup="true" icon="ActionBasicsIcons.Sdk_default_icon"> <group id="org.intellij.sdk.action.GroupedActions" text="Static Grouped Actions" popup="true" icon="SdkIcons.Sdk_default_icon">
<add-to-group group-id="ToolsMenu" anchor="after" relative-to-action="org.intellij.sdk.action.PopupDialogAction"/> <add-to-group group-id="ToolsMenu" anchor="after" relative-to-action="org.intellij.sdk.action.PopupDialogAction"/>
<action class="org.intellij.sdk.action.PopupDialogAction" id="org.intellij.sdk.action.GroupPopDialogAction" <action class="org.intellij.sdk.action.PopupDialogAction" id="org.intellij.sdk.action.GroupPopDialogAction"
text="A Group Action" description="SDK static grouped action example" icon="ActionBasicsIcons.Sdk_default_icon"> text="A Group Action" description="SDK static grouped action example" icon="SdkIcons.Sdk_default_icon">
</action> </action>
</group> </group>
``` ```
@ -116,10 +116,10 @@ In the declaration below, note:
```xml ```xml
<group id="org.intellij.sdk.action.CustomDefaultActionGroup" class="org.intellij.sdk.action.CustomDefaultActionGroup" popup="true" <group id="org.intellij.sdk.action.CustomDefaultActionGroup" class="org.intellij.sdk.action.CustomDefaultActionGroup" popup="true"
text="Popup Grouped Actions" description="Custom defaultActionGroup demo" icon="ActionBasicsIcons.Sdk_default_icon"> text="Popup Grouped Actions" description="Custom defaultActionGroup demo" icon="SdkIcons.Sdk_default_icon">
<add-to-group group-id="EditorPopupMenu" anchor="first"/> <add-to-group group-id="EditorPopupMenu" anchor="first"/>
<action class="org.intellij.sdk.action.PopupDialogAction" id="org.intellij.sdk.action.CustomGroupedAction" <action class="org.intellij.sdk.action.PopupDialogAction" id="org.intellij.sdk.action.CustomGroupedAction"
text="A Popup Action" description="SDK popup grouped action example" icon="ActionBasicsIcons.Sdk_default_icon"/> text="A Popup Action" description="SDK popup grouped action example" icon="SdkIcons.Sdk_default_icon"/>
</group> </group>
``` ```
@ -135,7 +135,7 @@ public class CustomDefaultActionGroup extends DefaultActionGroup {
Editor editor = event.getData(CommonDataKeys.EDITOR); Editor editor = event.getData(CommonDataKeys.EDITOR);
event.getPresentation().setEnabled(editor != null); event.getPresentation().setEnabled(editor != null);
// Take this opportunity to set an icon for the menu entry. // Take this opportunity to set an icon for the menu entry.
event.getPresentation().setIcon(ActionBasicsIcons.Sdk_default_icon); event.getPresentation().setIcon(SdkIcons.Sdk_default_icon);
} }
} }
``` ```
@ -164,7 +164,7 @@ To register the dynamic menu group, a `<group>` attribute needs to be placed in
When enabled, this group appears at the entry just below the [Static Grouped Actions](#binding-action-groups-to-ui-components) in the **Tools** menu: When enabled, this group appears at the entry just below the [Static Grouped Actions](#binding-action-groups-to-ui-components) in the **Tools** menu:
```xml ```xml
<group id="org.intellij.sdk.action.DynamicActionGroup" class="org.intellij.sdk.action.DynamicActionGroup" popup="true" <group id="org.intellij.sdk.action.DynamicActionGroup" class="org.intellij.sdk.action.DynamicActionGroup" popup="true"
text="Dynamically Grouped Actions" description="SDK dynamically grouped action example" icon="ActionBasicsIcons.Sdk_default_icon"> text="Dynamically Grouped Actions" description="SDK dynamically grouped action example" icon="SdkIcons.Sdk_default_icon">
<add-to-group group-id="ToolsMenu" anchor="after" relative-to-action="org.intellij.sdk.action.GroupedActions"/> <add-to-group group-id="ToolsMenu" anchor="after" relative-to-action="org.intellij.sdk.action.GroupedActions"/>
</group> </group>
``` ```
@ -184,7 +184,7 @@ public class DynamicActionGroup extends ActionGroup {
public AnAction[] getChildren(AnActionEvent e) { public AnAction[] getChildren(AnActionEvent e) {
return new AnAction[]{ new PopupDialogAction("Action Added at Runtime", return new AnAction[]{ new PopupDialogAction("Action Added at Runtime",
"Dynamic Action Demo", "Dynamic Action Demo",
ActionBasicsIcons.Sdk_default_icon) }; SdkIcons.Sdk_default_icon) };
} }
} }
``` ```

View File

@ -103,7 +103,7 @@ It also contains an attribute for an [`Icon`](/reference_guide/work_with_icons_a
The full declaration is: The full declaration is:
```xml ```xml
<action id="org.intellij.sdk.action.PopupDialogAction" class="org.intellij.sdk.action.PopupDialogAction" <action id="org.intellij.sdk.action.PopupDialogAction" class="org.intellij.sdk.action.PopupDialogAction"
text="Action Basics Plugin: Pop Dialog Action" description="SDK action example" icon="ActionBasicsIcons.Sdk_default_icon"> text="Action Basics Plugin: Pop Dialog Action" description="SDK action example" icon="SdkIcons.Sdk_default_icon">
<override-text place="MainMenu" text="Pop Dialog Action"/> <override-text place="MainMenu" text="Pop Dialog Action"/>
<keyboard-shortcut first-keystroke="control alt A" second-keystroke="C" keymap="$default"/> <keyboard-shortcut first-keystroke="control alt A" second-keystroke="C" keymap="$default"/>
<mouse-shortcut keystroke="control button3 doubleClick" keymap="$default"/> <mouse-shortcut keystroke="control button3 doubleClick" keymap="$default"/>

View File

@ -33,7 +33,7 @@ Note that this action class is registered to appear on the Editor context menu.
class="org.intellij.sdk.editor.EditorHandlerIllustration" class="org.intellij.sdk.editor.EditorHandlerIllustration"
text="Editor Add Caret" text="Editor Add Caret"
description="Adds a second caret below the existing one." description="Adds a second caret below the existing one."
icon="EditorBasicsIcons.Sdk_default_icon"> icon="SdkIcons.Sdk_default_icon">
<add-to-group group-id="EditorPopupMenu" anchor="first"/> <add-to-group group-id="EditorPopupMenu" anchor="first"/>
</action> </action>
</action> </action>

View File

@ -30,7 +30,7 @@ The `EditorIllustrationAction` action is registered in the group `EditorPopupMen
class="org.intellij.sdk.editor.EditorIllustrationAction" class="org.intellij.sdk.editor.EditorIllustrationAction"
text="Editor Replace Text" text="Editor Replace Text"
description="Replaces selected text with 'Replacement'." description="Replaces selected text with 'Replacement'."
icon="EditorBasicsIcons.Sdk_default_icon"> icon="SdkIcons.Sdk_default_icon">
<add-to-group group-id="EditorPopupMenu" anchor="first"/> <add-to-group group-id="EditorPopupMenu" anchor="first"/>
</action> </action>
``` ```