tree_structure_view.md: add EP link

This commit is contained in:
Yann Cébron 2025-04-09 16:58:37 +02:00
parent 7300730745
commit e31fe4bf1f

View File

@ -1,4 +1,4 @@
<!-- Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<!-- Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
# Modifying Project View Structure
@ -14,16 +14,6 @@ Other use cases include:
- grouping/nesting related entries, e.g., [GUI Designer](https://www.jetbrains.com/help/idea/gui-designer-basics.html) <path>.form</path> file and related bound class ([`FormMergerTreeStructureProvider`](%gh-ic%/plugins/ui-designer/src/com/intellij/uiDesigner/projectView/FormMergerTreeStructureProvider.java)).
- provide additional "nested" nodes, e.g., contents of custom archive file
## Register Custom `TreeStructureProvider`
Add new `com.intellij.treeStructureProvider` extension to the [plugin.xml](%gh-sdk-samples-master%/tree_structure_provider/src/main/resources/META-INF/plugin.xml)
```xml
<extensions defaultExtensionNs="com.intellij">
<treeStructureProvider implementation="org.intellij.sdk.treeStructureProvider.TextOnlyTreeStructureProvider"/>
</extensions>
```
## Implement Custom `TreeStructureProvider`
To provide custom Structure View behaviour, implement [`TreeStructureProvider`](%gh-ic%/platform/editor-ui-api/src/com/intellij/ide/projectView/TreeStructureProvider.java) with the nodes filtering logic in `modify()` method.
@ -35,6 +25,16 @@ The example below shows how to filter out all the Project View nodes except thos
```
{src="tree_structure_provider/src/main/java/org/intellij/sdk/treeStructureProvider/TextOnlyTreeStructureProvider.java" include-symbol="TextOnlyTreeStructureProvider"}
## Register Custom `TreeStructureProvider`
Register the implementation in <include from="snippets.topic" element-id="ep"><var name="ep" value="com.intellij.treeStructureProvider"/></include> to the [plugin.xml](%gh-sdk-samples-master%/tree_structure_provider/src/main/resources/META-INF/plugin.xml)
```xml
<extensions defaultExtensionNs="com.intellij">
<treeStructureProvider implementation="org.intellij.sdk.treeStructureProvider.TextOnlyTreeStructureProvider"/>
</extensions>
```
## Compile and Run the Plugin
See [Code Samples](code_samples.md) on how to set up and run the plugin.