Search code examples
netbeanscode-regions

Can you set some sort of custom code folding in Netbeans like in Visual Studio


When working on C#, I often do this:

#region Properties
  public int Property1{get;set;}
  ...(more properties)
#endregion

This makes Visual Studio add the option to fold the code inside the region. Offcourse, you can use regions for anything, it's not limited to Properties or anything at all.

I'm wondering 2 things:

  1. Is this just something to make Visual Studio add code folding to an area of the editor or does it affect the compiler?
  2. Can I do something similar in Netbeans?

Solution

    1. (In Netbeans at least) It is purely a programmer aid and has no effect on compilation
    2. Yes you can:

    Can I Create Custom Code Folds?

    Apart from usual folds, you can define custom folds. To add your custom fold, type in two special comments as shown in this example:

    // <editor-fold>
       Your code goes here...
    // </editor-fold>
    

    You may define the default description of a collapsed fold by adding a "desc" tag:

    // <editor-fold desc="This is my super secret genius code.">
       Your code goes here...
    // </editor-fold>
    

    You may set a fold to be collapsed by default by adding a "defaultstate" tag:

    // <editor-fold defaultstate="collapsed">
       Your code goes here...
    // </editor-fold>
    

    Please note that the above examples are for java language. In other languages custom folds may not be supported or you may have to use different characters for marking line comments. Also <editor-fold/> element syntax is not a real XML, we use a simple regex to find your custom folds in a document, which means that there are limitations in the syntax. The most important one is that attributes may only be combined in this specific order: defaultstate, desc.