User Rating: 0 / 5

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive
 

Whether you're writing a script or reading one, you want to keep your environment as simple and uncluttered as possible. You want to display only what you need to see and eliminate everything else. The Expand and Collapse features in PowerShell Studio let you do just that -- with simple hotkeys and configurable settings.

In this blog, I show how to configure and use the Expand and Collapse features of PowerShell Studio and how to use regions to organize the code in your scripts.

How to Expand and Collapse

By default, everything in a script is visible to you. But, when you need less clutter, collapse what you don't want to see.

  • To collapse a particular region, comment block, or script block selectively, click the minus sign at the top of the block.

image001

  • To expand a collapsed region, click the plus sign beside the block header.

image003

 

And, best of all...

  • To collapse all regions, click Ctrl + <minus> (Ctrl + - ).
  • To expand all regions, click Ctrl + <plus> (Ctrl + + ).

 

What's a Region?

The things that expand and collapse in PowerShell Studio are called regions. By default, PowerShell Studio automatically creates a collapsible region for:

  • Comment blocks (<# ... #>), including comment-based help
  • Multiline script blocks, including nested script blocks

image005

 

And, you can create a custom region for any text or code in a file.

 

Use Regions to Organize Scripts

I often use regions to organize my code. For example, in a PowerShell GUI app script, I like to group the code that supports a feature, including script-scoped variables, event handlers, and functions. So, I create a region for it.

  • To create a region by selecting, select the code and, on the Home tab, in the Edit group, click Regions, then click Create Region (Ctrl + Shift + G).

               image007

 

PowerShell Studio adds the region and lets you name it. Now, it's easy to expand and collapse.

image009

 

You can also create a region manually.

  • To create a region manually, on a blank line, type #region and an optional region name. At the end of the region, type #endregion. There are #region and #endregion snippets, too.

image011

 

Here's an almost 800-line script collapsed into regions for easy viewing. This is a great aid for me and for people reviewing my code, maintaining it, and adding features to it.

image013

 

Configuring Expand and Collapse

Like almost everything in PowerShell Studio, you can configure the expand and collapse features. You can enable and disable them, open scripts expanded or collapsed, and determine the elements that expand and collapse when you expand and collapse all elements.

By default, when you Expand All (Ctrl + <plus>) or Collapse All (Ctrl + <minus), regions and comment blocks expand and collapse. But, you can add Script Blocks to the set and enable and disable each element type.

 

To determine which elements expand and collapse:

  • Click Home and, in the Edit group, click Regions, point to Include, and the click to toggle the Comments, Regions, and Script Block elements on and off.

image015

 

To determine whether regions are expanded or collapsed when the script opens:

  • Click Home, in the Windows group, click Options, click Editor, and then toggle Collapse regions on load.

image016

 

To disable expand and collapse and eliminate all code folding regions:

  • Click Home, in the Windows group, click Options, click Editor, and then uncheck Enable code folding.

 

Regions are a fantastic organizing tool. I like my regions collapsed on load, but I waffle between including and excluding Script Blocks from my collapse. Fortunately, PowerShell Studio lets me do that. Try this feature and let me know what you think.

June Blender is a technology evangelist at SAPIEN Technologies, Inc. and a Microsoft Cloud and Datacenter MVP. You can reach her at This email address is being protected from spambots. You need JavaScript enabled to view it. or follow her on Twitter at @juneb_get_help.

If you have questions about our products, please post in our support forum.
For licensed customers, use the forum associated with your product in our Product Support Forums for Registered Customers.
For users of trial versions, please post in our Trial Software Questions forum.
Copyright © 2017 SAPIEN Technologies, Inc.