diff --git a/plugin_repository/feature_extractor.md b/plugin_repository/feature_extractor.md index 544842ee3..7b3855f4e 100644 --- a/plugin_repository/feature_extractor.md +++ b/plugin_repository/feature_extractor.md @@ -21,7 +21,7 @@ easier for the analysis, or ask JetBrains to manually add any missed feature typ ## File Type A plugin can support specific file types (file extensions). When there is a file with a specific extension open in an IDE, a hint will be shown to users prompting them to install your plugin. -You should extend [FileTypeFactory](https://github.com/JetBrains/intellij-community/blob/master/platform/platform-api/src/com/intellij/openapi/fileTypes/FileTypeFactory.java) +You should extend [FileTypeFactory](upsource:///platform/platform-api/src/com/intellij/openapi/fileTypes/FileTypeFactory.java) and feed supported file extensions in `createFileTypes(FileTypeConsumer)`. Values of `FileTypeConsumer` are analyzed by the `feature extractor`. A suggestion to install plugins which support the _\*.d_ Extension Type: @@ -33,7 +33,7 @@ Refer to [Registering a File Type](/reference_guide/custom_language_support/regi ## Run Configuration Type When you want IDEs to show that your plugin supports Run Configuration Type, you need to implement -[ConfigurationType](https://github.com/JetBrains/intellij-community/blob/master/platform/lang-api/src/com/intellij/execution/configurations/ConfigurationType.java) +[ConfigurationType](upsource:///platform/lang-api/src/com/intellij/execution/configurations/ConfigurationType.java) and implement the `getId()` method. The `feature extractor` analyzes the value of `getId()`. A suggestion to install plugins that support the *Run D App* Configuration Type: @@ -44,7 +44,7 @@ Refer to [Run Configurations](/basics/run_configurations.md) to get more informa ## Facet Type -To support a Facet Type feature you should extend [FacetType](https://github.com/JetBrains/intellij-community/blob/master/platform/lang-api/src/com/intellij/facet/FacetType.java), +To support a Facet Type feature you should extend [FacetType](upsource:///platform/lang-api/src/com/intellij/facet/FacetType.java), and pass `stringId` to its constructor. The value of the `stringId` parameter will be analyzed by the `feature extractor`. A notification to install plugins that support the *jangaroo* Facet Type: @@ -56,7 +56,7 @@ Refer to [Facet](/reference_guide/project_model/facet.md) for additional informa ## Module Type If you want IDEs to show a prompt that your plugin can support creating specific Module Types, you should extend -[ModuleType](https://github.com/JetBrains/intellij-community/blob/master/platform/lang-api/src/com/intellij/openapi/module/ModuleType.java) +[ModuleType](upsource:///platform/lang-api/src/com/intellij/openapi/module/ModuleType.java) and pass the `id` parameter for your Module Type to its constructor. The `feature extractor` will evaluate the values of `id`. See [Module](/reference_guide/project_model/module.md) and [Supporting Module Types](/tutorials/project_wizard/module_types.md) @@ -65,7 +65,7 @@ for more information about supporting Module Types. ## Artifact Type -To support specific Artifact Types, extend [ArtifactType](https://github.com/JetBrains/intellij-community/blob/master/java/compiler/openapi/src/com/intellij/packaging/artifacts/ArtifactType.java), +To support specific Artifact Types, extend [ArtifactType](upsource:///java/compiler/openapi/src/com/intellij/packaging/artifacts/ArtifactType.java), and pass an `id` parameter to its constructor. The value of the `id` parameter is analyzed by the `feature extractor`. An example suggestion to enable a plugin which supports a *dm.bundle* Artifact Type: