# Modifying Project View Structure Modifying Project View Tutorial. This tutorial is meant to illustrate how the project tree structure view appearance can be modified programmatically. This topic describes the [treeStructureProvider](%gh-sdk-samples-master%/tree_structure_provider) sample plugin. The steps below show how to filter out and keep visible only text files and directories in the Project View Panel. Other use cases include: - grouping/nesting related entries, e.g., [GUI Designer](https://www.jetbrains.com/help/idea/gui-designer-basics.html) .form 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 ``` ## 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. If access to indexes is not required, it can be marked [dumb aware](indexing_and_psi_stubs.md#DumbAwareAPI). The example below shows how to filter out all the Project View nodes except those which correspond to text files and directories. ```java ``` {src="tree_structure_provider/src/main/java/org/intellij/sdk/treeStructureProvider/TextOnlyTreeStructureProvider.java" include-symbol="TextOnlyTreeStructureProvider"} ## Compile and Run the Plugin See [Code Samples](code_samples.md) on how to set up and run the plugin. After going through the steps described above, you can see only text files and directories belonging to a project in the Project View. ![Text Files](text_only.png)