Add "Required Experience" page

This commit is contained in:
Karol Lewandowski 2022-09-08 16:26:10 +02:00
parent edaa0c72a6
commit 325f1517ad
4 changed files with 25 additions and 5 deletions

View File

@ -23,6 +23,7 @@
</toc-element>
<toc-element toc-title="Part I — Plugins">
<toc-element id="basics.md">
<toc-element id="plugin_required_experience.md"/>
<toc-element id="types_of_plugins.md"/>
</toc-element>
<toc-element id="plugin_alternatives.md"/>

View File

@ -1,10 +1,11 @@
[//]: # (title: Quick Start Guide)
<!-- 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 contributors. Use of this source code is governed by the Apache 2.0 license. -->
This section covers the basics of working with the IntelliJ Platform.
It will familiarize you with the working environment, project structure, and frequently used API components.
* [](plugin_required_experience.md)
* [](types_of_plugins.md)
* [](plugin_alternatives.md)
* [](getting_started.md)

View File

@ -0,0 +1,22 @@
[//]: # (title: Required Experience)
<!-- Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
The IntelliJ Platform is a JVM application, implemented mostly in Java and [Kotlin](https://kotlinlang.org).
At this time, it's not possible to develop plugins for the IntelliJ Platform in non-JVM languages.
Developing a plugin for the IntelliJ Platform requires knowledge and experience with the following technologies and concepts:
- Java, Kotlin, or other JVM language, and its standard and 3rd-party libraries
- [Gradle](https://gradle.org/) or a similar build system (e.g., Maven)
- [Swing](https://en.wikipedia.org/wiki/Swing_(Java)) for building user interfaces
- [Java Concurrency Model](https://docs.oracle.com/javase/tutorial/essential/concurrency/index.html)
- experience with IntelliJ Platform-based IDE (e.g., [IntelliJ IDEA](https://www.jetbrains.com/idea/))
Please keep in mind that the IntelliJ Platform is a large project, and while we are doing our best to cover as many topics as possible, it is not possible to include every feature and use-case in the documentation.
Developing a plugin will sometimes require digging into the [Platform code](https://github.com/JetBrains/intellij-community) and analyzing the [example implementations in other plugins](https://jb.gg/ipe).
It's highly recommended to get familiar with the [](explore_api.md) section before you start the plugin implementation.
> In some cases, implementing an actual IntelliJ Platform plugin might not be necessary, as [alternative solutions](plugin_alternatives.md) exist.
>
{type="tip"}

View File

@ -33,10 +33,6 @@ Plugins can extend the platform in many ways, from adding a simple menu item to
Many of the existing IntelliJ Platform features are implemented as plugins that can be included or excluded depending on the needs of the end product.
See the [](basics.md) for more details.
The IntelliJ Platform is a JVM application, implemented mostly in Java and [Kotlin](https://kotlinlang.org).
Developing plugins for products based on the IntelliJ Platform requires experience with at least one of these languages, its standard and third party libraries, and associated tooling.
At this time, it's not possible to extend the IntelliJ Platform in non-JVM languages.
> In some cases, implementing an actual IntelliJ Platform plugin might not be necessary, as [alternative solutions](plugin_alternatives.md) exist.
>
{type="tip"}