当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 区域统治 PowerShell ISE

作者:精品下载站 日期:2024-12-14 07:47:29 浏览:15 分类:玩电脑

区域统治 PowerShell ISE


每当我教授 PowerShell 并开始谈论 PowerShell ISE 时,我都会鼓励人们养成使用区域的习惯。区域可以帮助您组织代码并在不需要分散注意力时将其隐藏。我认为如果您要创建具有多个函数定义的模块文件,区域特别有用。对于那些不知道某个区域是什么样子的人来说,这是一组区分大小写的注释,并且需要全部小写。

#region
#endregion

无论您在其间放置什么代码,都将被折叠。

[玩转系统] 区域统治 PowerShell ISE

[玩转系统] 区域统治 PowerShell ISE

但是,您可以通过在关键字区域后添加文本来使区域具有描述性。

[玩转系统] 区域统治 PowerShell ISE

当您折叠该区域时,您仍然可以看到描述。因为我喜欢使用区域,所以我整理了一个简单的函数,您可以在 PowerShell ISE 中使用它来自动化该过程。

Function New-ISERegion {
[cmdletbinding()]
Param(
[Parameter(Position = 0,HelpMessage = "Enter text for the region")]
[string]$Text
)

$newRegion = @"

#region $Text


#endregion

"@

#insert into the current file

$psise.CurrentFile.Editor.InsertText($NewRegion)

} #end New-ISERegion

Set-Alias -Name nr -Value New-ISERegion

我还定义了一个别名以使其更加容易。在 ISE 中加载后,假设我的光标位于要添加区域的位置,我可以键入以下命令:

[玩转系统] 区域统治 PowerShell ISE

并得到这个结果:

[玩转系统] 区域统治 PowerShell ISE

最终我会将其纳入我的 ISE ScriptingGeek 项目中。但现在,您可以使用如下代码将其添加到 ISE 附加组件菜单:

$action = {
Add-Type -AssemblyName "microsoft.visualbasic"
$mytext = [Microsoft.VisualBasic.Interaction]::InputBox("Enter a region description","New Region")
New-ISERegion $mytext
}

$psise.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("Insert a region",$action,$null)

[玩转系统] 区域统治 PowerShell ISE

我添加了一些额外的代码,以便您可以获得 GUI 提示,以便当您单击插入区域时:

[玩转系统] 区域统治 PowerShell ISE

[玩转系统] 区域统治 PowerShell ISE

如果您单击“取消”或不输入任何内容,您仍然会得到一个区域,但没有任何描述。

您可以在新项目开始时使用此工具,通过检查并概述需要通过区域完成的任务。完成后,您的代码就会被组织起来,甚至部分记录下来。

享受!

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