If you read about Regionerate in blog posts, you are most likely to read that it is "a tool that creates regions automatically". Most people don't understand that Regionerate is primarily about Code Layout and that #region is just one display style. Currently, Regionerate has 3 types of regions - Visible, Invisible and Comment.
If you take a look at the Code Layout schema, you can see that the CreateRegion statement has an attribute called RegionStyle which accepts any of the values mentioned above.
The Visible region style is the default style which will wrap your selection with #region-#endregion, for example:
Regionerate's Public Beta was first published on DotNetKicks on June 22nd, 2007. Since then, over 15,000 people have visited the website and over 2,000 people downloaded Regionerate.
I just wanted to send a big thanks to everyone for all the kind words, suggestions and bug reports.
I'm hoping to release a stable version as soon as possible and get going with the new features of Regionerate v2.0.
If you like Regionerate, help me spread it by recommending it to your friends & colleagues.
Member leftovers are instances of a specific member type which were not already placed by a previous PutX statement. Member leftovers are placed by a PutX statement with no restricting Where statements.
For instance, A <PutFields/> statement will place all fields that weren't already placed by previous <PutFields> statements. A <PutMethods><Where><IsConstructor Equals="true"/></Where></PutMethods> will place all constructors which weren't placed by previous <PutMethods> statements. (see example at the bottom)
Take this Code Layout Snippet as an example:
<PutFields><!-- First --> <Where><Static Equals="true"/></Where> </PutFields> <PutFields/><!-- Second -->
public class WorkItem { private static string _b; private string _a; private readonly string _c; }
The first <PutFields> statement in the Code Layout snippet will place "_b" and the second <PutFields/> statement will place all the leftovers ("_a", and "_c").
How is this useful, you ask? Well, placing leftovers can help you put some order in your regions without having to specify each specific case. For example, you might want to create a region for constructors, having all the public constructors appear first followed by the rest of the constructors.
Without leftovers, the Code Layout should have looked something like:
Regionerate comes with a default Code Layout which might be suitable pour moi, but might be annoying to others. That's why I am searching for your favorite Code Layout for v1.0.
I know many of you have been playing around with the Code Layout, so if you feel comfortable with it, send it over to omer at rauchy dot net and I will add the it to the Gallery.
Before v1.0 is released, I will put a vote up, and the most popular Code Layout will become the default Code Layout for v1.0! (with acknowledgements to the creator, of course)
Contribute
I'm currently looking for good people to help me with the remaining development tasks for Regionerate v1.0. If you like Regionerate and want to be a part of it, contact me at omer at rauchy dot net.