PowerShell ISE:禁用/删除模块浏览器

PowerShell ISE:禁用/删除模块浏览器

PowerShell ISE 版本 5.1.17763.1432,Windows 10 Enterprise 版本 1809。

如何禁用/删除不断尝试启动并显示在正确的ISE 的右侧?我不需要它,我不会使用它,而且它通常都坏了。

我尝试用 Google 搜索,结果都是关于如何使用/启用它的文章/帖子,而不是如何删除/禁用它。谢谢!

答案1

您说的是‘命令’选项卡吗?

它不叫模块浏览器。虽然有一个插件,因为它有脚本、项目等。只需查看网站的插件菜单即可。

您无法删除此插件,您可以将其设置为不显示...

$psISE.CurrentPowerShellTab.VerticalAddOnTools

Name     IsVisible Control                                                          
----     --------- -------                                                          
Commands      True Microsoft.Windows.PowerShell.Gui.Internal.ShowCommandAddOnControl

...但这并不意味着它不存在。

当然,它有一个模块下拉菜单,作为过滤器,但它与输入没有什么不同......

Show-Command # get all command just like the addon. 

或者

Show-Command -Name Get-ChildItem # get the target command only

... 直接。因此,如果您执行上述操作,则与双击该选项卡中的该命令相同。顺便说一句,没有 Show-Module cmdlet 可以执行相同的操作。

该插件只能在右侧加载,不能在左侧加载,并且是否加载/显示的设置位于“插件菜单”和工具栏中。

使用 GUI 中的“x”将其关闭,只需在 AddOns 菜单中取消选中,然后重新启动 ISE,它就不会显示,或者将代码放入 $profile 中,在加载时取消选中它。

ISE 具有可编程对象模型。请参阅提供的链接

您需要了解的是,它不仅仅是一个显示的东西,它还会告诉您某个模块、命令或功能是否可用。如果您执行隐式 PSRemote 会话(例如 Exchange、AD、SQL),以将这些命令代理到您的主机,则在您点击会话插件上的刷新按钮加载它们之前,这些命令将不可用。

因此,无论您单击什么来查找内容,它都会被使用。仅供参考,当您转到 VSCode 时,它​​也有一个这样的功能,因为人们要求它,虽然它不需要在隐式远程会话中单击“刷新”,如 ISE,但它有自己烦人的怪癖和问题。所有工具都有。

你说你看过,但是我很惊讶你没有发现这个:

# Remove ISE AddOn
# list ISE Vertical AddOn Tools
$psISE.CurrentPowerShellTab.VerticalAddOnTools

# Add on name from the list retreived above
$addOnName = 'PowerGist'

# Check you've spelled it right and remove
$exists = $psISE.CurrentPowerShellTab.VerticalAddOnTools | where { $_.Name -eq $addOnName }
if ($exists) {
    $psISE.CurrentPowerShellTab.VerticalAddOnTools.Remove($exists)
}

# verify its gone
$psISE.CurrentPowerShellTab.VerticalAddOnTools

上述操作将允许您删除除“命令选项卡”之外的所有其他插件,因为它是 ISE 的一部分,并且由于 ISE 中不再进行任何工作,因此它会永远存在。

ISE 技术参考:

• PowerShell ISE(内置编辑器) https://docs.microsoft.com/en-us/powershell/scripting/core-powershell/ise/introducing-the-windows-powershell-ise https://docs.microsoft.com/en-us/powershell/scripting/components/ise/exploring-the-windows-powershell-ise https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/powershell_ise https://docs.microsoft.com/en-us/powershell/scripting/components/ise/exploring-the-windows-powershell-ise

Using PowerShell 7 in the Windows PowerShell ISE
https://www.youtube.com/watch?v=CLolNWuICoM&feature=emb_rel_end

• Windows PowerShell ISE 脚本对象模型的用途 https://docs.microsoft.com/en-us/powershell/scripting/components/ise/object-model/purpose-of-the-windows-powershell-ise-scripting-object-model

• ISE 对象模型层次结构 - PowerShell | Microsoft Docs https://docs.microsoft.com/en-us/powershell/scripting/components/ise/object-model/the-ise-object-model-hierarchy

• ObjectModelRoot 对象 - PowerShell | Microsoft Docs https://docs.microsoft.com/en-us/powershell/scripting/components/ise/object-model/the-objectmodelroot-object

• ISEOptions 对象 - PowerShell | Microsoft Docs ISEOptions 对象表示 Windows PowerShell ISE 的各种设置。它是 Microsoft.PowerShell.Host.ISE.ISEOptions 类的一个实例。

• ISEOptions 对象提供以下方法和属性。 https://docs.microsoft.com/en-us/powershell/scripting/components/ise/object-model/the-iseoptions-object

• ISEAddOnTool 对象 - PowerShell | Microsoft Docs https://docs.microsoft.com/en-us/powershell/scripting/components/ise/object-model/the-iseaddontool-object

• 将 Exchange Shell 项目添加到 PowerShell ISE https://eightwone.com/2012/10/25/adding-exchange-shell-items-to-powershell-ise

• PowerShell ISE 对象模型概述 https://www.petri.com/overview-powershell-ise-object-model

• 使用 PowerShell ISE 编辑器对象 - Petri https://www.petri.com/using-powershell-ise-editor-object

• 使用 PowerShell ISE 中的 AddOnsMenu 属性 https://www.petri.com/using-addonsmenu-property-powershell-ise-object-model

• Windows PowerShell ISE 对象模型参考 https://forsenergy.com/en-us/windowspowershellhelp/html/e1a9e7d1-0fd5-47de-8d9b-f1be1ed13b0c.htm

• ISEFile 对象 https://docs.microsoft.com/en-us/powershell/scripting/windows-powershell/ise/object-model/the-isefile-object?view=powershell-7

• PowerShellTab 对象 https://docs.microsoft.com/en-us/powershell/scripting/windows-powershell/ise/object-model/the-powershelltab-object?view=powershell-7

更新

因此,您或其他人必须从这里下载并安装该模块浏览器到您的系统上:

https://www.microsoft.com/en-us/download/details.aspx?id=45885

或者你或者他们这样做了。

Find-Module -Name ISEModuleBrowserAddon -Force
Install-Module -Name ISEModuleBrowserAddon -Force

这不是内置命令选项卡,尽管它确实被添加到 ISE UI 的该部分。默认情况下,它不是 ISE AddOns 的一部分。那个真的不再正常工作了,ScriptBrowser、ProjectExplorer 等也一样。您只需卸载它们即可。从您的 Modules 文件夹中删除该模块,以及您的配置文件中对它的任何调用。

Import-Module -Name ISEModuleBrowserAddon

... 在 PowerShell 中执行以下操作...

Uninstall-Module -Name ISEModuleBrowserAddon -Force

相关内容