在新一代的PowerShell 3.0中 PowerShell ISE也带来了新的版本,很多改进是一时介绍不完的,今天先来简单介绍几点。
在新版本ISE中引入了智能感知Intellisense的功能,这一点有点类似于Visual Studio环境中的智能感知功能,当你敲入命令,接着敲入破折号时就会出发智能感知并列出部分符合的命令。如下图所示:
智能感知同时会自动显示一系列,包括属性,方法的类型列表。
我们只需要按Tab或者Enter键盘就能选取了,那么当智能感知功能消失的时候我们又有什么办法来触发该功能呢?其实很简单,只需要按Alt+Space键就可以触发了。
在ISE中同时也增加了新的帮助文档界面,按F1触发,可以设置各种标签。界面相当清爽,明了, 如图:
对于编辑器,也大大的增强了,开发者可以自定义颜色,格式模版。
关于Snippets
在ISE中有3种Snippets:
1、默认基于ISE的Snippets
2、基于用户自定义的Snippets
3、基于模块的Snippets
我们可以通过ISE自带的New-Snippet命令来自定义Snippets
New-Snippet -Title "Snippets by Anders" -Description "Shows User-Defined Snippets" -Text "Get-Alias" -CaretOffset 5
我们添加了一个标题名为Snippets by Anders的Snippet如图:
最后我们使用Get-Snippet命令来查看下目前有哪些Snippets是除系统默认以外我们所拥有的?
最后我们来谈谈关于自定义ISE和扩展ISE功能,这里我们可以借助ISE所提供的默认变量环境$PSISE来扩展,举个例子:
我们想关于位于脚本编辑器板块的智能感知功能:
$psise.Options.ShowIntellisenseInScriptPane = $false
关于使用enter键来选择智能感知项的功能:
$psise.Options.UseEnterToSelectInScriptPaneIntellisense = $false
在$PSISE下包含了许多功能快方法:
TypeName: Microsoft.PowerShell.Host.ISE.ObjectModelRoot
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
CurrentFile Property Microsoft.PowerShell.Host.ISE.ISEFile CurrentFile {get;}
CurrentPowerShellTab Property Microsoft.PowerShell.Host.ISE.PowerShellTab CurrentPowerShellTab {get;}
CurrentVisibleHorizontalTool Property Microsoft.PowerShell.Host.ISE.ISEAddOnTool CurrentVisibleHorizontalTool {get;}
CurrentVisibleVerticalTool Property Microsoft.PowerShell.Host.ISE.ISEAddOnTool CurrentVisibleVerticalTool {get;}
Options Property Microsoft.PowerShell.Host.ISE.ISEOptions Options {get;}
PowerShellTabs Property Microsoft.PowerShell.Host.ISE.PowerShellTabCollection PowerShellTabs {get;}
我们可以用它来修改我们的tab,编辑器功能,添加菜单选项等等。不得不说新一代的ISE与上一代相比大大增强了,或许相比第三方编辑器还存在少许不完善的地方,但是仅此而已已经足够开发人员的日常使用了。
今后的文章我们会继续深入介绍关于ISE的一些功能。