Jakub Chrzanowski 4e802980f2
Webhelp migration (#347)
* [webhelp] Fixes for TXP00152, TXP00002, test build 27 Jul 22:26

* [webhelp] Fixes for Part #4 TXP00010, EXCEPT decimal numbers in section titles

* [webhelp] Fixes for Part #5 TXP00017

* [webhelp] Fixes for Part #4 TXP00010 - removed numbers from page section titles in "Custom Language Support Tutorial" and "Testing a Custom Language Plugin".

* [webhelp] Removed numbers from page section titles in rest of project *.md files.

* [new webhelp] Build #44 changes

* [new webhelp] Maintenance merge from master

* [new webhelp] Add placeholder file for webhelp import.

* [webhelp] Correct redirects for file name changes

* [webhelp] TOC not needed in webhelp

* [format] {:toc} not needed for webhelp

* add {:disable-links} to ensure demo links are not interpreted as real links.

* Put all badges on the same line to simplify composition.

* formatter.md: fix upsource link

* fix some links

* api_changes_list.md: remove note

* migrate to webhelp - initial

* fix GH edit URL

* remove sdkdocs-template setup in VCS config

* remove recently_updated.md

* restore COC/CONTRIBUTING.md

* api_changes_list.md: remove note

* useful_links.md: IPE

Co-authored-by: JohnHake <john.hake@jetbrains.com>
Co-authored-by: Yann Cébron <yann.cebron@jetbrains.com>
2021-01-14 16:07:39 +01:00

4.7 KiB

Introduction

WebStorm is an IntelliJ Platform-based product. Plugin projects for WebStorm can be developed using IntelliJ IDEA with the gradle-intellij-plugin.

Qualifying Open Source projects can apply for free licenses of JetBrains products.

{type="tip"}

Configuring Plugin Projects Targeting WebStorm

The configuration of WebStorm plugin projects follows the methods described in Configuring Plugin Projects using the IntelliJ IDEA Product Attribute and Configuring the plugin.xml File for PhpStorm.

The table below summarizes the gradle-intellij-plugin attributes to set in the plugin project's build.gradle file. Click on an entry in the table's Attribute column to go to the documentation about that attribute. To see how these attributes appear in a similar build.gradle file for PhpStorm, see Configuring build.gradle using the IntelliJ IDEA Product Attribute.

gradle-intellij-plugin Attribute Attribute Value
intellij.type IU for IntelliJ IDEA Ultimate.
(IC is incompatible with the required JavaScriptLanguage plugin.
intellij.version 192.7142.36 Set to the same BRANCH.BUILD as the WebStorm target version.
intellij.plugins Dependency on the JavaScriptLanguage plugin.
runIde.ideDirectory Path to locally installed target version of WebStorm. For example, for macOS:
/Users/<user name>/Library/Application Support/JetBrains/Toolbox/apps/WebStorm/ch-0/192.7142.35/WebStorm.app/Contents.

The dependency on the WebStorm APIs must be declared in the plugin.xml file. As described in Modules Specific to Functionality table, the <depends> tags must declare JavaScriptLanguage. Note that for WebStorm, the plugin.xml file must also declare a dependency on com.intellij.modules.platform because JavaScriptLanguage is not recognized as a module. Consequently, without the com.intellij.modules.platform declaration the plugin is assumed to be a legacy plugin and will not load in WebStorm.

Available WebStorm APIs

Use the Exploring APIs as a Consumer process to identify the libraries JavaScriptLanguage.jar, and javascript-openapi.jar. Test your plugin with any version of WebStorm you wish to support.

Javascript Testframework

To use existing test base classes, specify com.jetbrains.intellij.javascript:javascript-test-framework:$VERSION$ as testImplementation dependency explicitly (see IntelliJ Platform Artifacts Repositories) (2020.3 and later).

Open Source Plugins for WebStorm

When learning new plugin development it is helpful to have some representative projects for reference: