官方的IDE Windows PowerShell ISE是支持调试的。但从PowerShell6.0开始,微软改变了战略计划,PowerShell支持跨平台更名为Powershell Core了。而且安装包中不再带ISE了。我们编写脚本的时候和写程序一样可能会发生问题,如果只使用Write-Host输出信息来调试也太Low了。所以支持脚本调试的IDE就很关键了。
之前一直介绍IDea的PowerShellPlus工具,理论上它也是支持调试的。但用了半天也没加上断点。估计还是用得不太熟练。好在现在的工具足够多,我也安装了好几个IDE。这里给大家推荐一个不错的PowerShell脚本高度工具PowerGUI。
以我上次写的那个批量去文件名中括号的PowerShell脚本为例子。启动PowerGui,打开脚本后。UI界面如下:
在代码编辑区行号前面双击鼠标左键就会创建一个断点(如图我在21行创建了一个断点)。当我们打开脚本的时候,UI右侧的变量区域已经列出了一些常用变量,比如脚本参数的默认值DirPath也显示在右侧了。
然后我们按键盘的F5键或者点击工具栏上的绿色右三角形按钮,脚本开始运行,并且停止在我们设置断点的位置(脚本第21行)
并且右面的变量区域又多了几个系统变量。但这时由于未对变更i赋值。所以右侧没有变量i。
我们键盘按F10(跳出)或者F11(逐语句)或者点击工具栏上对应的按钮(四方形蓝色停止按钮右边的三个按钮分析对应键盘F11,F10和Shift+F11按键),这时运行到下一行,变量i赋值为1。如下图
是不是和使用Eclipse调试Java代码,使用Visualt Studio调试C#一样简单,这样方便发现脚本的错误并及时修正再调试。