微软在推出PS的同时,没有忘记其一贯的作风,什么东东都弄一个IDE环境,这不微软没有忘记给PS也来一个IDE的环境,

通过这个IDE环境,可以建立psl文件,可以调试psl文件。

1、IDE界面

  我们看一下IDE环境的界面:

如图所示: IDE环境被分成了三个窗格,这个窗格的布局可以自定义。其中左上角的窗格是输出窗格,在IDE中执行的结果

通过它输出;左下角的窗口是交互窗格,也叫做命令窗格,可以在里面输入要执行的命令,同时这个窗格还会提示当前的工作路径,

上图的工作路径是:C:\users\vol_20120330,这个路径是我计算机当前用户的家目录(home directory);右边的窗格用来创建

psl文件,如图我键入了一条简单的命令:get-command,这个窗格也成为脚本窗格。

2、切换不同的窗格样式

通过视图菜单可以切换不同的窗格布局风格,还可以通过工具栏切换,具体就不切换了,可以打开PS ISE自己试试。

3、调试功能

  编辑完脚本代码后可以通过运行它来查看结果,这可以通过调试菜单的命令来完成。如下图所示:

  通过上图可以看出,PS ISE支持断点调试功能,这个弥补了以前脚本调试不容易的缺点,在CMD中执行脚本的

时候,需要通过特殊的方法才能获取一般的调试信息,在PS中这个功能得到了加强。

4、运行脚本

  IDE环境中运行脚本主要有三种方法: 调试菜单、快捷键F5、工具栏的运行按钮,这个按钮和微软其他的IDE环境的按钮

形状一样,就是一个绿色的三角形;下图是执行上图的脚本文件的运行结果:

  当然还可以在命令窗格中执行脚本,但是这样不太方便,需要提供脚本的执行路径。

5、调整字体

  几个窗格中默认的字体比较小,看起来不舒服,IDE环境提供了放大缩小字体的功能,可以通过菜单和快捷键的方式来设置字体的大小

快捷键为:

Ctrl -  +  增大字体

    Ctrl -  -   减小字体

6、调试功能

  调试主要通过断点来实现,同时还会提供调试信息。

1)查看调试信息

  当命令运行错误的时候,ISE会提供与PS console中一样的错误信息。如下图

  如上图: 输出窗格中的红色字体就是错误信息,这个提示信息明确的指出了错误的类型和错误的位置。具体的错误信息意义很明了

这里就不加解释了。

  2)插入/删除断点

  ISE支持断点调试,可以插入和删除断点;如图所示。

  熟悉微软其他IDE环境的人都熟悉以一个圆圈表示的断点,这里ISE做了一个较大的改进,当插入断点的时候;断点处用高亮的颜色

来表示,方便人来查看断点,不像圆圈断点,断点多了很难分辨。

  3)断点调试输出

  插入断点后,点击运行或者执行F5命令,就可以调试了;如图所示:

  执行到断点处,脚本停止运行;同时脚本窗口断点处的颜色会进行改变,这样在很多断点的时候,就能清楚的知道运行到那个

位置了; 此时命令窗格发生了变化, 如上所示,命令窗格的标题栏出现了[dbg]:,表示目前处于调试模式,而且输出提示符变成了

“>>>”这样的形式; 同时输出窗格也会提示断点调试的位置。

  4)调试

  为了演示调试过程,我在脚本中加入了一句命令,同时启动调试模式,如下图:

  可以看到,脚本运行到断点就停止,这时我们可以通过在命令窗格中输入命令来获取当前会话中的一些信息,或者来

获取脚本变量对象的值,如下图所示:

  输入上面的命令,然后回车就会得到如下的输出:

  

  

  通过这个调试器,可以方便的调试自己的脚本,可以大大的加快脚本开发的效率和准确性,同时也可以加深PS运行的理解;

复杂的调试技术这里就不再说了,有兴趣的朋友可以自己试试。

  今天,发现园子的博客功能进行了一项功能改进:自动保存; 感觉这个不错,可以方便一次写不完,然后再次接着写,这样

就不用有时为了写完而弄到很晚了。

