General Metadata—View

<view> [optional] specifies what to show in the Projects tab, in the intended order. Entries may be

<source-folder style="packages">
    <label>Sources</label>
    <location>${src.dir}</location>
</source-folder>
        

Shows a package list view of ${src.dir}, labelled Sources. (The label is optional; just defaults to folder name without path.)

<source-folder style="tree">
    <label>Docs</label>
    <location>docs</location>
</source-folder>
        

Shows the subdir docs in a plain tree. Again the label is optional.

<source-folder style="packages">
    <label>Sources</label>
    <location>${src.dir}</location>
    <includes>${my.packages}</includes>
</source-folder>
        

(NetBeans 6.0+ only, with /2 namespace.) Shows a package list view of ${src.dir}. Only classes matching the pattern given by ${my.packages} (Ant format) will be shown. Similar to includes and/or excludes in source-folder.

<source-folder style="subproject">
    <location>mylib</location>
</source-folder>
        

(NetBeans 6.0+ only.) Shows a node corresponding to the project located at mylib. The user can open that project from the context menu. (The label is optional, defaulting to the project's display name.) See also subprojects.

<source-file>
    <label>Build Script</label>
    <location>build.xml</location>
</source-file>
        

Shows build.xml. Again the label is optional (defaults to file name without path).

After view items you may specify project-specific context menu items for the project’s root node:

<context-menu>
    <ide-action name="build"/>
    <ide-action name="clean"/>
    <ide-action name="rebuild"/>
    <separator/>
    <action>
        <!-- optional: <script>build.xml</script -->
        <label>Format Sources</label>
        <target>jalopy</target>
        <!-- optional: <property name="…">…</property> -->
    </action>
</context-menu>
        

The <ide-action>s must refer to context-free predefined actions:

General Metadata—Actions

For the rest you can specify an action inline by just giving a label and an Ant target.