mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-28 01:07:49 +08:00
remove "Plugin" from headings under "Plugin Structure"
This commit is contained in:
parent
93ea61ab0d
commit
89fb1126bd
@ -1,4 +1,4 @@
|
||||
[//]: # (title: Plugin Actions)
|
||||
[//]: # (title: Actions)
|
||||
|
||||
<!-- Copyright 2000-2021 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. -->
|
||||
|
||||
@ -14,4 +14,4 @@ Subgroups of the group can form submenus of a menu.
|
||||
|
||||
The user can customize all registered actions via [Menus and Toolbars](https://www.jetbrains.com/help/idea/customize-actions-menus-and-toolbars.html) settings.
|
||||
|
||||
Please see [Action System](basic_action_system.md) on how to create and register actions in the IDE.
|
||||
Please see [Action System](basic_action_system.md) on how to create and register actions in the IDE.
|
||||
|
@ -1,4 +1,4 @@
|
||||
[//]: # (title: Plugin Class Loaders)
|
||||
[//]: # (title: Class Loaders)
|
||||
|
||||
<!-- Copyright 2000-2021 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. -->
|
||||
|
||||
@ -22,4 +22,4 @@ For this to work in a plugin, the context class loader must be set to the plugin
|
||||
} finally {
|
||||
Thread.currentThread().setContextClassLoader(current);
|
||||
}
|
||||
```
|
||||
```
|
||||
|
@ -1,4 +1,4 @@
|
||||
[//]: # (title: Plugin Components)
|
||||
[//]: # (title: Components)
|
||||
|
||||
<!-- Copyright 2000-2021 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. -->
|
||||
|
||||
|
@ -47,4 +47,4 @@ All jars from the <path>/lib</path> folder are automatically added to the classp
|
||||
├── plugin.xml
|
||||
├── pluginIcon.svg
|
||||
└── pluginIcon_dark.svg
|
||||
```
|
||||
```
|
||||
|
@ -1,4 +1,4 @@
|
||||
[//]: # (title: Plugin Dependencies)
|
||||
[//]: # (title: Dependencies)
|
||||
|
||||
<!-- Copyright 2000-2021 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. -->
|
||||
|
||||
@ -13,7 +13,7 @@ For more information about dependencies on the IntelliJ Platform modules, see Pa
|
||||
To express dependencies on classes from other plugins or modules, perform the following three required steps:
|
||||
|
||||
## Locating Plugin ID and Preparing Sandbox
|
||||
A compatible version must be chosen carefully according to the plugin's [compatibility](build_number_ranges.md).
|
||||
A compatible version must be chosen carefully according to the plugin's [compatibility](build_number_ranges.md).
|
||||
|
||||
For plugins published on [JetBrains Plugins Repository](https://plugins.jetbrains.com)
|
||||
- open plugin's detail page
|
||||
@ -26,16 +26,16 @@ If the plugin is not bundled with the target IDE, run the (sandbox) [IDE Develop
|
||||
|
||||
## Project Setup
|
||||
Depending on the chosen development workflow (Gradle or DevKit), one of the two following steps is necessary.
|
||||
|
||||
|
||||
<tabs>
|
||||
<tab title="Gradle">
|
||||
|
||||
|
||||
> Please see the `plugins` attribute [gradle-intellij-plugin: Configuration](https://github.com/JetBrains/gradle-intellij-plugin#configuration) for acceptable values.
|
||||
>
|
||||
{type="note"}
|
||||
|
||||
If the project uses [Gradle](gradle_build_system.md) with a Groovy build script to build the plugin, add the dependency to the `plugins` parameter of the `intellij` block in your <path>build.gradle</path>, for example:
|
||||
|
||||
|
||||
<path>build.gradle</path>
|
||||
```groovy
|
||||
intellij {
|
||||
@ -100,9 +100,9 @@ In this case, the plugin will load even if the plugin it depends on is not insta
|
||||
Declare additional `optional="true"` and `config-file` attribute pointing to optional plugin descriptor file:
|
||||
|
||||
```xml
|
||||
<depends optional="true" config-file="myPluginId-optionalPluginName.xml">dependency.plugin.id</depends>
|
||||
<depends optional="true" config-file="myPluginId-optionalPluginName.xml">dependency.plugin.id</depends>
|
||||
```
|
||||
|
||||
|
||||
> Additional plugin descriptor files must follow the naming pattern <path>myPluginId-$NAME$.xml</path> resulting in unique filenames to prevent problems with classloaders in tests ([Details](https://youtrack.jetbrains.com/issue/IDEA-205964)).
|
||||
>
|
||||
{type="note"}
|
||||
|
@ -1,4 +1,4 @@
|
||||
[//]: # (title: Plugin Extension Points)
|
||||
[//]: # (title: Extension Points)
|
||||
|
||||
<!-- Copyright 2000-2021 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. -->
|
||||
|
||||
@ -39,7 +39,7 @@ Then insert a child element `<extensionPoint>` that defines the extension point
|
||||
</idea-plugin>
|
||||
```
|
||||
|
||||
The `name` attribute assigns a unique name for this extension point.
|
||||
The `name` attribute assigns a unique name for this extension point.
|
||||
Its fully qualified name required in [Using Extension Points](#using-extension-points) is built by prefixing `<id>` + `.`: `my.plugin.myExtensionPoint1` and `my.plugin.myExtensionPoint2`.
|
||||
|
||||
The `beanClass` attribute sets a bean class that specifies one or several properties annotated with the [`@Attribute`](upsource:///platform/util/src/com/intellij/util/xmlb/annotations/Attribute.java) annotation.
|
||||
@ -142,4 +142,4 @@ Extension points matching these conditions can then be marked as _dynamic_ by ad
|
||||
```
|
||||
|
||||
> All non-dynamic extension points are highlighted via <control>Plugin DevKit | Plugin descriptor | Plugin.xml dynamic plugin verification</control> inspection available in IntelliJ IDEA 2020.1 or later.
|
||||
> Previous versions also highlight the `dynamic` attribute as "experimental".
|
||||
> Previous versions also highlight the `dynamic` attribute as "experimental".
|
||||
|
@ -1,4 +1,4 @@
|
||||
[//]: # (title: Plugin Extensions)
|
||||
[//]: # (title: Extensions)
|
||||
|
||||
<!-- Copyright 2000-2021 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. -->
|
||||
|
||||
@ -18,12 +18,12 @@ There are more than 1000 extension points available in the platform and the bund
|
||||
## Exploring Available Extensions
|
||||
|
||||
[Extension Point List](extension_point_list.md) contains all available extension points in IntelliJ Platform and from bundled plugins in IntelliJ IDEA.
|
||||
Additionally, dedicated Extension Point Lists specific to IDEs are available under _Part VIII - Product Specific_.
|
||||
Additionally, dedicated Extension Point Lists specific to IDEs are available under _Part VIII - Product Specific_.
|
||||
Browse usages inside existing implementations of open-source IntelliJ Platform plugins via [IntelliJ Platform Explorer](https://jb.gg/ipe).
|
||||
|
||||
Alternatively (or when using 3rd party extension points), all available extension points for the specified namespace (`defaultExtensionNs`) can be listed using auto-completion inside the `<extensions>` block in <path>plugin.xml</path>.
|
||||
Use <menupath>View | Quick Documentation</menupath> in the lookup list to access more information about the extension point and implementation (if applicable).
|
||||
See [Explore the IntelliJ Platform API](explore_api.md) for more information and strategies.
|
||||
See [Explore the IntelliJ Platform API](explore_api.md) for more information and strategies.
|
||||
|
||||
## Declaring Extensions
|
||||
|
||||
@ -68,7 +68,7 @@ The following properties are available always:
|
||||
- `id` - unique ID
|
||||
- `order` - allows to order all defined extensions using `first`, `last` or `before|after [id]` respectively
|
||||
- `os` - allows restricting extension to given OS, e.g., `os="windows"` registers the extension on Windows only
|
||||
|
||||
|
||||
If an extension instance needs to "opt out" in certain scenarios, it can throw [`ExtensionNotApplicableException`](upsource:///platform/extensions/src/com/intellij/openapi/extensions/ExtensionNotApplicableException.java) in its constructor.
|
||||
|
||||
### Extension Properties Code Insight
|
||||
|
@ -1,4 +1,4 @@
|
||||
[//]: # (title: Plugin Listeners)
|
||||
[//]: # (title: Listeners)
|
||||
|
||||
<!-- Copyright 2000-2021 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. -->
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
[//]: # (title: Plugin Services)
|
||||
[//]: # (title: Services)
|
||||
|
||||
<!-- Copyright 2000-2021 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. -->
|
||||
|
||||
@ -53,7 +53,7 @@ To register a non-[Light Service](#light-services), distinct extension points ar
|
||||
* `com.intellij.applicationService` - application level service
|
||||
* `com.intellij.projectService` - project level service
|
||||
* `com.intellij.moduleService` - module level service (not recommended, see Note above)
|
||||
|
||||
|
||||
To expose service API, create separate class for `serviceInterface` and extend it in corresponding class registered in `serviceImplementation`.
|
||||
If `serviceInterface` isn't specified, it's supposed to have the same value as `serviceImplementation`.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user