PowerShell_零基础自学课程_3_如何利用Powershell ISE调试PS脚本的更多相关文章

  1. PowerShell_零基础自学课程_5_自定义PowerShell环境及Powershell中的基本概念

    PowerShell_零基础自学课程_5_自定义PowerShell环境及Powershell中的基本概念 据我个人所知,windows下的cmd shell除了能够通过修改系统参数来对其中的环境变量 ...

  2. PowerShell_零基础自学课程_6_PS中获取帮助信息详解、管道、格式化输

    前些文章陆续的说了一些关于这些主题,但是讨论的都不够深入,今天我们深入的了解一下获取帮助信息.管道以及格式化输出的内容. 一.获取帮助信息 在PS中获取帮助信息,最常用的有: -? .get-comm ...

  3. PowerShell_零基础自学课程_1_初识PowerShell

    欢迎转载本系列文章:转载请注明出处:www.cnblogs.com/volcanol 自从微软推出.Net以来,微软旗下的windows体系就发生了很大的变化,首先是操作系统的界面的变化,例如vist ...

  4. PowerShell_零基础自学课程_9_高级主题:静态类和类的操作

    上次我们说到了,wmi对象和com组件,今天我们继续来看PS中对象的相关内容.主要说一下静态对象和对象的基本操作. 一.静态对象 在PS中有一类特殊的对象,我们不能同过这些类创建新的对象,这些类是不能 ...

  5. PowerShell_零基础自学课程_8_高级主题:WMI对象和COM组件

    本系列文章从最初的初识开始,基本上可以完成一些简单的系统管理了,为了更方便的管理系统,同时为了更好的发掘系统的性能,就需要用到系统提供 的一些高级特性,在Windows Server系列的OS中,如果 ...

  6. PowerShell_零基础自学课程_2_Powershell与Cmd以及Unix/Linux Shell

    上篇文章我说道,windows为了改变用户对其console界面的诟病,于是就从windows   vista开始,计划要改变这种局面,于是就有 了Powershell的出现. 1.兼容shell命令 ...

  7. 月薪12k的零基础自学前端必备手册

    随着互联网的深入发展,前端开发工程师一跃成为市场上非常抢手的人才.很多同学,包括以前做UI的.Java的.或者对于IT完全零基础的同学都想学习前端.下图是网上流传甚广的一张前端学习思维导图,很多初学者 ...

  8. 2019年最新超级有趣好玩的html+css网页布局课程,前端入门基础,html5+css3零基础入门课程-黑马程序员pink老师精心录制

    大家好,我是黑马程序员pink老师!! 本次视频是前端零基础入门的课程,pink老师采取有趣好玩讲法,带你快乐的学习枯燥的html+css知识,学完之后让你能快速布局pc端页面.代码也可以讲的好玩有趣 ...

  9. 零基础自学用Python 3开发网络爬虫

    原文出处: Jecvay Notes (@Jecvay) 由于本学期好多神都选了Cisco网络课, 而我这等弱渣没选, 去蹭了一节发现讲的内容虽然我不懂但是还是无爱. 我想既然都本科就出来工作还是按照 ...

随机推荐

  1. android 无法生成R文件的原因剖析

    android 无法生成R文件 是件痛苦的事情,即使有时候你xml文件没有错误,他都无法生成.针对此问题,我总结以下几个方面的原因. 一.xml本身有错误 R.java这个文件是会自动生成的,但是如果 ...

  2. NOI2011 兔农

    http://www.lydsy.com/JudgeOnline/problem.php?id=2432 感觉是day1中最难的一题,还好出题人很良心,给了75分部分分. 还是跪拜策爷吧~Orz ht ...

  3. AIR检测网络

    package com.juyou.util.net { import flash.events.StatusEvent; import flash.net.URLRequest; import ai ...

  4. jtree(选择框)

    jtree一般的用法是: 1. 展示电脑中文件的层次结构,如图所示. 具体的代码: package jtree; import java.io.File; import javax.swing.JTr ...

  5. (2)自己写一个简单的servle容器

    自己写一个简单的servlet,能够跑一个简单的servlet,说明一下逻辑. 首先是写一个简单的servlet,这就关联到javax.servlet和javax.servlet.http这两个包的类 ...

  6. 终极二分查找--传说十个人写九个有bug

    之前写过一篇极为罗嗦的二分查找,非常得意地以为以后就可以避免踩坑了,但是今天才知道二分查找可以写的既简洁又鲁棒,唉!还是要多学习啊! 给一个按照从大到小的顺序排序好的数组a[]={1,2,3,4,7, ...

  7. VC++中的类的内存分布(上)

    0.序 目前正在学习C++中,对于C++的类及其类的实现原理也挺感兴趣.于是打算通过观察类在内存中的分布更好地理解类的实现.因为其实类的分布是由编译器决定的,而本次试验使用的编译器为VS2015 RC ...

  8. global.asax?app.config?webconfig??

    一.Global.asax 1.global.asax是什么? 一个文本文件,至于它包含写什么内容?顾名思义,global 肯定是掌管一个应用程序(application)的全局性的东西,例如应用程序 ...

  9. 马士兵 Servlet & JSP(1) Servlet (源代码)

    1.HTTP协议基础测试(获取页面源代码) import java.io.BufferedReader; import java.io.IOException; import java.io.Inpu ...

  10. <s:iterator> 序号

    <s:iterator />的序号,解决这个问题有两种办法. 方法一:通过set标签实现: <s:set name="a" value=1/> <s: ...