mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-28 01:07:49 +08:00
migrate code sample links to gh-sdk-samples
This commit is contained in:
parent
1f6d85db42
commit
62cd582643
@ -201,7 +201,7 @@ To exclude a group from appearing in <menupath>Help | Find Action</menupath> res
|
|||||||
#### Localizing Actions and Groups
|
#### Localizing Actions and Groups
|
||||||
|
|
||||||
Action and group localization use resource bundles containing property files named <path>$NAME$Bundle.properties</path>, each file consisting of `key=value` pairs.
|
Action and group localization use resource bundles containing property files named <path>$NAME$Bundle.properties</path>, each file consisting of `key=value` pairs.
|
||||||
The [`action_basics`](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/action_basics) plugin demonstrates using a resource bundle to localize the group and action entries added to the Editor Popup Menu.
|
The [`action_basics`](%gh-sdk-samples%/action_basics) plugin demonstrates using a resource bundle to localize the group and action entries added to the Editor Popup Menu.
|
||||||
|
|
||||||
When localizing actions and groups, the `text` and `description` attributes are not declared in <path>plugin.xml</path>.
|
When localizing actions and groups, the `text` and `description` attributes are not declared in <path>plugin.xml</path>.
|
||||||
Instead, those attribute values vary depending on the locale and get declared in a resource bundle.
|
Instead, those attribute values vary depending on the locale and get declared in a resource bundle.
|
||||||
|
@ -149,7 +149,7 @@ public final class ProjectService {
|
|||||||
|
|
||||||
## Sample Plugin
|
## Sample Plugin
|
||||||
|
|
||||||
To clarify how to use services, consider the **maxOpenProjects** sample plugin available in the [code samples](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/max_opened_projects).
|
To clarify how to use services, consider the **maxOpenProjects** sample plugin available in the [code samples](%gh-sdk-samples%/max_opened_projects).
|
||||||
|
|
||||||
This plugin has an application service counting the number of currently opened projects in the IDE.
|
This plugin has an application service counting the number of currently opened projects in the IDE.
|
||||||
If this number exceeds the maximum number of simultaneously opened projects allowed by the plugin (3), it displays a warning message.
|
If this number exceeds the maximum number of simultaneously opened projects allowed by the plugin (3), it displays a warning message.
|
||||||
|
@ -25,7 +25,7 @@ Click on an entry in the table's *Attribute* column to go to the documentation a
|
|||||||
The dependency on the PyCharm APIs must be declared in the <path>plugin.xml</path> file.
|
The dependency on the PyCharm APIs must be declared in the <path>plugin.xml</path> file.
|
||||||
As described in [Configuring the plugin.xml File](dev_alternate_products.md#configuring-pluginxml), the `<depends>` tags must declare `com.intellij.modules.python`.
|
As described in [Configuring the plugin.xml File](dev_alternate_products.md#configuring-pluginxml), the `<depends>` tags must declare `com.intellij.modules.python`.
|
||||||
|
|
||||||
See the SDK code sample [`pycharm_basics`](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/product_specific/pycharm_basics/) for an example configuration.
|
See the SDK code sample [`pycharm_basics`](%gh-sdk-samples%/product_specific/pycharm_basics/) for an example configuration.
|
||||||
Please note that this code sample must be imported into Gradle explicitly, as it is not included in the `_gradleCompositeBuild`.
|
Please note that this code sample must be imported into Gradle explicitly, as it is not included in the `_gradleCompositeBuild`.
|
||||||
|
|
||||||
## Available PyCharm APIs
|
## Available PyCharm APIs
|
||||||
|
@ -9,7 +9,7 @@ E.g. Spring Framework specific configuration is stored in a Spring facet.
|
|||||||
For more information about facets see [Adding Support for Frameworks and Technologies](https://www.jetbrains.com/help/idea/adding-support-for-frameworks-and-technologies.html) and the help page for the [Facets dialog](https://www.jetbrains.com/help/idea/facet-page.html) in the IntelliJ IDEA Web Help.
|
For more information about facets see [Adding Support for Frameworks and Technologies](https://www.jetbrains.com/help/idea/adding-support-for-frameworks-and-technologies.html) and the help page for the [Facets dialog](https://www.jetbrains.com/help/idea/facet-page.html) in the IntelliJ IDEA Web Help.
|
||||||
|
|
||||||
## Facet Basics Sample
|
## Facet Basics Sample
|
||||||
Please see [Facet Basics](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/facet_basics) sample plugin project.
|
Please see [Facet Basics](%gh-sdk-samples%/facet_basics) sample plugin project.
|
||||||
|
|
||||||
## Working with Facets
|
## Working with Facets
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ Sdk projectSdk = ProjectRootManager.getInstance(project).getProjectSdk();
|
|||||||
ProjectRootManager.getInstance(project).setProjectSdkName(name);
|
ProjectRootManager.getInstance(project).setProjectSdkName(name);
|
||||||
```
|
```
|
||||||
|
|
||||||
See the [project_model](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/project_model/src/main/java/org/intellij/sdk/project/model/ProjectSdkAction.java) code sample to get more familiar with SDK manipulation toolset.
|
See the [project_model](%gh-sdk-samples%/project_model/src/main/java/org/intellij/sdk/project/model/ProjectSdkAction.java) code sample to get more familiar with SDK manipulation toolset.
|
||||||
|
|
||||||
## Available SDKs
|
## Available SDKs
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ If custom icons are required, please refer to detailed [design guide](https://je
|
|||||||
|
|
||||||
## How to organize and how to use icons?
|
## How to organize and how to use icons?
|
||||||
|
|
||||||
> See [Action Basics](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/action_basics) sample plugin as reference.
|
> See [Action Basics](%gh-sdk-samples%/action_basics) sample plugin as reference.
|
||||||
>
|
>
|
||||||
{type="tip"}
|
{type="tip"}
|
||||||
|
|
||||||
|
@ -7,4 +7,4 @@ By registering actions, you can add your own menu items, toolbar buttons and key
|
|||||||
* [Creating Actions](working_with_custom_actions.md)
|
* [Creating Actions](working_with_custom_actions.md)
|
||||||
* [Grouping Actions](grouping_action.md)
|
* [Grouping Actions](grouping_action.md)
|
||||||
|
|
||||||
The source code for the [`action_basics`](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/action_basics) code sample is used throughout this tutorial.
|
The source code for the [`action_basics`](%gh-sdk-samples%/action_basics) code sample is used throughout this tutorial.
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
If an implementation requires several actions, or there are simply too many actions that overload the menu, the actions can be placed into groups.
|
If an implementation requires several actions, or there are simply too many actions that overload the menu, the actions can be placed into groups.
|
||||||
This tutorial demonstrates adding an action to an existing group, creating a new action group, and action groups with a variable number of actions.
|
This tutorial demonstrates adding an action to an existing group, creating a new action group, and action groups with a variable number of actions.
|
||||||
The sample code discussed in this tutorial is from the code sample [`action_basics`](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/action_basics).
|
The sample code discussed in this tutorial is from the code sample [`action_basics`](%gh-sdk-samples%/action_basics).
|
||||||
|
|
||||||
Some content in this tutorial assumes the reader is familiar with the tutorial for [Creating Actions](working_with_custom_actions.md).
|
Some content in this tutorial assumes the reader is familiar with the tutorial for [Creating Actions](working_with_custom_actions.md).
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ Plugins can add actions to existing IDE menus and toolbars, as well as add new m
|
|||||||
The IntelliJ Platform calls the actions of plugins in response to user interactions with the IDE.
|
The IntelliJ Platform calls the actions of plugins in response to user interactions with the IDE.
|
||||||
However, the actions of a plugin must first be defined and registered with the IntelliJ Platform.
|
However, the actions of a plugin must first be defined and registered with the IntelliJ Platform.
|
||||||
|
|
||||||
Using the SDK code sample [`action_basics`](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/action_basics), this tutorial illustrates the steps to create an action for a plugin.
|
Using the SDK code sample [`action_basics`](%gh-sdk-samples%/action_basics), this tutorial illustrates the steps to create an action for a plugin.
|
||||||
|
|
||||||
## Creating a Custom Action
|
## Creating a Custom Action
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
The IntelliJ Platform provides tools designed for static code analysis called _code inspections_, which help the user maintain and clean up code without actually executing it.
|
The IntelliJ Platform provides tools designed for static code analysis called _code inspections_, which help the user maintain and clean up code without actually executing it.
|
||||||
Custom code inspections can be implemented as IntelliJ Platform plugins.
|
Custom code inspections can be implemented as IntelliJ Platform plugins.
|
||||||
Examples of the plugin approach are the IntelliJ Platform SDK code samples [inspection_basics](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/inspection_basics) and [comparing_references_inspection](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/comparing_references_inspection).
|
Examples of the plugin approach are the IntelliJ Platform SDK code samples [inspection_basics](%gh-sdk-samples%/inspection_basics) and [comparing_references_inspection](%gh-sdk-samples%/comparing_references_inspection).
|
||||||
In addition, the comparing_references_inspection code sample demonstrates implementing a unit test.
|
In addition, the comparing_references_inspection code sample demonstrates implementing a unit test.
|
||||||
|
|
||||||
You can also create custom inspections through the IntelliJ IDEA user interface.
|
You can also create custom inspections through the IntelliJ IDEA user interface.
|
||||||
@ -14,7 +14,7 @@ See [Inspections](https://jetbrains.design/intellij/text/inspections/) topic in
|
|||||||
|
|
||||||
## Creating an Inspection Plugin
|
## Creating an Inspection Plugin
|
||||||
|
|
||||||
The [comparing_references_inspection](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/comparing_references_inspection) code sample adds a new inspection to the <control>Java | Probable Bugs</control> group in the [Inspections list](https://www.jetbrains.com/help/idea/inspections-settings.html).
|
The [comparing_references_inspection](%gh-sdk-samples%/comparing_references_inspection) code sample adds a new inspection to the <control>Java | Probable Bugs</control> group in the [Inspections list](https://www.jetbrains.com/help/idea/inspections-settings.html).
|
||||||
The inspection reports when the `==` or `!=` operator is used between Java expressions of reference types.
|
The inspection reports when the `==` or `!=` operator is used between Java expressions of reference types.
|
||||||
|
|
||||||
It illustrates the components for a custom inspection plugin:
|
It illustrates the components for a custom inspection plugin:
|
||||||
@ -46,7 +46,7 @@ See also [](explore_api.md) for more information and strategies.
|
|||||||
|
|
||||||
## Creating an Inspection
|
## Creating an Inspection
|
||||||
|
|
||||||
The [comparing_references_inspection](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/comparing_references_inspection) code sample reports when the `==` or `!=` operators are used between Java expressions of reference types.
|
The [comparing_references_inspection](%gh-sdk-samples%/comparing_references_inspection) code sample reports when the `==` or `!=` operators are used between Java expressions of reference types.
|
||||||
The user can apply a quick fix to change `a==b` to `a.equals(b)`, or `a!=b` to `!a.equals(b)`.
|
The user can apply a quick fix to change `a==b` to `a.equals(b)`, or `a!=b` to `!a.equals(b)`.
|
||||||
|
|
||||||
The details of the `comparing_references_inspection` implementation illustrate the components of an inspection plugin.
|
The details of the `comparing_references_inspection` implementation illustrate the components of an inspection plugin.
|
||||||
@ -164,7 +164,7 @@ The `comparing_references_inspection` tests run the inspection on the <path>∗.
|
|||||||
|
|
||||||
## Running the Comparing References Inspection Code Sample
|
## Running the Comparing References Inspection Code Sample
|
||||||
|
|
||||||
The [comparing_references_inspection](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/comparing_references_inspection) code sample adds a new inspection to the <control>Java | Probable Bugs</control> group in the [Inspections List](https://www.jetbrains.com/help/idea/inspections-settings.html).
|
The [comparing_references_inspection](%gh-sdk-samples%/comparing_references_inspection) code sample adds a new inspection to the <control>Java | Probable Bugs</control> group in the [Inspections List](https://www.jetbrains.com/help/idea/inspections-settings.html).
|
||||||
|
|
||||||
See [](code_samples.md) on how to set up and run the plugin.
|
See [](code_samples.md) on how to set up and run the plugin.
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<!-- Copyright 2000-2022 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-2022 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. -->
|
||||||
|
|
||||||
This topic describes the [conditional_operator_intention](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/conditional_operator_intention), a sample plugin that adds a new [intention action](https://www.jetbrains.com/help/idea/intention-actions.html) to the IDE Intentions list.
|
This topic describes the [conditional_operator_intention](%gh-sdk-samples%/conditional_operator_intention), a sample plugin that adds a new [intention action](https://www.jetbrains.com/help/idea/intention-actions.html) to the IDE Intentions list.
|
||||||
In addition, the sample plugin contains a JUnit-based test.
|
In addition, the sample plugin contains a JUnit-based test.
|
||||||
|
|
||||||
## About Intention Actions
|
## About Intention Actions
|
||||||
@ -17,7 +17,7 @@ You can view a list of all available intention actions as well as enable/disable
|
|||||||
|
|
||||||
## Techniques Used
|
## Techniques Used
|
||||||
|
|
||||||
The [conditional_operator_intention](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/conditional_operator_intention) sample plugin illustrates the use of the following techniques:
|
The [conditional_operator_intention](%gh-sdk-samples%/conditional_operator_intention) sample plugin illustrates the use of the following techniques:
|
||||||
|
|
||||||
- How to analyze a [PSI tree](psi_files.md).
|
- How to analyze a [PSI tree](psi_files.md).
|
||||||
- How to find a Java token of interest in the PSI tree.
|
- How to find a Java token of interest in the PSI tree.
|
||||||
|
@ -12,7 +12,7 @@ In this tutorial we will add support for a [.properties](https://en.wikipedia.or
|
|||||||
{type="tip"}
|
{type="tip"}
|
||||||
|
|
||||||
|
|
||||||
> The complete and fully working example plugin used in this tutorial is the [`simple_language_plugin`](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/simple_language_plugin) code sample.
|
> The complete and fully working example plugin used in this tutorial is the [`simple_language_plugin`](%gh-sdk-samples%/simple_language_plugin) code sample.
|
||||||
> See [](code_samples.md) on how to build and run it.
|
> See [](code_samples.md) on how to build and run it.
|
||||||
>
|
>
|
||||||
{type="note"}
|
{type="note"}
|
||||||
|
@ -21,7 +21,7 @@ A new overload of `createProperty()` creates a new `key`-`value` pair for Simple
|
|||||||
## Define an Intention Action
|
## Define an Intention Action
|
||||||
The `SimpleCreatePropertyQuickFix` creates a property in the file chosen by the user - in this case, a Java file containing a `prefix:key` - and navigate to this property after creation.
|
The `SimpleCreatePropertyQuickFix` creates a property in the file chosen by the user - in this case, a Java file containing a `prefix:key` - and navigate to this property after creation.
|
||||||
Under the hood, `SimpleCreatePropertyQuickFix` is an Intention Action.
|
Under the hood, `SimpleCreatePropertyQuickFix` is an Intention Action.
|
||||||
For a more in-depth example of an Intention Action, see [`conditional_operator_intention`](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/conditional_operator_intention).
|
For a more in-depth example of an Intention Action, see [`conditional_operator_intention`](%gh-sdk-samples%/conditional_operator_intention).
|
||||||
|
|
||||||
```java
|
```java
|
||||||
```
|
```
|
||||||
|
@ -12,7 +12,7 @@ For operations that require access to the PSI please see the [PSI Cookbook](psi_
|
|||||||
|
|
||||||
**See also:**
|
**See also:**
|
||||||
The following are referenced in the tutorial:
|
The following are referenced in the tutorial:
|
||||||
* The [editor_basics](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/editor_basics/) plugin code sample,
|
* The [editor_basics](%gh-sdk-samples%/editor_basics/) plugin code sample,
|
||||||
* [editor-ui-api package](%gh-ic%/platform/editor-ui-api),
|
* [editor-ui-api package](%gh-ic%/platform/editor-ui-api),
|
||||||
* Those not found in editor-ui-api package:
|
* Those not found in editor-ui-api package:
|
||||||
* [`EditorActionManager`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/editor/actionSystem/EditorActionManager.java),
|
* [`EditorActionManager`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/editor/actionSystem/EditorActionManager.java),
|
||||||
|
@ -10,7 +10,7 @@ This tutorial describes how to access information about the caret(s) in an edito
|
|||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
In this tutorial, the [editor_basics](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/editor_basics) code sample is used to explore caret positions.
|
In this tutorial, the [editor_basics](%gh-sdk-samples%/editor_basics) code sample is used to explore caret positions.
|
||||||
In particular, the **Caret Position** action added by `editor_basics` to the editor context menu is used to retrieve information about the current caret position.
|
In particular, the **Caret Position** action added by `editor_basics` to the editor context menu is used to retrieve information about the current caret position.
|
||||||
A keyboard shortcut can also initiate the action.
|
A keyboard shortcut can also initiate the action.
|
||||||
|
|
||||||
|
@ -5,13 +5,13 @@
|
|||||||
The previous tutorial [Editor Coordinate Systems](coordinates_system.md) described working with caret coordinate systems in an editor window.
|
The previous tutorial [Editor Coordinate Systems](coordinates_system.md) described working with caret coordinate systems in an editor window.
|
||||||
Caret position was discussed in terms of Logical Position, Visual Position, and Offset.
|
Caret position was discussed in terms of Logical Position, Visual Position, and Offset.
|
||||||
This tutorial introduces the Editor Action system, which handles actions activated by keystroke events in the editor.
|
This tutorial introduces the Editor Action system, which handles actions activated by keystroke events in the editor.
|
||||||
Two classes from the [editor_basics](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/editor_basics) code sample are used to illustrate:
|
Two classes from the [editor_basics](%gh-sdk-samples%/editor_basics) code sample are used to illustrate:
|
||||||
* Using an IntelliJ Platform [`EditorActionHandler`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/editor/actionSystem/EditorActionHandler.java) to manipulate a caret.
|
* Using an IntelliJ Platform [`EditorActionHandler`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/editor/actionSystem/EditorActionHandler.java) to manipulate a caret.
|
||||||
* Creating and registering a custom [`TypedActionHandler`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/editor/actionSystem/TypedActionHandler.java) to intercept keystrokes and change the document.
|
* Creating and registering a custom [`TypedActionHandler`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/editor/actionSystem/TypedActionHandler.java) to intercept keystrokes and change the document.
|
||||||
|
|
||||||
## Using an IntelliJ Platform EditorActionHandler
|
## Using an IntelliJ Platform EditorActionHandler
|
||||||
|
|
||||||
In this portion of the tutorial, the [editor_basics](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/editor_basics) code sample is used to demonstrate cloning an existing caret.
|
In this portion of the tutorial, the [editor_basics](%gh-sdk-samples%/editor_basics) code sample is used to demonstrate cloning an existing caret.
|
||||||
A custom action class will use `EditorActionManager` to access a specific `EditorActionHandler` for caret cloning.
|
A custom action class will use `EditorActionManager` to access a specific `EditorActionHandler` for caret cloning.
|
||||||
The `editor_basics` code sample adds an **Editor Add Caret** menu item to the editor context menu:
|
The `editor_basics` code sample adds an **Editor Add Caret** menu item to the editor context menu:
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ Using information about the caret, replace selected text in a document with a st
|
|||||||
The approach in this tutorial relies heavily on creating and registering actions.
|
The approach in this tutorial relies heavily on creating and registering actions.
|
||||||
To review the fundamentals of creating and registering actions, refer to the [Actions Tutorial](action_system.md).
|
To review the fundamentals of creating and registering actions, refer to the [Actions Tutorial](action_system.md).
|
||||||
|
|
||||||
Multiple examples are used from the [editor_basics](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/editor_basics) plugin code sample from the IntelliJ Platform SDK.
|
Multiple examples are used from the [editor_basics](%gh-sdk-samples%/editor_basics) plugin code sample from the IntelliJ Platform SDK.
|
||||||
It may be helpful to open that project in an IntelliJ Platform-based IDE, build the project, run it, select some text in the editor, and invoke the **Editor Replace Text** menu item on the editor context menu.
|
It may be helpful to open that project in an IntelliJ Platform-based IDE, build the project, run it, select some text in the editor, and invoke the **Editor Replace Text** menu item on the editor context menu.
|
||||||
|
|
||||||
{width="600"}
|
{width="600"}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<!-- Copyright 2000-2022 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-2022 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. -->
|
||||||
|
|
||||||
The following tutorial shows how to support a custom framework type for a project and make this framework type embedded in a project wizard as a UI component.
|
The following tutorial shows how to support a custom framework type for a project and make this framework type embedded in a project wizard as a UI component.
|
||||||
The examples in this tutorial rely heavily on the [framework_basics](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/framework_basics) code sample.
|
The examples in this tutorial rely heavily on the [framework_basics](%gh-sdk-samples%/framework_basics) code sample.
|
||||||
|
|
||||||
## Creating a New Framework
|
## Creating a New Framework
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ To learn more about building IntelliJ Platform plugins with Kotlin, this tutoria
|
|||||||
|
|
||||||
> The [IntelliJ Platform Plugin Template](github_template.md) provides a preconfigured project using Kotlin.
|
> The [IntelliJ Platform Plugin Template](github_template.md) provides a preconfigured project using Kotlin.
|
||||||
>
|
>
|
||||||
> See also [kotlin_demo](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/kotlin_demo) for a minimal sample plugin.
|
> See also [kotlin_demo](%gh-sdk-samples%/kotlin_demo) for a minimal sample plugin.
|
||||||
>
|
>
|
||||||
{type="tip"}
|
{type="tip"}
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ Please see [Third-Party Software and Licenses](https://www.jetbrains.com/legal/t
|
|||||||
|
|
||||||
Plugins using the [Gradle Build System](gradle_build_system.md) use the [Kotlin JVM Gradle plugin](https://kotlinlang.org/docs/gradle.html#targeting-the-jvm).
|
Plugins using the [Gradle Build System](gradle_build_system.md) use the [Kotlin JVM Gradle plugin](https://kotlinlang.org/docs/gradle.html#targeting-the-jvm).
|
||||||
|
|
||||||
See the <path>build.gradle.kts</path> from [kotlin_demo](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/kotlin_demo) sample plugin:
|
See the <path>build.gradle.kts</path> from [kotlin_demo](%gh-sdk-samples%/kotlin_demo) sample plugin:
|
||||||
|
|
||||||
```kotlin
|
```kotlin
|
||||||
```
|
```
|
||||||
|
@ -7,7 +7,7 @@ However, sometimes the Predefined Functions are not enough.
|
|||||||
|
|
||||||
This tutorial illustrates how to add custom functions to an IntelliJ Platform plugin and make them available for use by Live Templates.
|
This tutorial illustrates how to add custom functions to an IntelliJ Platform plugin and make them available for use by Live Templates.
|
||||||
As an example, a function is created to convert a selection to Title Case.
|
As an example, a function is created to convert a selection to Title Case.
|
||||||
Refer to the SDK code sample [`live_templates`](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/live_templates).
|
Refer to the SDK code sample [`live_templates`](%gh-sdk-samples%/live_templates).
|
||||||
|
|
||||||
## Implementing a New Function
|
## Implementing a New Function
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ Three `TitleCaseMacro` methods are of particular interest:
|
|||||||
|
|
||||||
## Adding a Live Template
|
## Adding a Live Template
|
||||||
|
|
||||||
Using the procedures previously discussed for [Template Creation](template_support.md#template-creation) and [Export the Live Template](template_support.md#export-the-live-template), add a Live Template to the [Markdown.xml](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/live_templates/src/main/resources/liveTemplates) file for the plugin.
|
Using the procedures previously discussed for [Template Creation](template_support.md#template-creation) and [Export the Live Template](template_support.md#export-the-live-template), add a Live Template to the [Markdown.xml](%gh-sdk-samples%/live_templates/src/main/resources/liveTemplates) file for the plugin.
|
||||||
The XML representation of an example Live Template using the new `titleCase` function is listed below.
|
The XML representation of an example Live Template using the new `titleCase` function is listed below.
|
||||||
|
|
||||||
There is only one variable, `TITLE`.
|
There is only one variable, `TITLE`.
|
||||||
|
@ -6,7 +6,7 @@ This tutorial illustrates how to add default Custom Live Templates to an Intelli
|
|||||||
In addition, the tutorial discusses how to export existing Live Templates, and bundle them within a plugin.
|
In addition, the tutorial discusses how to export existing Live Templates, and bundle them within a plugin.
|
||||||
Any Live Template that can be created and exported can be added to a plugin by following the Template Creation, Export, and Extension Point Registration processes.
|
Any Live Template that can be created and exported can be added to a plugin by following the Template Creation, Export, and Extension Point Registration processes.
|
||||||
|
|
||||||
This tutorial uses the SDK code sample [`live_templates`](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/live_templates).
|
This tutorial uses the SDK code sample [`live_templates`](%gh-sdk-samples%/live_templates).
|
||||||
|
|
||||||
## Template Creation
|
## Template Creation
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ The export produces a file called <path>Markdown.xml</path> with the following c
|
|||||||
|
|
||||||
The display `name` can also provide localized variants by specifying `key` and `resource-bundle` attributes additionally (2020.3 and later).
|
The display `name` can also provide localized variants by specifying `key` and `resource-bundle` attributes additionally (2020.3 and later).
|
||||||
|
|
||||||
Copy this file into the [plugin's resources folder](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/live_templates/src/main/resources/liveTemplates).
|
Copy this file into the [plugin's resources folder](%gh-sdk-samples%/live_templates/src/main/resources/liveTemplates).
|
||||||
|
|
||||||
## Implement TemplateContextType
|
## Implement TemplateContextType
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ IntelliJ Platform provides a set of standard module types.
|
|||||||
However, an application might need a module of a type that isn't supported yet.
|
However, an application might need a module of a type that isn't supported yet.
|
||||||
This tutorial shows how to register a new module type and link it to the project creation procedure and the UI.
|
This tutorial shows how to register a new module type and link it to the project creation procedure and the UI.
|
||||||
|
|
||||||
The source code for the [`module`](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/module) and [`project_wizard`](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/project_wizard) code samples is used throughout this tutorial.
|
The source code for the [`module`](%gh-sdk-samples%/module) and [`project_wizard`](%gh-sdk-samples%/project_wizard) code samples is used throughout this tutorial.
|
||||||
|
|
||||||
## Pre-Requirements
|
## Pre-Requirements
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ These series of steps show how to register and implement a simple Run Configurat
|
|||||||
Run Configurations are used to run internal and external processes from within IntelliJ Platform based products.
|
Run Configurations are used to run internal and external processes from within IntelliJ Platform based products.
|
||||||
To get familiar with the concept of a Run Configuration refer [Run/Debug Configuration](https://www.jetbrains.com/idea/help/run-debug-configuration.html) section of [IntelliJ IDEA Web Help](https://www.jetbrains.com/idea/help/intellij-idea.html)
|
To get familiar with the concept of a Run Configuration refer [Run/Debug Configuration](https://www.jetbrains.com/idea/help/run-debug-configuration.html) section of [IntelliJ IDEA Web Help](https://www.jetbrains.com/idea/help/intellij-idea.html)
|
||||||
|
|
||||||
Consider the **runConfiguration** sample plugin available in the [code samples](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/run_configuration).
|
Consider the **runConfiguration** sample plugin available in the [code samples](%gh-sdk-samples%/run_configuration).
|
||||||
See [Code Samples](code_samples.md) on how to set up and run the plugin.
|
See [Code Samples](code_samples.md) on how to set up and run the plugin.
|
||||||
|
|
||||||
## Pre-Requirements
|
## Pre-Requirements
|
||||||
|
@ -10,7 +10,7 @@ Custom Settings are displayed and function just like those native to the IDE.
|
|||||||
|
|
||||||
## Overview of Custom Settings Implementation
|
## Overview of Custom Settings Implementation
|
||||||
|
|
||||||
Using the SDK code sample [`settings`](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/settings), this tutorial illustrates the steps to create custom Application-level Settings.
|
Using the SDK code sample [`settings`](%gh-sdk-samples%/settings), this tutorial illustrates the steps to create custom Application-level Settings.
|
||||||
Many IntelliJ Platform Settings implementations use fewer classes, but the `settings` code sample factors the functionality into three classes for clarity:
|
Many IntelliJ Platform Settings implementations use fewer classes, but the `settings` code sample factors the functionality into three classes for clarity:
|
||||||
* The [`AppSettingsConfigurable`](%gh-sdk-samples%/settings/src/main/java/org/intellij/sdk/settings/AppSettingsConfigurable.java) is analogous to a Controller in the MVC model - it interacts with the other two Settings classes and the IntelliJ Platform,
|
* The [`AppSettingsConfigurable`](%gh-sdk-samples%/settings/src/main/java/org/intellij/sdk/settings/AppSettingsConfigurable.java) is analogous to a Controller in the MVC model - it interacts with the other two Settings classes and the IntelliJ Platform,
|
||||||
* The [`AppSettingsState`](%gh-sdk-samples%/settings/src/main/java/org/intellij/sdk/settings/AppSettingsState.java) is like a Model because it stores the Settings persistently,
|
* The [`AppSettingsState`](%gh-sdk-samples%/settings/src/main/java/org/intellij/sdk/settings/AppSettingsState.java) is like a Model because it stores the Settings persistently,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
This tutorial is meant to illustrate how the project tree structure view appearance can be modified programmatically.
|
This tutorial is meant to illustrate how the project tree structure view appearance can be modified programmatically.
|
||||||
|
|
||||||
This topic describes the [treeStructureProvider](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/tree_structure_provider) sample plugin.
|
This topic describes the [treeStructureProvider](%gh-sdk-samples%/tree_structure_provider) sample plugin.
|
||||||
|
|
||||||
The steps below show how to filter out and keep visible only text files and directories in the Project View Panel.
|
The steps below show how to filter out and keep visible only text files and directories in the Project View Panel.
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ This tutorial demonstrates how to write and run automated tests for a custom lan
|
|||||||
|
|
||||||
As an example, the plugin implemented in the [Custom Language Support Tutorial](custom_language_support_tutorial.md) is used to demonstrate functional test development.
|
As an example, the plugin implemented in the [Custom Language Support Tutorial](custom_language_support_tutorial.md) is used to demonstrate functional test development.
|
||||||
|
|
||||||
The plugin and test code can be found in the [simple_language_plugin](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/simple_language_plugin) code sample.
|
The plugin and test code can be found in the [simple_language_plugin](%gh-sdk-samples%/simple_language_plugin) code sample.
|
||||||
|
|
||||||
* [](tests_prerequisites.md)
|
* [](tests_prerequisites.md)
|
||||||
* [](parsing_test.md)
|
* [](parsing_test.md)
|
||||||
|
@ -82,7 +82,7 @@ If closing tabs is enabled in general, a plugin can disable closing of specific
|
|||||||
|
|
||||||
## Sample Plugin
|
## Sample Plugin
|
||||||
|
|
||||||
To clarify how to develop plugins that create tool windows, consider the **toolWindow** sample plugin available in the [code samples](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/tool_window).
|
To clarify how to develop plugins that create tool windows, consider the **toolWindow** sample plugin available in the [code samples](%gh-sdk-samples%/tool_window).
|
||||||
|
|
||||||
See [Code Samples](code_samples.md) on how to set up and run the plugin.
|
See [Code Samples](code_samples.md) on how to set up and run the plugin.
|
||||||
|
|
||||||
|
2
v.list
2
v.list
@ -6,7 +6,7 @@
|
|||||||
<var name="ijPlatform" value="2022.2"/>
|
<var name="ijPlatform" value="2022.2"/>
|
||||||
<var name="ijPlatformBuild" value="222.3345.118"/>
|
<var name="ijPlatformBuild" value="222.3345.118"/>
|
||||||
|
|
||||||
<var name="gh-sdk-samples" value="https://github.com/JetBrains/intellij-sdk-code-samples/blob/main"/>
|
<var name="gh-sdk-samples" value="https://github.com/JetBrains/intellij-sdk-code-samples/tree/main"/>
|
||||||
|
|
||||||
<var name="gh-ic" value="https://github.com/JetBrains/intellij-community/tree/idea/%ijPlatformBuild%"/>
|
<var name="gh-ic" value="https://github.com/JetBrains/intellij-community/tree/idea/%ijPlatformBuild%"/>
|
||||||
<var name="gh-ic-master" value="https://github.com/JetBrains/intellij-community/tree/master"/>
|
<var name="gh-ic-master" value="https://github.com/JetBrains/intellij-community/tree/master"/>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user